Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android學習筆記:Activity跳轉

Android學習筆記:Activity跳轉

編輯:高級開發

手機開發最重要的是用戶接口,android中的Activity就是android應用與用戶的接口!

學習android開發之前最起碼要學過J2SE,因為我們是用Java語言開發android應用,當然要會Java語言了。學習Java的途徑很多,推薦在網上找些好的視頻邊看邊學(我曾經就是這樣學Java的)。今天的任務是實現Activity跳轉(就是J2SE中的界面跳轉),在PC機上這個功能非常簡單,但是在android手機上好像還要費一番功夫!

首先來看看android應用的目錄結構:src目錄:這個不用多說是放我們編寫的源代碼的。gen目錄:這個目錄需要注意,裡面有一個R.Java,是定義一些組件ID值的,一般不需要我們修改。接著是assets目錄:這個目錄可以放一些資源文件,還有個res目錄:這個目錄也是放資源文件的,但這裡的資源都要在R.Java中注冊ID值,一般是自動注冊的。res目錄下還有幾個子目錄,前三個是放圖片的(drawable-hdpi,drawable-ldpi,drawable-mdpi)分別代表不同的分辨率的圖片,layout目錄是存放布局文件的,這個非常重要,我們要經常使用。還有個values目錄,這裡存放一些其他資源的。需要特別注意的是在res目錄以及其子目錄下的文件都需要在R.Java裡注冊ID值。還有個文件非常重要,那就是Android的配置文件androidManifest.XML,我們創建的每一個Activity都要在這個文件裡配置。

下面來看開發實例:功能描述:第一個Activity裡有一行文字和一個按鈕,當點擊按鈕時,界面跳轉到第二個Activity,並將從第一個Activity裡傳來的值顯示在界面上。下面是源代碼:

HelloActivity.Java:

  1. package guxia.android;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.VIEw;
  6. import android.view.VIEw.OnClickListener;
  7. import android.widget.Button;
  8. import android.widget.TextVIEw;
  9. public class HelloActivity extends Activity {
  10. /** Called when the activity is first created. */
  11. @Override
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentVIEw(R.layout.main);
  15. TextView myTextView=(TextView)findViewById(R.id.myTextVIEw);
  16. Button myButton = (Button)findVIEwById(R.id.myButton);
  17. myTextVIEw.setText("welcome to myandroid");
  18. myButton.setText("my Button");
  19. myButton.setOnClickListener(new OnClickListener(){
  20. @Override
  21. public void onClick(VIEw arg0) {
  22. Intent intent=new Intent();
  23. intent.putExtra("myname", "這是從HelloActivity傳過來的值");
  24. intent.setClass(HelloActivity.this, Activity01.class);
  25. HelloActivity.this.startActivity(intent);
  26. }
  27. });
  28. }
  29. }

Activity01.Java:

  1. package guxia.android;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.widget.TextVIEw;
  6. public class Activity01 extends Activity{
  7. private TextView myTextVIEw=null;
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. // TODO Auto-generated method stub
  11. super.onCreate(savedInstanceState);
  12. setContentVIEw(R.layout.android01);
  13. myTextView=(TextView)findVIEwById(R.id.android01TextVIEw);
  14. Intent inte=getIntent();
  15. String myname=inte.getStringExtra("myname");
  16. myTextVIEw.setText(myname);
  17. }
  18. }

R.Java

  1. /* AUTO-GENERATED FILE. DO NOT MODIFY.
  2. *
  3. * This class was automatically generated by the
  4. * aapt tool from the resource data it found. It
  5. * should not be modifIEd by hand.
  6. */
  7. package guxia.android;
  8. public final class R {
  9. public static final class attr {
  10. }
  11. public static final class drawable {
  12. public static final int icon=0x7f020000;
  13. }
  14. public static final class id {
  15. public static final int android01TextVIEw=0x7f050000;
  16. public static final int myButton=0x7f050002;
  17. public static final int myTextVIEw=0x7f050001;
  18. }
  19. public static final class layout {
  20. public static final int android01=0x7f030000;
  21. public static final int main=0x7f030001;
  22. }
  23. public static final class string {
  24. public static final int android01=0x7f040002;
  25. public static final int app_name=0x7f040001;
  26. public static final int hello=0x7f040000;
  27. }
  28. }

main.XML(Layout目錄下,HelloActivity的布局文件):

  1. <?XML version="1.0" encoding="utf-8"?>
  2. <LinearLayout XMLns:android="http://schemas.android.com/apk/res/android"
  3. android:orIEntation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextVIEw
  8. android:id="@+id/myTextVIEw"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12. <Button
  13. android:id="@+id/myButton"
  14. android:layout_width="fill_parent"
  15. android:layout_height="wrap_content"
  16. />
  17. </LinearLayout>

Activity01.XML(Activity01的布局文件):

  1. <?XML version="1.0" encoding="utf-8"?>
  2. <LinearLayout XMLns:android="http://schemas.android.com/apk/res/android"
  3. android:orIEntation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextVIEw
  8. android:id="@+id/android01TextVIEw"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12. </LinearLayout>

strings.XML(values目錄下):

  1. <?XML version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="hello">Hello World, HelloActivity!</string>
  4. <string name="app_name">helloWord</string>
  5. <string name="android01">android</string>
  6. </resources>

配置文件androidManifest.XML:

  1. <?XML version="1.0" encoding="utf-8"?>
  2. <manifest XMLns:android="http://schemas.android.com/apk/res/android"
  3. package="guxia.android"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <uses-sdk android:minSdkVersion="8" />
  7. <application android:icon="@drawable/icon" android:label="@string/app_name">
  8. <activity android:name=".HelloActivity"
  9. android:label="@string/app_name">
  10. <intent-filter>
  11. <action android:name="android.intent.action.MAIN" />
  12. <category android:name="android.intent.category.LAUNCHER" />
  13. </intent-filter>
  14. </activity>
  15. <activity android:name=".Activity01" android:label="@string/android01">
  16. </activity>
  17. </application>
  18. </manifest>
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved