欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Introduction to Activities

程序员文章站 2022-06-15 18:43:20
...

一个 APP 通常由多个 Activity 组成。Activity 之间是一种松散的组成关系,它不仅可以在自己的 APP 中使用,也可以被其他 APP 单独调用。
如果要调用其他 APP 中的 Activity 需要在清单文件 manifest 中声明。

Declare activities

<manifest ... >
  <application ... >
      <activity android:name=".ExampleActivity" />
      ...
  </application ... >
  ...
</manifest >

Activity 有两种启动方式: 隐式 和显式。显式通过明确的类来启动,隐式通过 intent-filter 调用。

Declare intent filters

<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
</activity>
// Create the text message with a string
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
// Start the activity
startActivity(sendIntent);

一个 Activity 要调用另一个 Activity,他们必须拥有相同的权限。

Declare permissions

<manifest>
<activity android:name="...."
   android:permission=”com.google.socialapp.permission.SHARE_POST”

/>
<manifest>
   <uses-permission android:name="com.google.socialapp.permission.SHARE_POST" />
</manifest>

Managing the activity lifecycle

onCreate()

初始化 Activity,setContentView() 设置布局视图。

onStart()

Activity 对用户已经可见。

onResume()

与用户交互前的状态,Activity 处于 activity stack 栈顶,可以接受用户输入。

onPause()

“部分可见”,表示用户正在离开 Activity,可以继续更新UI。

onStop()

Activity 对用户已经不可见。

onRestart()

恢复 Acitivity 的状态。

onDestroy()

销毁 Activity,释放资源。