1.1 平台概览

  • Android 基于 Linux 内核,应用层主要使用 Kotlin/Java 开发。
  • 核心系统组件:Activity、Service、BroadcastReceiver、ContentProvider。

1.2 应用结构与模块

  • app 模块为应用入口,可按功能拆分子模块(如 feature-xxx)。
  • 现代实践:MVVM 架构、Jetpack 组件(Lifecycle、ViewModel、LiveData/Flow、Navigation)。

1.3 四大组件简介

  • Activity:界面与交互入口。
  • Fragment:可复用的界面片段,配合 Navigation 管理。
  • Service:长期后台任务(前台服务需通知)。
  • BroadcastReceiver:系统或应用广播事件接收。

1.4 AndroidManifest 与权限

<manifest package="com.example.app">
    <application>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

1.5 现代架构示例(MVVM)

class MainViewModel: ViewModel() {
    private val _text = MutableStateFlow("Hello")
    val text: StateFlow<String> = _text
}

class MainActivity: AppCompatActivity() {
    private val vm: MainViewModel by viewModels()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        lifecycleScope.launchWhenStarted {
            vm.text.collect { findViewById<TextView>(R.id.tvHello).text = it }
        }
    }
}