Sponsored By


















대화상자만들기 방법임.


흔히들 나가기 버튼을 누르면 " 나가시겠습니까.?? " 라는 대화상자를 볼 수 있는데 이것을 한번 해보겠다.







언제나 그랬듯이(?)

00. 버튼을 만들고 아래와 유사하게 지정하고 Script로 넘어가자.







01. 코드를 입력하자.


       public void onClick01 (View v){


        AlertDialog.Builder builder = new AlertDialog.Builder(this); 


        builder.setTitle("안내");

        builder.setMessage("종료하시겠습니까.??");

        builder.setIcon(android.R.drawable.ic_dialog_alert);


        builder.setPositiveButton("예", new DialogInterface.OnClickListener() {


            @Override

            public void onClick(DialogInterface dialog, int which) {

               Toast.makeText(getApplicationContext(), "예 버튼이 눌렸습니다.", Toast.LENGTH_SHORT).show();

              finish();

            }

        });


        builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() {


            @Override

            public void onClick(DialogInterface dialog, int which) {

                Toast.makeText(getApplicationContext(), "아니오 버튼이 눌렸습니다.", Toast.LENGTH_SHORT).show();

            }

        });


        AlertDialog dialog = builder.create();

        dialog.show();

    }







01-1. 주석달아놓음.






02. 구동시켜보자.






03. 안내문구 버튼을 누르면 대화상자가 잘 작동하는 것을 볼 수 있다.






04. 아니오 버튼을 눌러보자.






05. 예 버튼을 눌러보자.
 


안드로이드 수명주기 에 관한 것 (저장)에 대한 방법임






00. 새로운 프로젝트를 만들고 Script로 이동.







01. onCreate가 작동할때를 알아보기위해 아래코드를 입력하자.

   Toast.makeText(getApplicationContext(),"onCreate() 호출됨.", Toast.LENGTH_SHORT).show();   







02. 시작할때의 구동되는것들을 알아보기위해 마우스오른쪽버튼 - Generate 를 누른다.






03. Override Methods 를 눌러서 원하는 것을 오버라이딩 시킨다.






04. 다음과 같은 창이 뜨게된다.






05. onStop()/ onDestroy()/ onStart()/ onPause()/ onResume() 을 선택해서 불러온다.






06. 다음과 같이 보여진다.






07. 작동 순서를 알기위해 각각에다 토스트 기능을 부여하자.






08. onCreate() 가 먼저 뜨는것을 확인 할 수 있다.






09. onStart() 가 이어서 뜨는것을 확인 할 수 있다.






10. onResume() 이 마지막에 뜨는것을 확인 할 수 있다.






11. 종료될때도 순서대로 종료된다. onPause() 가 먼저 뜨는것을 확인 할 수 있다.






12. onStop() 이 이어서 뜨는것을 확인 할 수 있다.






13. onDestroy() 가 마지막에 뜨는것을 확인 할 수 있다.






14. 강제종료될때 내용을 저장하기위해 아래와같은 코드를 입력하자.

 @Override

    protected void onPause() {

        Toast.makeText(getApplicationContext(),"onPause() 호출됨.", Toast.LENGTH_SHORT).show();

        saveScore();

        super.onPause();

    }


    @Override

    protected void onResume() {

        Toast.makeText(getApplicationContext(),"onResume() 호출됨.", Toast.LENGTH_SHORT).show();

        loadScore();

        super.onResume();

    }


    private void saveScore(){

        SharedPreferences pref = getSharedPreferences("game", Activity.MODE_PRIVATE);

        SharedPreferences.Editor editor = pref.edit();

        editor.putInt("score", 9999);

        editor.commit();

    }


    private void loadScore(){

        SharedPreferences pref = getSharedPreferences("game", Activity.MODE_PRIVATE);

        int score = pref.getInt("score",0);

        Toast.makeText(getApplicationContext(),"gotten point : " + score, Toast.LENGTH_SHORT).show();

    }








15. 다시한번다갔다가 들어가면 9999로 저장된 것을 확인 할 수 있다.
 

[ 새로운 액티비티 ]

    

        ㅣ    1. onCreate() : 메모리에 만들어지는 과정.

        ㅣ    2. onStart() : 내부적으로 작동되는 과정.

        ㅣ    3. onResume() : 화면에 보여지기 직전의 상태.


[      실 행      ]

    

        ㅣ   

        ㅣ   1. onPause() : 정지시키면 onPause()가 작동됨.

        ㅣ    1. onResume() : 정지가 풀리면 onResume()이 재작동해서 재실행함.


[   일 시 정 지  ]

    

        ㅣ

        ㅣ    1. onStop() : 작동이 멈춤

        ㅣ


