android中一个activity实际上可以看做是一个屏幕,屏幕之间的切换实际上也就是也就是活动间的切换,更准确地说,应该是调用,
而在android中是通过intent完成这个动作的
通过apidemo中的一个例子来讲解(AndroidManifafest 和布局文件 为手敲 )
先是对于最根本的AndroidManifafest文件的编辑
-------------------------------------初学者了解-----------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?> <!-- xmlns类似于C++中的名字域,下面这几句几乎均是默认,不会有太大变化--> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.study.intent" android:versionCode="1" android:versionName="1.0"> <!-- label是应用的名字,icon是应用的图标--> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <!--name指明是哪个活动 --> <activity android:name="Activity1" android:label="@string/app_name"> <!--Intent对象是一个信息包。 它包含了要接收此Intent的组件需要的信息 (例如需要的动作和动作需要的信息) 和 android 系统需要的信息(要处理此Intent的组件的类别和怎样启动它) action.MAIN将该Activity作为task的第一个Activity ,没有数据输入,也没有数据返回 category.LAUNCHER可以让一个activity出现在launcher --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!--由于没有intent-filler,Activity2是不能直接启动的--> <activity android:name="Activity2" > . </activity> </application> </manifest>
作为launcher的activity1会在点击图标后启动,进而调用activity2
package com.study.intent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class Activity1 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = ( Button ) findViewById ( R.id.btn ); btn.setOnClickListener ( new OnClickListener () { public void onClick ( View v ) { Intent intent = new Intent ();//建立intent <pre name="code" class="java">intent.setClass ( Activity1.this , Activity2.class );//设置活动
————————————————————————————————————————————————————————————————————
activity2,大部分内容可以写在布局文件中
package com.study.intent; import android.app.Activity; import android.os.Bundle; public class Activity2 extends Activity { public void onCreate ( Bundle b ) { super.onCreate ( b ); setContentView ( R.layout.layout2 ); } }activity1的布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/leader" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/leader" /> <Button android:id="@+id/btn" android:layout_width="80sp" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/btn" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent" > <TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/text" /> </LinearLayout>