여러가지 시도를 해보고 난 후 어플의 정석을 알게 되었다.
 

* 랭킹 OX퀴즈
간단한 퀴즈를 풀 수 있고 자신의 전체순위를 볼수 있도록 구현하였다. 별로 어려운건 없었다. 단지 디자인 하는게 짜증이 났다. 그래도 했다. 그래서 더더욱 내가 마니 쓴다. ㅋ
앞으론 내가 마니 쓰는 어플을 개발해야 겠다.
- 마켓에서 '랭킹 ox퀴즈' 검색하면 따운을 받을 수 있다.
 

 * QR Code Convert
간단한 정보를 QR코드로 쉽게 변환시켜주는 어플이다. 단지 내가 만든 목적은 발표용으로 그닥 만들게 없어서 만든것이다. 별로 신경도 안써서 만들어서 그런지 마음에도 안든다. 지금은 업그레이드가 되어서 단축URL 기능도 있지만 그것도별로 마음에 안든다.
- 마켓에서 'QR CODE CONVERT' 라고 검색하면 받을 수 있다.
 

 * 제비뽑기
 술자리에서 간단하게 복불복 게임을 즐길 수 있도록 만든 게임이다. 효과음이 나오고 복불복 아이템 갯수도 무작위로 설정할 수 있다. 디자인이 구려서 별로 인기가 없다. 그래도 공부는 여러가지 할 수 있어서 좋았다.
- 마켓에서 '제비뽑기' 로 다운받을 수 있다.
 


* 스피드 사랑의 테스트
간단하게 이름이나 전화번호로 사랑의 지수를 테스트할 수 있는 어플이다. 알고리즘이 들어가는 부분이 있어서 조금은 복잡했지만 하다보니 나도 하게 되었고 내가 불편한 점이 있어서 랜덤기능까지 추가하니 금상첨화이다. 하지만 사람들은 마니 받질 않는다. 그져그런가 보다. 어플시장의 동태를 제대로 파악하지 못한 나의 큰 실수이다.
- 마켓에서 '스피드 사랑의 퀴즈' 를 검색하면 받을 수 있다.

이 모든 작품은 내가 배워서 이번에 개발한 작품이다. 현재는 차기 작품을 준비중이다. 취업을 하기전 여러가지 어플을 만들 수 있다는 매리트가 있어서 좋다. 교육을 맞치며 수료증을 받는데 감회가 새롭더라 나도 제대로 끝까지 받을 수 있겠구나 라는 생각이였다. 좋은사람들도 마니 만나서 좋았다. 잘된 애들은 좋은데서 취업요청도 들어왔다. 잘될꺼라 생각했는데 모두 잘 되서 꿈 이룬거 같아서 좋다. 나름 취미로 교육을 받은 애들도 있고, 목숨걸고 하는 애들도 있었고 별여별 사람들을 많이 만났다. 근3달 동안 모두 수고했고, 앞으로 성공해서 위에서 모두 봤으면 좋겠다.

- 수스 안드로이드 2기 교육생 김용연 2011년 6월 30일 수료 완료!
저작자 표시
신고

'일상' 카테고리의 다른 글

프리랜서...  (0) 2013.06.08
세월 참 빠르다.  (0) 2011.07.12
안드로이드 교육 과정을 맞치며...  (0) 2011.06.30
눈을 낮춥니다.  (0) 2011.06.21
이곳 생활은 너무 좋다!  (0) 2011.03.30
간만에 접속했네요 ㅎㅎ  (0) 2010.10.12
눈을 낮춥니다. 일상 2011.06.21 11:08
그렇게 높게 잡지도 않았습니다.
그져그런회사보다 제 꿈을 펼칠수 있는 회사를 찾고 있을뿐입니다.
회사가 다 그런거죠.
쩝.
언젠간 제가 원하는 회사를 갈 수 있을꺼라 생각합니다.
기다리겠습니다. 그리고 찾아보겠습니다.
 항상 응원해 주십시요.
