Android学習ノート(一)

8241 ワード

アクティビティ(Activity)は、主にユーザーとのインタラクションに使用されるユーザーインタフェースを含むことができるコンポーネントです.1つのアプリケーションに0つ以上のアクティビティを含めることができます.
すべての自己書き込みActivityはActivityクラスに継承されます.プロジェクト内のアクティビティは、ActivityのonCreate()メソッドを書き換える必要があります.たとえば、次のFirstActivityアクティビティがあります.
public class FirstActivity extends Activity{

  @Override

  protected void onCreate(Bundle savedInstanceState){

      Super.onCreate(savedInstanceState);      

  }          

}

上のonCreate()メソッドは簡単ですが、親のonCreate()メソッドを呼び出し、後で自分の論理をたくさん入れる必要があります.
 
アクティビティ(Activity)と書くと、Androidプログラムの設計は論理とビューの分離にこだわり、アクティビティはレイアウトに対応することが望ましい.レイアウトはインタフェースの内容を表示するために使用される.
ここではレイアウトファイルを新規作成してfirst_と名前を付けることができます.layout.デフォルトのレイアウトのXMLファイルは、次のコードを使用します.
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

</LinearLayout>

レイアウトファイルにボタン(Button)を追加する必要がある場合は、XMLファイルで編集します.Buttonレイアウトコードは次のようになります.
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    

    <!-- Button   -->

    <Button android:id="@+id/button_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/app_button_1"/>



</LinearLayout>


Android:idは、現在の要素に一意の識別子を定義し、コード内でこの要素を操作できます.(XMLでは、idを1つ参照すると@id/id_nameが使用されます.
XMLでidを定義する必要がある場合は@+id/id_を使用する必要がありますname)
android:layout_widthは現在の要素の幅を指定し、ここではmatch_を使用します.parentは、現在の要素を親要素と同じ幅にすることを示します.
android:layout_heightは現在の要素の高さを指定し、ここではwrap_を使用します.contentは、現在の要素の高さにちょうど中身が含まれていることを示します.
Android:textは、要素に表示される文字の内容を指定します.(@string/app_button_1はtext参照がstringのapp_button_1であることを示す).
このような簡単なレイアウトファイルの作成が完了しました.次に、アクティビティでこのレイアウトファイルをロードし、FirstActivityに戻り、onCreate()メソッドに次のコードを追加します.
public class FirstActivity extends Activity {



    protected void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);

        // , setContentView() 

        setContentView(R.layout.first_layout);

    }

ここでsetContentView()メソッドを呼び出して、現在のアクティビティにレイアウトをロードします.一般的には、レイアウトファイルのidが転送されます.R.layout.を呼び出すfirst_layoutはfirstを得ることができますlayout.xmlレイアウトのidは、setContentView()メソッドにこの値を入力すればよい(コードで使用されるRファイルは、自分で作成したパッケージのRファイルであり、androidパッケージのRファイルをインポートしないことに注意).
 
私たちのレイアウトファイルは書き終わり、アクティビティ(Activity)にもロードされましたが、まだ完成していません.すべてのアクティビティ(Activity)はAndroid TestManifestにあります.xmlに登録してから有効になります.
次のコードはAndroidTestManifestです.xmlに私たちが書いたアクティビティを登録します(Activity):
 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"

 2     package="com.gui.activitytest"

 3     android:versionCode="1"

 4     android:versionName="1.0" >

 5 

 6     <uses-sdk

 7         android:minSdkVersion="15"

 8         android:targetSdkVersion="20" />

 9 

10     <application

11         android:allowBackup="true"

12         android:icon="@drawable/ic_launcher"

13         android:label="@string/app_name"

14         android:theme="@style/AppTheme" >

15         

16         <activity

17             android:name=".FirstActivity"

18             android:label="this is Firstactivity" >

19             

20             <intent-filter>

21                 <action android:name="android.intent.action.MAIN"/>

22                 <category android:name="android.intent.category.LAUNCHER" />

23             </intent-filter>

24         </activity>

25     </application>

26 

27 </manifest>


Android:nameは、どのアクティビティを具体的に登録するかを指定します.
Android:lableアクティビティでタイトルバーの内容を指定します(メインアクティビティに指定したlableはタイトルバーの内容だけでなく、イニシエータでアプリケーションが表示する名前にもなります).
タグにタグを入れ、

この2つの宣言は、FirstActivityをプログラムの主なアクティビティとして使用します.つまり、アプリケーションアイコンを開くには、まずこのアクティビティが開きます.
 
上記の内容を書き終えると、シミュレータでプログラムを実行することができます.