-
[2] Life Cycle, EventDevelpment/Android Sample Source 2020. 9. 13. 21:38
1. Life Cycle
Sameple Source
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374package com.ssh.user.ex_1201;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;public class LifeActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_life);/* 로그안드로이드는 예외의 위치를 확인하거나 경로확인 등을 위해서로그를 사용한다.*/Log.i("MY", "--onCreate");}/* 호출순서(life cycle)시작시 : onCreate -> onStart -> onResume홈버튼 : onPause -> onStop (백그라운드)재실행 : onRestart -> onStart -> onResume (백그라운드에서 재실행)종료시 : onPause -> onStop -> onDestroyonCreate : 처음 실행 했을 경우 한번만 호출.onDestroy : 실제 종료시에 한번만 호출.onRestart : 정지 상태에서 실행했을 경우 호출.onStart -> onResume : 실행시 기본onPause -> onStop : 종료시 기본(백그라운드)*/@Overrideprotected void onDestroy() {super.onDestroy();Log.i("MY", "--onDestroy");}@Overrideprotected void onPause() {super.onPause();Log.i("MY", "--onPause");}@Overrideprotected void onRestart() {super.onRestart();Log.i("MY", "--onRestart");}@Overrideprotected void onResume() {super.onResume();Log.i("MY", "--onResume");}@Overrideprotected void onStart() {super.onStart();Log.i("MY", "--onStart");}@Overrideprotected void onStop() {super.onStop();Log.i("MY", "--onStop");}}cs 2. Event
Sample Source
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162package com.ssh.user.ex_1201;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class EventActivity extends AppCompatActivity {Button red, blue, toast;TextView txt;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_event);// Button 검색red = (Button)findViewById(R.id.btn_red);blue = (Button)findViewById(R.id.btn_blue);toast = (Button)findViewById(R.id.btn_toast);// TextView 검색txt = (TextView)findViewById(R.id.txt);// Button에 Event 감지자를 등록red.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {// Button 클릭시 호출되는 메서드// TextView 배경색, 내용 변경txt.setBackgroundColor( Color.RED );txt.setText("RED");}});blue.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {txt.setBackgroundColor( Color.BLUE );txt.setText("BLUE");}});toast.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {// Context 정보에 EventActivity.this 로 넘겨 주어도 되지만, getApplicationContext()로 넘길경우 필요한 정보만 추려서 넘길수 있다.// 보통 EventActivity.this를 사용. Toast의 경우에는 getApplicationContext() 이 좋다.// Toast.makeText( EventActivity.this, "출력할 문자열 !!", Toast.LENGTH_LONG ).show();Toast.makeText( getApplicationContext(), "출력할 문자열 !!", Toast.LENGTH_LONG ).show();}});}}cs 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_event"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.ssh.user.ex_1201.EventActivity"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center"><Buttonandroid:id="@+id/btn_red"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="red"android:textSize="20dp" /><Buttonandroid:id="@+id/btn_blue"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="blue"android:textSize="20dp"/><Buttonandroid:id="@+id/btn_toast"android:layout_width="wrap_content"android:layout_height="match_parent"android:text="toast"android:textSize="20dp" /></LinearLayout><TextViewandroid:id="@+id/txt"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#000"android:text="test"android:textSize="20dp"android:textColor="#fff"android:gravity="center" /></LinearLayout>cs 3. Event2
Sample Source
12345678910111213141516171819202122232425262728293031323334353637383940414243package com.ssh.user.ex_1201;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class Event2Activity extends AppCompatActivity {Button btn;EditText edtxt;TextView txt;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_event2);btn = (Button)findViewById(R.id.start);edtxt = (EditText)findViewById(R.id.ed_txt);txt = (TextView)findViewById(R.id.txt);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String msg = edtxt.getText().toString();int i;for(i = 0; i < msg.length()/2; i++)if(msg.charAt(i) != msg.charAt(msg.length()-1-i))break;if(i == msg.length()/2)txt.setText("TRUE");elsetxt.setText("FALSE");}});}}cs 123456789101112131415161718192021222324252627282930313233343536373839404142434445<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_event2"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.ssh.user.ex_1201.Event2Activity"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><EditTextandroid:id="@+id/ed_txt"android:layout_width="wrap_content"android:layout_height="match_parent"android:inputType="number"android:ems="10"android:hint="숫자를 입력하세요!!"/><Buttonandroid:id="@+id/start"android:layout_width="match_parent"android:layout_height="match_parent"android:text="Start"/></LinearLayout><TextViewandroid:id="@+id/txt"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#aaa"android:gravity="center"android:text="Result"android:textSize="30dp" /></LinearLayout>cs 'Develpment > Android Sample Source' 카테고리의 다른 글
[5] Button Effective, Menu, AlertDialog, Dialog, Menu Dialog, Rating (0) 2020.09.13 [4] List View, Custom Button (0) 2020.09.13 [3] TouchEvent, Inflater (0) 2020.09.13 [1] Button, Spinner, ListView, Weight (0) 2020.09.13 [0] Layout (Linear, Frame, Relative) (0) 2020.09.13