앞으로 남은 시간은 좀더 열심히 찾도록 노력하겠습니다.
꿈을 향해 달려가는 이가 되도록 노력하겠습니다.
뽑아주십시요.
간절하게 호소합니다.
회사의 질과 양을 충만해 드리겠습니다.
이제 남은건 실습이 아닌 실전으로 다가가서 제 실력을 마음껏 펼칠수 있도록 도와주십시요.
회사의 미래는 제가 짊어지고 가겠습니다.
회사가 원하는 사람보다 제가 회사를위해 필요한 존재가 되겠습니다.

저작자 표시
신고

'일상' 카테고리의 다른 글

세월 참 빠르다.  (0) 2011.07.12
안드로이드 교육 과정을 맞치며...  (0) 2011.06.30
눈을 낮춥니다.  (0) 2011.06.21
이곳 생활은 너무 좋다!  (0) 2011.03.30
간만에 접속했네요 ㅎㅎ  (0) 2010.10.12
추석명절이 끝날때쯤에 드뎌 아이폰4를 받다.  (0) 2010.09.26
package kyy.tt.test;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;

public class TimerTest extends Activity {
/** Called when the activity is first created. */
private Timer testtimer;
private myTask mtask = null;
private Handler handler;
private Runnable run;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        handler = new Handler();
        run = new Runnable(){
        @Override
            public void run()   
            {
            Log.i("test","run");
            Toast.makeText(TimerTest.this, "3초후에 뜹니다.!!!", 0).show();
            }    
        };
         
testtimer = new Timer();
mtask = new myTask();
testtimer.schedule(mtask,3000, 3000);  // 0.1 초의 시간뒤 0.1초 마다 mtask의 run 을 호출함

    }
    @Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
testtimer.cancel(); // 타이머를 멈춤
 
}
    
    class myTask extends TimerTask
    {
    @Override
    public void run()    
    {
    handler.post(run);  
    } //Handler 을 이용하여 Runnable 를 실행함 상황에 맞게 사용할것
    }
}

본소스에 제작권은 라플에 있습니다.
저작자 표시
신고
안드로이드폰을 처음 사용하시는분들을 위한 정말 유용한 어플같아서 이렇게 소개를 할까 한다.
스마트폰을 처음 접하게 되면 노래는 어떻게 넣을까? 벨소리는 어떻게 하지? USB이거 모야, WIFI아 모르겠다.
하면서 한탄하면서 주의사람들에게 어디서 배우냐 카페는 어디로 가입해야하냐 하면서 하시는분들 있을것이다.
이제 고민끝 이 어플 하나면 땡인것 같다.

1. 메인화면


2. 메뉴화면

초급, 중급, 고급, 환경설정, 추천웹, 추천어플로 메뉴가 구성되어 있어 직관적이고 처음사서 모르는부분들을 세세히 알수도 있고 가끔모르는 기능도 스샷으로잘 찍어두어서 두고두고 사용할수 있을것 같음.




3. 초급화면

초급화면에 일부분인데 초보자 가이드에 주인공 안박사가 나와서 하나하나 강의를 하는식으로 되어 있어 처음하는 사람들도 금방 친해질 수 있는것 같아서 좋은것 같음.


4. 추천어플

추천어플 메뉴는 안드로이드를 사용하면서 가장 많이쓰는 필수어플을 나열해 두어서 클릭하여 바로바로 받을 수 있게 되어 정말 좋은것 같다. 또한 항목을 클릭하면 받을것 인지 물어보는 부분도 사용자에 대한 작은배려 인것 같아서 너무 좋았던거 같다.


이외 메뉴도 괜찮은 기능들이 많았는데 스샷을 제공하지 않아서 적지 못한점이 아쉽다. 아래QR코드를 스캔하여 얼릉 다운받아 보자. 후회하지 않은 선택이 될 것이다.






저작자 표시
신고

Network ( 지원 프로토콜 ) - Android / iPhone

- http (웹)

- tcp / ip (소켓)

- soap (XML 웹서비스)

cf) 하이브리드 앱

앱 > 웹

- 앱과 웹 차이점

Application(10%) -----> Web Application(90%)

구분

속도

빠르다.

느리다.(장소마다)

제약사항

적다.

많다.

의존성

많다.

적다.(HTML5[통일/RIA]) by W3C

적다.

많다.

유지보수

어렵다.

쉽다.

W3C : 인터넷의 표준을 만드는 단체(곳,ORG)

3G -> 4G(40배/디바이스 성능 향상)

클라이언트 <-> 서버(웹/어플리케이션) <-> DB

Android <-> [V - C - M] <-> DBMS

Android [V] <-> [C - M] <-> DBMS

V -> XXX.jsp

C -> XXX.java (Servlet)

M -> XXX.java (Bean)

(My Platform / trutsform / 가우스)Struts, Spring, Ejb,

iBATIS, Hybernate, JQuery

웹브라우져는 해석기(html/javascript/css)다.

html/javascript/css -> 상품 (Client side language)

자바 웹서버(Tomcat)은 jsp/servlet(java) 해석기다.

jsp/servlet -> 공장 ( servlet side language )

1. 지시어

2. 스크립팅 엘리먼트

3. JSP액션 = 표준태그 = 액션원소

4. EL

5. JSTL

6. CTL

토요일/일요일
Android 예제 - 분석 

NetWork (월~화)

1. tcp/ip

2. map(LBS)

3. sqlite, preference

4. 팀구성

Market 개발자/등록 ( $25 비자/마스터) - 수

기획서 발표 -> 금요일

저작자 표시
신고
Open API 관련 정보 기타 2011.05.13 13:41

참고사이트

네이트

네이버

다음

KT(전화) OPEN API

야후

Google 코드 사이트

me2day

트위터

토씨 (링크제공 트위터 @cleanblue)

스프링노트

동영상관련

쇼핑몰

기타 오픈 API

 

참고자료

 
sitehis.com 관련 게시물



저작자 표시
신고

'기타' 카테고리의 다른 글

Open API 관련 정보  (0) 2011.05.13
애드젯(adget)으로 광고수익을 얻어보자.  (0) 2011.03.30
실전 현장에서...  (0) 2010.06.13
프로그래밍은 상상이다  (0) 2010.06.13
ASP.NET 책을 보면서  (0) 2010.04.21
public class Io03 extends Activity {
    private Button b1, b2, b3;
    private EditText et1;
    //private static final String FNAME = "test.txt";
    private static final String FNAME 
       = "aa/bb/SoosJava201104_utf8.java";
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        
        et1 = (EditText)findViewById(R.id.EditText01);
        
        View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(v == b1){
readAssets();
}else if(v == b2){
readRaw();
}else{
reset();
}
}
} ;
        b1.setOnClickListener(listener);
        b2.setOnClickListener(listener);
        b3.setOnClickListener(listener);
    }
    private void readAssets(){
    InputStream is = null;
    AssetManager am = getAssets();
    try{
       is = am.open(FNAME, MODE_PRIVATE);
       String result = readModul(is);
       et1.setText(result);
    }catch(IOException ie){
    }finally{
    try{
    if(is != null) is.close();
    }catch(IOException ie){}
    }
    }
    private void readRaw() {
    InputStream is = null;
    Resources r = getResources();
    is = r.openRawResource(R.raw.soosadvans_utf8);
    String result = readModul(is);
    et1.setText(result);
    try{
    if(is != null) is.close();
    }catch(IOException ie){}
    }
    private String readModul(InputStream is){
    BufferedReader br = null;
    String line = "";
    StringBuffer sb = new StringBuffer();
    try{
       br = new BufferedReader(new InputStreamReader(is));
       while((line = br.readLine()) != null){
        sb.append(line + "\n");
       }
       return sb.toString();
    }catch(IOException ie){
    return "";
    }finally{
    try{
    if(br != null) br.close();
    }catch(IOException ie){}
    }
    }
    private void reset(){
    et1.setText("");
    }
}
저작자 표시
신고
public class Io02 extends Activity 
implements View.OnClickListener {
    private Button b1, b2, b3, b4;
    private EditText et1, et2, et3;
    //private static final String EX_PATH = "/sdcard";
    private static final String EX_PATH 
        = Environment.getExternalStorageDirectory().getAbsolutePath();
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        et1 = (EditText)findViewById(R.id.EditText01);
        b1 = (Button)findViewById(R.id.Button01);
        
        et2 = (EditText)findViewById(R.id.EditText02);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        
        et3 = (EditText)findViewById(R.id.EditText03);
        b4 = (Button)findViewById(R.id.Button04);
        
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
        
        //showPath();//특정 하드웨어에 의존하지 않게 android의 기준 Directory 찾기
    }
    @Override
