标签:android des cWeb style blog http
1. 如何在一个应用程序中定义多个Activity
2. 启动一个Activity的方法
3. Android当中的back stack(历史栈)
1. 如何在一个应用程序中定义多个Activity
如果将一个Android程序看成一个网站, 一个Activity就是一个网页
定义多个Activity的方法:
OnCreate是Activity运行的入口
Manifest文件是Android的主配置文件, 所有的控件都要在此注册
新建多个Activity在代码中实现的过程
新建一个叫MultiActivity, 继承Activity, 并选择复写Activity的OnCreate方法
新建此Activity成功后, 为此Activity新建一个布局文件
选择普通的 LinearLayout 即可 , 加入一个简单的 TextView 在里面
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 7 <TextView 8 android:id="@+id/firstMultiActivity" 9 android:layout_width="match_parent" 10 android:layout_height="wrap_content" 11 android:text="Hello Mirror" 12 /> 13 14 </LinearLayout>
在MultiActivity.java里面选择加载此布局文件
1 package first.pack; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 6 public class MultiActivity extends Activity{ 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 // TODO Auto-generated method stub 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.multi_main); //加载 13 } 14 15 }
最后要在Manifest.xml文件中进行注册
点开后出现如下信息
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="first.pack" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="first.pack.MainActivity" //Activity的名字:包名+类名 android:label="@string/app_name" > //程序运行界面的Label名称 <intent-filter> //这一段放在哪就使该Activity成为默认Activity <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
添加代码后如下
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="first.pack" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="8" 9 android:targetSdkVersion="19" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <activity 17 android:name="first.pack.MainActivity" 18 android:label="@string/FirstMirror" > 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 26 <activity 27 android:name="first.pack.MultiActivity" //包名+类名 28 android:label="@string/SecondMirror" > //跟主Activity区别开来 29 </activity> 30 31 </application> 32 33 </manifest>
2. 启动一个Activity的方法
成功定义一个Activity之后就要学会如何启动
Intent --- 意图
目标: 在默认Activity中设置一个按钮,点击就跳到第二个界面
1 public static class PlaceholderFragment extends Fragment { 2 3 private Button button; 4 5 public PlaceholderFragment() { 6 } 7 8 @Override 9 public View onCreateView(LayoutInflater inflater, ViewGroup container, 10 Bundle savedInstanceState) { 11 View rootView = inflater.inflate(R.layout.fragment_main, container, false); 12 13 button = (Button)rootView.findViewById(R.id.firstButton); 14 15 ButtonListener buttonListener = new ButtonListener(); 16 button.setOnClickListener(buttonListener); 17 18 return rootView; 19 } 20 21 class ButtonListener implements OnClickListener{ 22 23 @Override 24 public void onClick(View v) { 25 // TODO Auto-generated method stub 26 Intent intent = new Intent(); 27 //第一个参数是context参数,activity类是Context类的子类,Activity都可向上转型为context 28 //第二个参数是要启动的activity 29 intent.setClass(getActivity(),MultiActivity.class); //重要!!!! 30 startActivity(intent); 31 } 32 } 33 }
程序默认运行主界面FirstMirror
点击之后,跳转到第二个页面SecondMirror
3. Android当中的back stack(历史栈)
只显示最上的一个Activity, 按后退键会依次显示栈里面的Activity
Activity生命周期(一),布布扣,bubuko.com
标签:android des cWeb style blog http
原文地址:http://www.cnblogs.com/iMirror/p/3831832.html