back>>
1. Activity的作用
??? * 是android应用程序和用户交互的接口;
??? * 一个Activity中可以放置很多控件,可以把Activity看做是一些控件的容器。
???
2. 创建Activity的方法
??? * 创建一个Activity类,一个Activity就是一个类,并且这个类要继承Activity;
??? * 覆写父类的onCreate方法,当一个Activity第一次运行时,会调用该方法;
??? * 设置布局文件: setContentView(R.layout.main);
??? * 一个应用程序可以有很多个Activity;
??????? - 在一个Activity中启动另外一个Activity的方法: startActivity(Intent intent);(见代码02_Activity_01,乘法计算)
??????? - Activity可以启动另外一个Activity(不限于Activity,可以是其它组件),并且所启动的组件可以不在当前应用程序中;
??? * Activity必须注册到AndroidManifest.xml文件中;
<activity android:name=".Activity01" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Activity02" android:label="@string/app_name"> </activity>
??? * 应用程序启动时,会首先调用在AndroidManifest.xml里注册的有intent-filter元素的那个Activity。
?
3. Intent的作用: 相当于B/S结构中的request请求,在Activity(不限于Activity)之间传递数据
??? * Intent是一个对象,包含了一组信息:
??????? - Component name: 指定要启动的组件(Activity)
??????? - Action: 指定下一个组件要执行的操作
??????? - Data: 传递给下一个组件的数据,RUI形式
??????? - Category
??????? - Extras: 传递给下一个组件的数据,键值对的形式
??????? - Flags
??? * 使用Intent在Activity之间传递数据的基本方法;
Intent intent = new Intent(); intent.putExtra("one", factorOneStr); intent.putExtra("two", factorTwoStr); //Activity01.this是当前Activity,Activity02.class是要跳转到的组件 intent.setClass(Activity01.this, Activity02.class); Activity01.this.startActivity(intent);//启动
??? * 在另外一个Activity中得到传递的Intent对象
Intent intent = getIntent(); String factorOne = intent.getStringExtra("one"); String factorTwo = intent.getStringExtra("two");?
4. 在Activity中添加必要的控件
??? * 在layout的配置文件中添加控件,并指定控件的id??
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<!--LinearLayout是线性布局(除此之外还有相对定位和绝对定位布局等),vertical表示垂直方向线性布局--> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/myButton" android:layout_width="fill_parent" android:layout_height="wrap_content"/><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /></LinearLayout>?
??? * 在Activity中通过控件id来访问控件,设置控件的一些样式和内容
Button myButton = (Button) findViewById(R.id.myButton); myButton.setText(" 这是我的第一个button"); myButton.setOnClickListener(new MyButtonListener());。。。class MyButtonListener implements OnClickListener { public void onClick(View v) { }}
?