美文网首页Android Zone
Android Activity使用方法

Android Activity使用方法

作者: 翻译不了的声响 | 来源:发表于2018-04-27 10:48 被阅读2次

Activity 是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。Activity是一个应用程序组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。

结构图
1. Activity的基本使用

1)继承Activity初始化控件,实现Activity的生命周期方法。

public class MainActivity extends Activity {
       private Textview textView;
       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
           textView= (TextView) this.findViewById(R.id.textView);
       }

        @Override
       protected void onStart() {
           super.onStart();
           Log.d(TAG, "onStart");
       }

       @Override
       protected void onStop() {
           super.onStop();
           Log.d(TAG, "onStop");
       }

       @Override
       protected void onResume() {
           super.onResume();
           Log.d(TAG, "onResume");
       }

       @Override
       protected void onPause() {
           super.onPause();
           Log.d(TAG, "onPause");
       }

       @Override
       protected void onDestroy() {
           super.onDestroy();
           Log.d(TAG, "onDestroy");
       }
}

2)在Manifest.xml清单文件中注册Activity。

 <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
2. Activity的生命周期

Android Activity生命周期解析

3. Activity的启动模式

Android Activity启动模式

4. Activity的数据传递

Android Intent用法总结

5. Activity常见使用场景
  • 启动、关闭Activity
    1)启动Activity有如下两个方法:
    startActivity(Intent intent); // Activity页面跳转
    startActivityForResult(Intent intent , int resquestCode); // Activity页面回传跳转
    2)关闭Activity有如下两种方法:
    finish(); // 结束当前Activity
    finishActivity(int requestCode); // 结束指定Activity

  • 数据交互
    Intent提供多个重载方法,如下:
    1)向Intent中放入数据: putExtra(Bundle data);
    2)从Intent中取出数据: Bundle getExtra();
    3)向Intent中按key_value键值对的形式存入数据:putExtra(String name,Xxx value);
    4)指定的key,取出数据:getXXXExtra(String name);

传值方法一:

Intent intent = new Intent(MainActivity.this,TestActivity.class);
intent.putExtra("path","www.baidu.com");
startActivity(intent);

传值方法二:

Intent intent = new Intent(MainActivity.this,TestActivity.class);
Bundle bundle = new Bundle();
bundle.putString("path","www.baidu.com");
intent.putExtras(bundle);
startActivity(intent);

传值方法三:

Intent intent = new Intent(MainActivity.this,TestActivity.class);
intent.putExtra("path","www.baidu.com");
startActivityForResult(intent, 1);

接收方法一:

Intent getIntent = this.getIntent();
String url = getIntent.getStringExtra("path");

接收方法二:

Bundle bundle = this.getIntent().getExtras();       
String url = bundle.getString("path");

回传方法:

Intent intent = new Intent();
intent.putExtra("Data", "from Second");
setResult(RESULT_OK,intent);

回调方法:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   switch (requestCode) {
    case 1:
     if(resultCode == RESULT_OK){
      String string=data.getStringExtra("Data");
      Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
     }
     break;
     default:
       break;
  }
}

相关文章

网友评论

    本文标题:Android Activity使用方法

    本文链接:https://www.haomeiwen.com/subject/hlwelftx.html