[      중 지      ] : 만약 중지상태에서 재시작하게되면 onCreate()/ onStart()/ onResume()이 

                       차례대로 다시떠서 실행되됨.


        ㅣ

        ㅣ    1. onDestroy() : 애플리케이션 종료됨.

        ㅣ


[      소 멸     ] 



액티비티 이동 하는 방법임.


안드로이드스튜디오에서는 구성요소가 4가지(액티비티, 서비스, 브로드캐스트수신자, 내용제공자)가 있는데 

이것들은 함부로 구현 할 수 없다.

따라서 시스템에 보내줘서 가져오는 식으로 구동시켜야하는데 그것을 해주는 것이 Intent 이다.


일단 시작해보자.





00. 메인액티비티에 텍스트뷰와 버튼을 만들것이다.







01. 다음과 같이 만들어준다.






02. 새로운 액티비티를 만들기위해 왼쪽트리에서 레이아웃 오른쪽버튼 클릭 - 뉴 - 액티비티 - 블랭크액티비티 클릭.!






03. 이름을 주고 Finish버튼 클릭.!






04. 서브액티비티가 완성되었으면 메인과 구별짓기위해 텍스트뷰와 버튼을 넣어보자.






05. 버튼도 넣어보자.






06. 서브액티비티의 버튼을 구동시키기 위해 Script로 가서 버튼에 메소드를 넣어주고 메인Script로 넘어가자.






07. 메인Script에서 버튼을 Intent를 사용하여 Sub_Activity로 연결해준다.

   public void onClick01(View v){

      Intent intent = new Intent(getApplicationContext(), Sub_Activity.class);

      startActivity(intent);

   }








08. 실행 시켜본다.






09. 버튼을 클릭하여 작동이 잘 되는지 확인해보자.







10. 정상적으로 작동되는 것을 확인 할 수 있다.



애플리케이션의 꽃(?) 부분화면/ 부분레이아웃 에 대한 방법임.





00. 메인 엑티비티에 부분레이아웃을 띄울 버튼을 만든다.







01. 부분레이아웃이 나올 레이아웃을 만든다.(나는 LinearLayout을 사용했다.) 

    Text를 눌러 아이디를 부여하자.






02. android:id="@+id/mainLayout2" 라고 id를 지정하자.






03. 왼쪽 트리에서 레이아웃위에 오른쪽버튼 - 뉴 - XML - LayoutXML을 눌러 새로운 레이아웃을 만들어줌.






04. 이름을 아무거나 지어준다. (sub_layout으로 지어줬다.)






05. 잘 들어왔는 것을 알 수 있다. 텍스트를 눌러 코드를 수정하자.






06. LinearLayout은 방향성이 필요하므로 android:orientation="vertical" 을 부여하자.






07. sub_Layout에 구동시킬 버튼 따위를 넣어보자. 먼저, 텍스트뷰를 넣어보자.






08. 아무글씨나 써보자.( 부분화면/ #ffff0000/ 34dp 를 했다.)






09. 버튼을 만들어보자.






10. Toast띄우기 라고 이름을 주고 나중에 Toast함수를 넣자.






11. CheckBox도 함 넣어보자.






12. 다 들어간 것을 확인했으면 메인엑티비티XML을 눌르자.






13. onClick에 onClick01로 부여하고 script로 가서 코드를 연결해보자.






14. 먼저, mainlayout2에 부분레이아웃이 나오게 연결해보자. 코드는 아래와 같다.

   public void onClick01(View v) {

        LinearLayout mainlayout2 = (LinearLayout) findViewById(R.id.mainlayout2);


        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        inflater.inflate(R.layout.sub_layout, mainlayout2, true);

}







15. 구동시켜보자.






16. 잘 나오는 것을 확인 할 수 있다. 하지만, 버튼에 메소드를 구현하지않아서 버튼작동은 되지 않는다.








17. 버튼id를 이용해 버튼에 메소드를 넣어서 구동시키자. 전체 코드는 아래와 같다.

    public void onClick01(View v) {

        final LinearLayout mainlayout2 = (LinearLayout) findViewById(R.id.mainlayout2);


        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        inflater.inflate(R.layout.sub_layout, mainlayout2, true);


        Button button2 = (Button) mainlayout2.findViewById(R.id.button2);

        button2.setOnClickListener(new View.OnClickListener(){


            @Override

            public void onClick(View v) {

                Toast.makeText(getApplicationContext(),"Toast버튼이 눌렸습니다.", Toast.LENGTH_SHORT).show();

            }

        });


        Button button3 = (Button) mainlayout2.findViewById(R.id.button3);

        button3.setOnClickListener(new View.OnClickListener(){


            @Override

            public void onClick(View v) {

                finish();

            }

        });

    }







18. 구동시켜보자.






19. 구현이 정상적으로 되는것을 확인 할 수 있다.
 



Sponsored By















+ Recent posts