brunch

You can make anything
by writing

C.S.Lewis

by 윤형도 Mar 08. 2016

빠르게 배우는 안드로이드 -16
Intent -2

새 엑티비티를 호출해보자



위강의에 이어서 진행합니다.


이번에는 새 엑티비티를 만들고 엑티비티간의 화면 전환을 하는 명시적 인텐트(Explicit Intent)에 대한 실습을 진행하겠습니다.

해당 패키지 -> 우클릭 -> new -> Activity-> Empty Activity를 클릭합니다.    

다음 화면이 나올것입니다. 기본설정을 바꾸지않고 Finish를 클릭해서 진행하도록하겠습니다.    

패키지에 Main2Activity와 layout에 activity_main2.xml이 생성된것을 볼수있습니다.    

activity_main2.xml에 들어가서 2번째 화면인것을 표시하도록하겠습니다.

텍스트뷰를 배치하고 2번째 엑티비티라고 입력해놓았습니다.    

activity_main.xml에가서 버튼을 배치하고 이 버튼을 클릭하면 두번째 화면으로 전환되도록하겠습니다.

버튼의 text를 activity2로 id를 activity2_btn으로 지정했습니다.    

이제 코드를 수정하여 activity를 전환해봅시다.

Intent intent = new Intent(Context context,실행할 새 엑티비티.class)
startActivity(intent);

다음의 코드를 추가하면 새 엑티비티가 실행됩니다.


public class MainActivity extends AppCompatActivity {
    TextView num_textView;
    TextView url_textView;
    Button activity2_btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        num_textView = (TextView)findViewById(R.id.num_textView);
        url_textView = (TextView)findViewById(R.id.url_textView);

        activity2_btn = (Button)findViewById(R.id.activity2_btn);

        num_textView.setOnClickListener(mClickListener);
        url_textView.setOnClickListener(mClickListener);

        activity2_btn.setOnClickListener(mClickListener);



    }

    View.OnClickListener mClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                switch (v.getId()){

                    case R.id.num_textView :
                        Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+num_textView.getText().toString()));
                        startActivity(intent);
                        break;



                    case R.id.url_textView :
                        Intent intent2 = new Intent(Intent.ACTION_VIEW, Uri.parse(url_textView.getText().toString()));
                        startActivity(intent2);
                        break;

                    case R.id.activity2_btn :
                        Intent intent3 = new Intent(MainActivity.this,Main2Activity.class);
                        startActivity(intent3);
                        break;
                }
        }
    };
}    

ACTIVITY2 버튼을 클릭하면 새 엑티비티로 전환되는것을 볼수있습니다.    


우리는 Activity 생성을 안드로이드 플러그인의 도움을 받아서 진행하였기 때문에 Manifest에 별다른 조치를 하지않았지만 직접생성하는경우 Manifest에
<activity android:name=".Main2Activity"></activity>
를 추가해주어야합니다.
manifest를 클릭해보면


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.tispoon.intentexample">

 <application
 android:allowBackup="true"
 android:icon="@mipmap/ic_launcher"
 android:label="@string/app_name"
 android:supportsRtl="true"
 android:theme="@style/AppTheme">
 <activity android:name=".MainActivity">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" />

 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
 </activity>
 <activity android:name=".Main2Activity"></activity>
 </application>

</manifest>
다음과 같이 코드가 생성되있는것을 볼수있습니다.


매거진의 이전글 빠르게 배우는 안드로이드 -15 Intent -1
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari