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");
  • 相关阅读:
    Failed to read auto-increment value from storage engine错误的处理方法
    今天测试了一下 sqlalchemy 性能
    PIL The _imaging C module is not installed
    Windows下C语言调用dll动态链接库
    Linux下动态库和静态库的生成和使用
    安卓中WebKit的使用
    php使用curl扩展发送get和post请求示例
    注意笔记
    Linux下Apache2.2和PHP5的安装配置
    PHP文件上传学习
  • 原文地址:https://www.cnblogs.com/zyfdeblog/p/4721831.html
Copyright © 2011-2022 走看看