Android组件----Activity

来源:互联网 发布:新东方网络视频哪里买 编辑:程序博客网 时间:2024/04/20 10:52

Android活动是一种可以包含用户界面的组件,主要用于和用户进行交互。

1. 创建活动

因为活动包含界面,所以首先要有一个界面

1.1 创建布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">        <Button                    android:id="@+id/button"                    android:layout_width="match_parent"                                          android:layout_height="match_parent"                    android:text="button"                                /></LinearLayout>

1.2 创建活动并加载布局

public class MyActivity extends Activity {       @override       protected void onCreate(Bundle savedInstanceState) {                      super.onCreate(savedInstanceState);                     //加载布局                      setContentview(R.layout.my_layout);      }}

1.3 在AndroidManifest文件中注册

活动要在AndroidManifest.xml文件中注册才能生效

<manifest xmlns:android="http://schemas.android.com/apk/res/android"          package="com.example.activitytest">    <uses-permission android:name="android.permission.VIBRATE"/>    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <!--活动注册-->        <activity android:name=".activity.MainActivity">            <intent-filter>               <!--声明为主活动-->                <action android:name="android.intent.action.MAIN"/>                <category android:name="android.intent.category.LAUNCHER"/>            </intent-filter>    </application></manifest>

此时应用启动就会显示一个带有按钮的界面

2.点击按钮跳转到下一界面

再次创建一个活动和布局,并在AndroidManifest.xml中注册活动
获取按钮并对其监听
在MyActivity.java文件的 onCreate()方法中添加如下代码

Button button = (Button) findViewById(R.id.buton);button.setOnclickListener(new OnclickListener) {           @override           public void onClick(view v) {                      Intent intent = new Intent(MyActivity.this, MyActivity1.class);                      startActivity(intent);           }}

3.向下一个活动传递数据

==活动之间同样通过Intent传递数据==

3.1 发送数据的活动方在要传递数据的位置添加如下代码

String data = "send data...";Intent intent = new Intent(MyActivity.this, MyActivity1.class);intent.putExtra("extra_data", data);startActivity(intent);

3.2 接收数据的活动方添加

Intent intent = getIntent();String data = intent.getStringExtra("extra_data);

4. 返回数据给上一个活动

4.1 接收数据活动

Intent intent = new Intent(MyActivity.this, MyActivity1.class);startActivityForResult(intent, 1);

4.2发送数据活动

Intent intent = new Intent();intent.putExtra("data_return",  "return data...");setResult(RESULT_OK, intent);

4.3 接收数据活动重写onActivityResult方法

protected void onActivityResult(int requestCode, int resultCode, Intent data) {               switch(requestCode) {               case 1:                         if(resultCode == RESULT_OK) {                               String returnData = data.getStringExtra("data_return");                         }                         break;                default:               }}

来源:http://georgechou.cn/androidzu-jian-activity/

0 0