public void onClick(View v) {
if(v == b1){
toInFromEx(); //1. 외장 -> 내장 
}else if(v == b2){ 
//inFileListShow();
String fname = et2.getText().toString();
toExFromIn(fname); //2. 내장(현재앱) -> 외장 
}else if(v == b3){
toExFromInAll();
}else{ //v == b4
String fname = et3.getText().toString();
toExFromInAny(fname); //3. 내장(현재앱X) -> 외장 
}
}
    //3. 내장(현재앱X) -> 외장 ( 추후 고민해 볼 것! )
    private void toExFromInAny(String fname){ //테스팅 결과 확인X 
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try{
    fis = new FileInputStream(fname);
   
    String destDir = EX_PATH + "/io/apks";
    File dir = new File(destDir);
    if(!dir.exists()) dir.mkdirs();
   
    fos = new FileOutputStream(destDir+"/"+fname);
    fileMove(fis, fos);
    }catch(FileNotFoundException fnfe){
    }catch(IOException ie){
    try{
    if(fos != null) fos.close();
    if(fis != null) fis.close();
    }catch(IOException ie2){}
    }
    }
    
    //2. 내장(현재앱) -> 외장 
    private void inFileListShow(){
    StringBuffer sb = new StringBuffer();
    File inFilesDir = getFilesDir(); //중요!
    File childs[] = inFilesDir.listFiles();
    for(File child : childs){
    sb.append(child.getName() + "\n");
    }
    showMsg(sb.toString(), 1);
    }
    private void toExFromIn(String fname){
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try{
    fis = openFileInput(fname);
   
    String destDir = EX_PATH + "/aa/bb/cc";
    File dir = new File(destDir);
    if(!dir.exists()) dir.mkdirs();
   
    fos = new FileOutputStream(destDir+"/"+fname);
    fileMove(fis, fos);
    }catch(FileNotFoundException fnfe){
    }catch(IOException ie){
    try{
    if(fos != null) fos.close();
    if(fis != null) fis.close();
    }catch(IOException ie2){}
    }
    }
    private void toExFromInAll(){
    File inFilesDir = getFilesDir(); //중요!
    File childs[] = inFilesDir.listFiles();
    for(File child : childs){
    toExFromIn(child.getName());
    }
    showMsg("모든 파일 복사 완료", 1);
    }
    
    //1. 외장 -> 내장
    private void toInFromEx(){
    //et1의 입력정보(dir/file)를 내장메모리로 이동시키시요.
    String path = et1.getText().toString();
    File f = new File(EX_PATH + path);
   
    if(f.isFile()){
    fileCopy(f, getFname(path));
    }else{
    File fs[] = f.listFiles();
    for(File child : fs){
    if(child.isFile()){
    fileCopy(child, child.getName());
    }
    }
    }
    }
    private String getFname(String path){
    int idx = path.lastIndexOf("/");
    String fname = "";
    if(idx != -1){
    fname = path.substring(idx+1);
    }
    return fname;
    }
    private void fileCopy(File f, String fname){
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try{
    fis = new FileInputStream(f);
    fos = openFileOutput(fname, MODE_PRIVATE);
    fileMove(fis, fos);
    }catch(FileNotFoundException fnfe){
    showMsg("입력 경로가 잘못됨", 0);
    et1.setText("");
    et1.requestFocus();
    }catch(IOException ie){
    showMsg("IO예외", 0);
    }
    }
    private void fileMove(FileInputStream fis, 
    FileOutputStream fos) throws IOException  {
    int i = 0; 
    byte buffer[] = new byte[512];
    while((i = fis.read(buffer)) != -1){
    fos.write(buffer, 0, i);
    fos.flush();
    }
    showMsg("파일 복사 성공",  0);
    }
    /*
    File f1; //sdcard 
    File f2; //system 
    File f3; //data
    File f4; //cache 
    void showPath(){
    f1 = Environment.getExternalStorageDirectory();// sdcard
    String state = Environment.getExternalStorageState(); //mounted, shared
    String path1 = f1.getAbsolutePath();
    String path2 = "";
    try{
    path2 = f1.getCanonicalPath(); //OS 시스템에 맞는 구분자 적용한 경로
    }catch(IOException ie){}
    String path3 = f1.getPath();
   
    showMsg("path1 : " + path1 
    + ", path2 : " + path2 
    + ", path3 : " + path3 
    + ", state : " + state, 1);
   
    f2 = Environment.getRootDirectory(); //system 
    f3 = Environment.getDataDirectory(); //data
    f4 = Environment.getDownloadCacheDirectory(); //cache
    String f2Path = f2.getAbsolutePath();
    String f3Path = f3.getAbsolutePath();
    String f4Path = f4.getAbsolutePath();
   
    showMsg("f2Path : " + f2Path 
        + ", f3Path : " + f3Path
        + ", f4Path : " + f4Path, 1);
    }
    */
    void showMsg(String msg, int option){
    Toast.makeText(this, msg, option).show();
    }
}
저작자 표시
신고

'스마트폰 > 안드로이드' 카테고리의 다른 글

안드로이드, 아이폰 Network 정리  (0) 2011.05.13
InputOutputStream_3 공부.  (0) 2011.05.13
InputOutputStream_2 공부.  (0) 2011.05.13
InputOutputStream_1 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
//1. 내장 메모리 핸들링
public class Io01 extends Activity 
implements View.OnClickListener {
    private Button b1, b2, b3, b4, b5;
    private EditText et;
    private static final String FNAME = "aa\\bb\\save.txt";
    private static final String DPATH = "aa/bb";
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        et = (EditText)findViewById(R.id.EditText01);
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        b4 = (Button)findViewById(R.id.Button04);
        b5 = (Button)findViewById(R.id.Button05);
        
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
        b5.setOnClickListener(this);
    }
    @Override
    public void onStart(){
    super.onStart();
    read();
    }
    @Override
    public void onStop(){
    super.onStop();
    write(); reset();
    }
    @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button01: read(); break;
case R.id.Button02: write(); reset(); break;
case R.id.Button03: reset(); break;
case R.id.Button04: del(); reset(); break;
case R.id.Button05: makeDir(); break;
}
}
    private void read(){
    //저장된 파일을 읽어 오세요.
    FileInputStream fis = null;
    BufferedReader br = null;
    String line = "";
    StringBuilder sb = new StringBuilder();
    try{
    fis = openFileInput(FNAME);
    br = new BufferedReader(
    new InputStreamReader(fis), 512);
    while((line = br.readLine()) != null){
    sb.append(line + "\n");
    }
    et.setText(sb.toString());
    }catch(IOException ie){
    }finally{
    try{
    if(br != null) br.close();
    if(fis != null) fis.close();
    }catch(IOException ie){}
    }
    }
    private void write(){
    FileOutputStream fos = null;
    PrintWriter pw = null;
    String data = null;
    try {
    fos = this.openFileOutput(FNAME , MODE_PRIVATE);
    pw = new PrintWriter(fos, true);
    data = et.getText().toString();
    if(data != null) data = data.trim();
    if(data.length() != 0){
    pw.println(data);
    showMsg(FNAME + " 파일에 쓰기 성공");
    }
    }catch(FileNotFoundException fnfe){
    showMsg(FNAME + " 파일을 찾을 수 없음");
    }finally{
    try{
    if(pw != null) pw.close();
    if(fos != null) fos.close();
    }catch(IOException ie){}
    }
    }
    private void reset(){
    et.setText("");
    }
    private void del(){
    //파일(save.txt) 삭제 구현 
    deleteFile(FNAME);
    showMsg(FNAME + "이란 파일 삭제 완료");
    }
    private void makeDir(){
    File f = new File("/data/data/soo.io.test1/files/"+DPATH);
    if(!f.exists()){
    f.mkdirs();
    showMsg(DPATH+"이란 디렉토리 생성 완료");
    }
    }
    private void showMsg(String str){
    Toast.makeText(this, str, 0).show();
    }
}
저작자 표시
신고

