2010/06/22

[Android Dev.] Activity 추가 및 전환 하기








Activity 추가하기


Activity 를 추가하려면 프로젝트에 Class 를 추가한다.


클래스 추가

클래스 추가 대화상자

Superclass 를 android.app.Activity 로 지정하여 클래스를 생성한다. 그리고 이 Activity 에 사용할 layout을 위한xml 파일을 생성하여 작성한다.



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello SubActivity"
/>
<Button
android:id="@+id/BtnReturnMain"
android:text="Return to Main Activity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>












Activity 전환하기


추가 된 Activity 를 사용하기 위해 AndroidManifest.xml 에 추가를 한다. AndroidManifest.xml 에 Activity 를 추가 하는 것은 수동으로 하는 방법과 자동으로 하는 방법이 있다.






자동으로 하는 방법은 AndroidManifest.xml 파일을 열어 Application 탭에서 Application Nodes 에 Activity 를 추가한다.






추가하고 추가 된 Activity 를 선택하고 오른쪽의 Attributes for Activity 에 Name 를 생성한 Activity 를 할당하여 준다.






이렇게 지정을 하면 AndroidManifest.xml 파일은 아래와 같이 수정이 된다.


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.neodreamer.SwitchActivity"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name="SubActivity">
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>






Main Activity 의 Layout XML 코드


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/BtnCallSub"
android:text="Call Sub Activity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>





Main 에서 SubActivity 호출 코드


@Override
public void onClick(View v)
{
if ( v == btnCallSub )
{
Log.i( "onClick", "Call Sub Activity" );
Intent intentSubActivity = new Intent( this, SubActivity.class );
startActivity( intentSubActivity );
}
}






Sub 에서 MainActivity 로 돌아가는 코드


@Override
public void onClick(View v)
{
if ( v == btnReturnMain )
{
finish();
}
}

No comments :

Post a Comment