Android学习笔记:Activity跳转

移动开发 Android
Activity就是Android应用与用户的接口,用户接口是手机开发最重要的部分。本文通过一个开发实例,给大家讲解了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.     
  3. import android.app.Activity;     
  4. import android.content.Intent;     
  5. import android.os.Bundle;     
  6. import android.view.View;     
  7. import android.view.View.OnClickListener;     
  8. import android.widget.Button;     
  9. import android.widget.TextView;     
  10.     
  11. public class HelloActivity extends Activity {     
  12.     /** Called when the activity is first created. */    
  13.     @Override    
  14.     public void onCreate(Bundle savedInstanceState) {     
  15.         super.onCreate(savedInstanceState);     
  16.         setContentView(R.layout.main);     
  17.         TextView myTextView=(TextView)findViewById(R.id.myTextView);     
  18.         Button myButton = (Button)findViewById(R.id.myButton);     
  19.         myTextView.setText("welcome to myAndroid");     
  20.         myButton.setText("my Button");     
  21.         myButton.setOnClickListener(new OnClickListener(){     
  22.     
  23.             @Override    
  24.             public void onClick(View arg0) {     
  25.                 Intent intent=new Intent();     
  26.                 intent.putExtra("myname""这是从HelloActivity传过来的值");     
  27.                 intent.setClass(HelloActivity.this, Activity01.class);     
  28.                 HelloActivity.this.startActivity(intent);            
  29.             }                
  30.         });     
  31.     }        
  32. }  

 

Activity01.java:

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

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.     
  8. package guxia.android;     
  9.     
  10. public final class R {     
  11.     public static final class attr {     
  12.     }     
  13.     public static final class drawable {     
  14.         public static final int icon=0x7f020000;     
  15.     }     
  16.     public static final class id {     
  17.         public static final int android01TextView=0x7f050000;     
  18.         public static final int myButton=0x7f050002;     
  19.         public static final int myTextView=0x7f050001;     
  20.     }     
  21.     public static final class layout {     
  22.         public static final int android01=0x7f030000;     
  23.         public static final int main=0x7f030001;     
  24.     }     
  25.     public static final class string {     
  26.         public static final int android01=0x7f040002;     
  27.         public static final int app_name=0x7f040001;     
  28.         public static final int hello=0x7f040000;     
  29.     }     
  30. }   

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.     
  8.     <application android:icon="@drawable/icon" android:label="@string/app_name">    
  9.         <activity android:name=".HelloActivity"    
  10.                   android:label="@string/app_name">    
  11.             <intent-filter>    
  12.                 <action android:name="android.intent.action.MAIN" />    
  13.                 <category android:name="android.intent.category.LAUNCHER" />    
  14.             </intent-filter>    
  15.         </activity>    
  16.         <activity android:name=".Activity01" android:label="@string/android01">    
  17.         </activity>    
  18.          
  19.     </application>    
  20. </manifest>   

【编辑推荐】

  1. Android学习笔记:Layout.xml属性
  2. Android用户界面设计:线性布局
  3. Android用户界面设计:布局基础
  4. Android开发实例详解之IMF
  5. Kindle和Android开发的比较

 

责任编辑:佚名 来源: iteye
相关推荐

2011-05-30 14:00:35

Android Activity Intent

2010-01-28 14:12:20

Android Act

2011-05-30 17:02:56

Android Activity 传参与跳转

2015-03-30 14:03:13

ActivityGroActivity跳转

2021-09-18 14:45:26

鸿蒙HarmonyOS应用

2011-06-03 13:11:19

Android Activity

2011-09-09 13:59:17

Android wid

2011-09-09 16:38:51

Android Wid源码

2013-04-03 14:58:43

Android学习笔记实用代码合集

2011-09-07 11:15:25

2011-09-07 10:34:48

Android Wid

2013-01-08 13:33:07

Android开发Activity入门指南

2015-10-20 15:54:16

android源码滑动关闭

2012-02-17 17:07:30

Android安全Activity劫持

2011-03-30 17:32:28

androidmaniAndroid开发

2011-04-08 09:46:28

Layout.xmlAndroid

2010-02-06 10:14:36

Android Act

2011-06-02 11:13:10

Android Activity

2014-08-08 10:36:12

ActivityAndroid

2010-02-05 14:48:04

Android手机操作
点赞
收藏

51CTO技术栈公众号