'스마트폰 > 안드로이드' 카테고리의 다른 글

InputOutputStream_3 공부.  (0) 2011.05.13
InputOutputStream_2 공부.  (0) 2011.05.13
InputOutputStream_1 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13
public class DialogT extends Activity {
    private Button b1, b2, b3, b4, b5, b6, b7;
    private LinearLayout ll;
    private EditText et, et2;
    private TextView tv;
    boolean flag = false;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        b4 = (Button)findViewById(R.id.Button04);
        b5 = (Button)findViewById(R.id.Button05);
        b6 = (Button)findViewById(R.id.Button06);
        b7 = (Button)findViewById(R.id.Button07);
        
        et = (EditText)findViewById(R.id.EditText01);
        et2 = (EditText)findViewById(R.id.EditText02); // 받는 메세지
        
        tv = (TextView)findViewById(R.id.TextView01);
        tv.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
        
        tv.setOnClickListener(new View.OnClickListener() {
        int endleng = tv.getText().length();
        int startleng = 0;

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//tv.setBackgroundColor(Color.BLACK);
//tv.setHighlightColor(color.background_dark);
//tv.setLinkTextColor(color.background_dark);
if(flag==false){
tv.setHighlightColor(Color.YELLOW);
Spannable str = (Spannable)tv.getText();
   str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 
    0, endleng, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
   str.setSpan(new ForegroundColorSpan(0xFFFFFF00), 0, endleng,
                            Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
tv.setText(str);
flag = true;
}else{
Spannable str = (Spannable)tv.getText();
   str.setSpan(new BackgroundColorSpan(Color.BLACK), 
    0, endleng, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
   
tv.setText(str);
flag = false;
}

}
});
        
        ll = (LinearLayout)findViewById(R.id.LinearLayout01);      
        
        View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.Button01: d1(); break;
case R.id.Button02: d2(); break;
case R.id.Button03: d3();break;
case R.id.Button04: d4();break;
case R.id.Button05: d5();break;
case R.id.Button06: d6();break;
case R.id.Button07: d7();break;
}
}
};
        b1.setOnClickListener(listener);
        b2.setOnClickListener(listener);
        b3.setOnClickListener(listener);
        b4.setOnClickListener(listener);
        b5.setOnClickListener(listener);
        b6.setOnClickListener(listener);
        b7.setOnClickListener(listener);
        
    }
    private View v;
    private EditText cet1,cet2,cet3,cet4;
    private Button cb1,cb2,cb3,cb4;
    private void initCustom(){
    //v = View.inflate(DialogT.this, R.layout.custom, (ViewGroup)findViewById(R.id.LinearLayout02));
    v = View.inflate(this, R.layout.custom, null);
   
    cet1 = (EditText)v.findViewById(R.id.EditTextD01);
    cet2 = (EditText)v.findViewById(R.id.EditTextD02);
    cet3 = (EditText)v.findViewById(R.id.EditTextD03);
    cet4 = (EditText)v.findViewById(R.id.EditTextD04);
   
    cb1 = (Button)v.findViewById(R.id.ButtonD01);
    cb2 = (Button)v.findViewById(R.id.ButtonD02);   
    cb3 = (Button)v.findViewById(R.id.ButtonD03);   
    cb4 = (Button)v.findViewById(R.id.ButtonD04);   
   
    View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.ButtonD01:
et2.setText(cet1.getText().toString());
break;
case R.id.ButtonD02:
et2.setText(cet2.getText().toString());
break;
case R.id.ButtonD03:
et2.setText(cet3.getText().toString());
break;
case R.id.ButtonD04:
et2.setText(cet4.getText().toString());
break;
}
}
};
    cb1.setOnClickListener(listener);
    cb2.setOnClickListener(listener);
    cb3.setOnClickListener(listener);
    cb4.setOnClickListener(listener);
   
    }
    private void d1(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.elephant);
    builder.setTitle("주의");
    builder.setMessage("졸지 맙시다.");
    builder.show();
    }
    private void d2(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.elephant);
    builder.setTitle("캠페인");
    builder.setMessage("아침밥은 먹고 다닙시다.");
    builder.setNeutralButton("확인", null);
    builder.show();
    }
    private void d3(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.giraffe);
    builder.setTitle("질의");
    builder.setMessage("당신은 여성입니까?");
    DialogInterface.OnClickListener listener2 = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showMsg("which : " + which);
if(which == -1){
showMsg("당신은 여성입니다.");
}else{
showMsg("당신은 남성입니다.");
}
}
};
    builder.setPositiveButton("예", listener2);
    builder.setNegativeButton("아니요", listener2);
    builder.show();
   
    }
    private void d4(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.giraffe);
    builder.setTitle("배경색");
    builder.setMessage("배경색으로 좋아하는 색깔은?");
    DialogInterface.OnClickListener listener2 = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showMsg("which : " + which);
if(which == -1){
b4.setBackgroundColor(Color.RED);
ll.setBackgroundColor(Color.CYAN);
}else if(which == -3){
b4.setBackgroundColor(Color.YELLOW);
ll.setBackgroundColor(Color.DKGRAY);
}else{
b4.setBackgroundColor(Color.BLUE);
ll.setBackgroundColor(Color.GREEN);
}
}
};
    builder.setPositiveButton("빨강", listener2);
    builder.setNeutralButton("노랑", listener2);
    builder.setNegativeButton("파랑", listener2);
    builder.show();
   
    }
    static final String JOBS[] = {"변리사","변호사","검사","판사","개발자",
     "기획자","디자이너","의사","선생님","프로게이머"};
    private void d5(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.guitar);
    builder.setTitle("당신의 직업은?");
    builder.setSingleChoiceItems(JOBS, 0, 
    new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// 직업을 바꾸세요.
showMsg("which : " + which);
et.setText("내 직업은"+ JOBS[which] + "입니다.");
}
});
   
    builder.setNeutralButton("확인", null);
    builder.show();
    }
    static final String HOBBYS[] = {"영화","음악","낚시","게임","골프", "수영"};
    static final boolean flags[] = {false,false,false,false,false,false,};
String str="";
    private void d6(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.mammoth);
    builder.setTitle("당신의 취미는 무엇인가요?");
    builder.setMultiChoiceItems(HOBBYS, flags, 
    new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
//showMsg("XX 선택됨");
//showMsg("XX 해제됨");
if(isChecked){
//str += HOBBYS[which] + " ";
showMsg("'" + HOBBYS[which] +"'선택됨");
}else{
showMsg("'" + HOBBYS[which] +"' 해제됨");
}
}
});
   
    builder.setNeutralButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
for(int i=0; i<HOBBYS.length; i++){
if(flags[i] == true)
str += HOBBYS[i] + " ";
}
showMsg("당신의 취미는 "  + str + "입니다.");
}
});
    builder.show();
    }

    private void d7(){
    // 커스텀 다이얼로그를 띄우시오.
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.mammoth);
    builder.setTitle("커스텀 다이얼로그");
    builder.setNeutralButton("확인", null);
    builder.setNegativeButton("취소",null);
    initCustom();
    builder.setView(v);
    builder.show();
    }
    private void showMsg(String msg){
    Toast.makeText(this, msg, 0).show();
    }
    public DialogT() {
// TODO Auto-generated constructor stub
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.mammoth);
    builder.setTitle("종료");
    builder.setNeutralButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
finish();
}
});
    builder.setNegativeButton("취소",null);
    builder.setView(v);
    builder.show();
}
return false;
}
}
저작자 표시
신고

'스마트폰 > 안드로이드' 카테고리의 다른 글

InputOutputStream_2 공부.  (0) 2011.05.13
InputOutputStream_1 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13
Notification 공부.  (0) 2011.05.13


티스토리 툴바