IT정보공유/Android

[안드로이드 개발 요약 - 1] 버튼 등의 View 접근 방법

알지오™ 2017. 5. 20.

안드로이드 개발 공부를 시작했습니다.

매번 시작했다 Hello Android 찍어보고 접고..또 다시 시작했다가 Hello Android 찍어보고 접고..

반복했었는데 이번엔 제대로 공부를 할까 생각중입니다.

 

본 블로그는 안드로이드 개발 관련 강좌나 강의 형식은 아니고

제가 공부를 하면서 꼭 알아야 하는 것들에 대해서 초간단 정리를 해보고자 합니다.

 

 

대부분 안드로이드 개발툴은 이클립스를 많이들 사용하고 계시는데

저는 원래 자바 개발자가 아니다 보니 이클립스 자체도 생소하고, 

무거운거 같고 그래서 안드로이드 개발 정식 툴인

구글의 최신버전인 안드로이드 스튜디오(Android Studio 2.32) 를 사용하기로 했습니다.

 

.

 

 

 

전에 설치해 놓은 버전보다 많이 업데이트 되었고 개발하기가 좀더 수월해 진것 같아 보입니다.

 

오늘 공부한 내용을 간단히 정리하자면 처음 시작하면 반듯이 하게 되는

레이아웃과 버튼의 속성 변경 같은 것들입니다.

 

  



public class MainActivity extends AppCompatActivity {

    int iFlag = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 버튼 같은 UI 컨트롤에 접근 할때는 findViewById함수에 파라미터로 버튼의 id를 전달.
        Button btn = (Button)findViewById(R.id.button);

        // 버튼에 온클릭리스너를 동적으로 설정(다른 표현으로는 버튼의 이벤트핸들러 설정)
        btn.setOnClickListener(new Button.OnClickListener()
                               {
                                   public void onClick(View v)
                                   {
                                       Toast.makeText(getApplicationContext(), "으악!" , Toast.LENGTH_LONG).show();
                                   }
                               }
        );


    }


    //터치 이벤트 핸들러 정의
    public boolean onTouchEvent(MotionEvent evt)
    {
        if(evt.getAction() == MotionEvent.ACTION_DOWN) {
            //evt.getX()
            Toast.makeText(getApplicationContext(), "", 1).cancel();;
            Toast.makeText(getApplicationContext(), Float.toString(evt.getRawX()), Toast.LENGTH_SHORT).show();
        }
        return true;
    }

    public void click_sendbutton(View view)
    {
        //ImageView에 접근할 때도 역시 findViewById를 이용하며, 타입캐스팅을 원래의 클래스에 맞게 해주면 딤
        ImageView iv = (ImageView)findViewById(R.id.imageView2);

        if(iFlag == 0)
        {
            //이미지를 변경
            iv.setImageResource(R.mipmap.flag_red2);
            iFlag = 1;
            Toast.makeText(getApplicationContext(), "RED!" , Toast.LENGTH_SHORT).show();
        }
        else
        {
            //이미지를 변경
            iv.setImageResource(R.mipmap.flag_blue);
            iFlag = 0;
            Toast.makeText(getApplicationContext(), "Blue!" , Toast.LENGTH_SHORT).show();
        }
    }

 

댓글

💲 추천 글