第3天:Android应用组件补充材料——`LifecycleActivity.kt`解读

下面是对“第3天:Android应用组件”该文学习的更深层次的补充材料,对 LifecycleActivity.kt 文件的理解。
下面对LifecycleActivity.kt 文件中每一行进行详细解释:

package com.example.lifecycleactivity
  • 这一行定义了包名,表示这个类属于com.example.lifecycleactivity包。
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
  • 这些导入语句引入了必要的类:
    • Bundle:用于在Activity之间传递数据。
    • Log:用于记录日志,方便调试。
    • AppCompatActivity:Android的基础Activity类,提供了向后兼容的功能。
class LifecycleActivity : AppCompatActivity() {
  • 定义了一个名为LifecycleActivity的类,继承自AppCompatActivity,以便能够使用Activity的功能。
    private val TAG = "LifecycleActivity"
  • 定义一个常量TAG,用于标识日志输出的标签,便于在Logcat中筛选日志。
    override fun onCreate(savedInstanceState: Bundle?) {
  • 重写onCreate方法,这是Activity生命周期的第一个调用方法。当Activity被创建时调用。
        super.onCreate(savedInstanceState)
  • 调用父类的onCreate方法,确保父类的初始化工作完成。
        setContentView(R.layout.activity_lifecycle)
  • 设置Activity的内容视图,加载名为activity_lifecycle.xml的布局文件。
        Log.d(TAG, "onCreate called")
  • 记录日志,表示onCreate方法被调用,可以在Logcat中看到这一信息。
    override fun onStart() {
  • 重写onStart方法,当Activity即将对用户可见时调用。
        super.onStart()
  • 调用父类的onStart方法,确保父类的初始化工作完成。
        Log.d(TAG, "onStart called")
  • 记录日志,表示onStart方法被调用。
    override fun onResume() {
  • 重写onResume方法,当Activity对用户可见并与用户交互时调用。
        super.onResume()
  • 调用父类的onResume方法,确保父类的初始化工作完成。
        Log.d(TAG, "onResume called")
  • 记录日志,表示onResume方法被调用。
    override fun onPause() {
  • 重写onPause方法,当另一个Activity覆盖当前Activity时调用。
        super.onPause()
  • 调用父类的onPause方法,确保父类的初始化工作完成。
        Log.d(TAG, "onPause called")
  • 记录日志,表示onPause方法被调用。
    override fun onStop() {
  • 重写onStop方法,当Activity不再对用户可见时调用。
        super.onStop()
  • 调用父类的onStop方法,确保父类的初始化工作完成。
        Log.d(TAG, "onStop called")
  • 记录日志,表示onStop方法被调用。
    override fun onRestart() {
  • 重写onRestart方法,当Activity从停止状态恢复到运行状态时调用。
        super.onRestart()
  • 调用父类的onRestart方法,确保父类的初始化工作完成。
        Log.d(TAG, "onRestart called")
  • 记录日志,表示onRestart方法被调用。
    override fun onDestroy() {
  • 重写onDestroy方法,当Activity即将被销毁时调用。
        super.onDestroy()
  • 调用父类的onDestroy方法,确保父类的清理工作完成。
        Log.d(TAG, "onDestroy called")
  • 记录日志,表示onDestroy方法被调用。

总结

这段代码实现了一个简单的Android Activity,展示了Activity的生命周期方法。在每个生命周期方法中,都通过日志记录了调用情况,便于开发者在Logcat中观察Activity的状态变化。

E/AndroidRuntime: FATAL EXCEPTION: Thread-18 Process: com.example.read, PID: 22568 java.lang.RuntimeException: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.210.113 not permitted by network security policy at com.example.read.upload_serverActivity$1.run(upload_serverActivity.java:111) at java.lang.Thread.run(Thread.java:920) Caused by: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.210.113 not permitted by network security policy at okhttp3.internal.connection.RealRoutePlanner.planConnectToRoute$okhttp(RealRoutePlanner.kt:195) at okhttp3.internal.connection.RealRoutePlanner.planConnect(RealRoutePlanner.kt:152) at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:67) at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:118) at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:267) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:65) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:205) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:158) at com.example.read.upload_serverActivity$1.run(upload_serverActivity.java:106) at java.lang.Thread.run(Thread.java:920) 怎么解决
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值