zoukankan      html  css  js  c++  java
  • 《第一行代码--Android》阅读笔记之Activity

    1.BaseActivity里面可以干什么

    定义一个Context
    定义一个TAG

    记录当前的Activity名字getClass().getSimpleName();

    2.Activity里面的几个重载方法
    //完整生存周期
    onCreate() 首次创建Activity时
    onDestroy() 在Activity销毁之前
    //可见生存周期
    onStart() 在Activity由不可见变为可见时
    onStop() 在Activiy由可见变为完全不可见时(如被一个新的Activity完全覆盖)
    //前台生存周期
    onResume() 在Activity由不在栈顶&&任然可见==》变为在栈顶,可见时候
    onPause() 在Activity离开栈顶但仍然可见时(如被一个Dialog部分遮挡)

    onRestart() 由停止状态变为运行状态
     
    3.Activity的启动模式
    有4种启动模式,分别为normal、singleTop、singleTask和singleInstance模式,默认为normal。
    修改方法:在AndroidManifest.xml的<Activity 标签之后添加android:launchMode="singleTop"
    normal模式:相当与一个普通的JavaBean, 可重复创建
    singleTop模式:在启动Activity时如果发现栈顶已经是该Activity,则不会再创建新的实例
    singleTask模式:相当于Singleton,不论是否在栈顶,都只存在一个实例
    singleInstance模式:也是单例,但存放在单独的栈中,用于两个APP共享Activity,进行跳转
     
    4.手工管理Activity
    建立一个类用于存放并管理Activity,并提供addActivity、removeActivity、finishAll()这样的方法
    在BaseActivity的的onCreate()方法中调用addActivity(),在onDestroy中调用removeActivity()方法
    一键销毁所有Activity并Kill进程,就完成了APP的退出
     
    5.启动Activity的参数
    为了便于明确Activity之间传递的参数,可在被启动的Activity中(如SecondActivity)设置一个单独的方法,如start(),并给定所需参数。调用时候,用这样的方式
    public void onClick(View v) {
         SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
  • 相关阅读:
    泛型接口协变和抗变
    泛型类功能
    泛型结构
    using 关键字给类和名称空间指定别名
    sqlite创建数据库问题
    sqlite命令
    必须输入大于0的整数
    最近在看c#本质论和B站上对应这本书的视频
    Linux系统管理笔记
    创建圆形类,其中包括set,get方法
  • 原文地址:https://www.cnblogs.com/zyfdeblog/p/4721831.html
Copyright © 2011-2022 走看看