Android中activity和xml的第一个项目

我们使用的手机不光是只用到一个应用程序,比如在淘宝界面要付款的时候可能会启动微信付款等,这就相当于在淘宝的Activity中启动了微信的Activity。还比如说当我们注册一个网站是,可能会给自己发送一条短信作为验证,这就是在当前的Activity中启动了短信的Activity。之前对比的MVC设计模式中Controller可以调用另一个Controller中的数据或者跳转等,那么在Android平台中也是可以实现Activity之间的调用的。

 

程序:

              首先做这样一个程序,从一个Activity跳转到另一个Activity中:

              关联的布局文件main.xml:

[html]  view plain  copy
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent">  
  6.       
  7.     <Button  
  8.         android:id="@+id/myButton"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"  
  11.         />  
  12.   
  13. </LinearLayout>  

              第一个Activity:

[csharp]  view plain  copy
  1. public class Activity extends ActionBarActivity {  
  2.     /** 
  3.      * Called when the activity is first created 
  4.      */  
  5.     //首先获得点击跳转的按钮  
  6.     private Button myButton =null;  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.main); //选择关联的布局文件  
  11.         myButton=(Button)findViewById(R.id.myButton); //通过id获得按钮  
  12.         //通过监听器把对象捆绑到按钮上  
  13.         myButton.setOnClickListener((android.view.View.OnClickListener) new MyButtonListener());  
  14.     }  
  15.       
  16.     //监听器类  
  17.     class MyButtonListener implements OnClickListener{    
  18.         public void onClick(View v){  
  19.             // 生成一个Intent对象  
  20.             Intent intent=new Intent();  
  21.             intent.putExtra("testIntent""123");  
  22.             intent.setClass(Activity.this, OtherActivity.class); //设置跳转的Activity  
  23.             Activity.this.startActivity(intent);  
  24.         }  
  25.     }  
  26. }  

              第一个Activity到第二个Activity是通过intent来传送数据的,那么在第二个Activity是如何接收数据的呢?第二个Activity对应的布局文件other.xml中只用一个TextView来盛放数据。

[html]  view plain  copy
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  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. </LinearLayout>  

              第二个Activity中接收数据

[csharp]  view plain  copy
  1. public class OtherActivity extends Activity {  
  2.     private TextView myTextView=null;  
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         // TODO Auto-generated method stub  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.other);  
  8.         Intent intent=getIntent();  
  9.         String value=intent.getStringExtra("testIntent");  
  10.         myTextView=(TextView)findViewById(R.id.myTextView);  
  11.         myTextView.setText(value);  
  12.     }  
  13. }  

             当然不要忘记在配置文件中注册第二个Activity:

[html]  view plain  copy
  1. <activity android:name=".OtherActivity" android:label="@string/other" />  

              在一个Activity跳转到另外一个Activity中是通过intent对象来传递的,而一个Intent对象到底能包含多少东西还需要我们自己去实践。

猜你喜欢

转载自blog.csdn.net/scdnzhoulu/article/details/78773917