본문 바로가기

Information/Android

[Android] Click Event,Toast,DialogMessage



사실 수업시간이 좀 진도가 느립니다.

15일과정인데도 그 사이에 얼마나 더 볼 수 있을지 모르겠습니다.

기대가 너무 높았던 걸가요. 독학보다 더 느린듯한...


이번편은 학원및 책에서본 소스를 그대로 분석해보려고 합니다.

정말 꼭! 자주쓰는 명령어를 찾아서 올려볼 것입니다.

어느 프로그램이나 비슷할 테니까요


아! 목표를 정했어요.. 스도쿠라는 퍼즐게임을 만들거에요.

(아직 레이아웃을 짜고 있습니다만 필요한 기술을 기술하고 하나씩 기술을 배운후에 모두 붙일거에요)


public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.mylayout);

//1.버튼객체 참조

Button btn = (Button) findViewById( R.id.btnOK);

Button btncel = (Button) findViewById(R.id.btnCel);

//2.클릭이벤트등록(이벤트는 아래에 선언해두었습니다)

    //버튼은 두개를 사용했는데 두버튼 모두 동일한 클릭이벤트리스너를 사용합니다.

btn.setOnClickListener(ol);

btncel.setOnClickListener(ol);

}

 

  //클릭이벤트에 사용할 리스너를 등록합니다.

OnClickListener ol = new OnClickListener(){

public void onClick(View v) {

        //토스트메세지출력(클릭을 알려줍니다)

Toast.makeText(getApplicationContext() ,"Click",Toast.LENGTH_LONG).show();

//이벤트를 공유하다보니 Switch 문으로 이벤트발생자(sender)를 구분합니다.

switch (v.getId()){

case R.id.btnOK:

    //예제중의 하나였습니다.  버튼을 클릭하면 입력한글(EditText)창에 특정메세지를 보냅니다.

EditText ed = (EditText) findViewById(R.id.editView); //참조하기위해서는 findViewById 를 사용해서 캐스팅을 합니다.

ed.setText("버튼 클릭함");

break;

case R.id.btnCel:

                                        //Cancel 버튼이 클릭시에 작동할 코드를 입력합니다.

    //click!! 이라는 메세지박스를 표시합니다.

    new AlertDialog.Builder(getApplicationContext()).setTitle("click!!").show();  

break;

}

}

};

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}


#.위 소스안에 버튼의 클릭이벤트 할당과 

#.토스트라는 한줄 메세지 출력방식과

#.메세지팝업이 들어있습니다.


안드로이드 프로그램의 특징을 몇가지 적어봅니다.!


먼저 각 Activity (페이지) 별로 프로그램진입점이 존재할 수 있습니다.

.NET 과는 좀 다르군요. 마치 Oracle Developer 처럼 개별파일(=Activity)의 느낌입니다. (독립실행가능)

대소문자를 가리는데 명령어가 하나같이 깁니다(-_-;; 치는데 죽겠네요. VS의 intellisense 와 비교하자면 너무 기능이 떨어집니다)