美文网首页
页面跳转和数据传递

页面跳转和数据传递

作者: fantasy_dandan | 来源:发表于2016-05-09 21:50 被阅读0次

    Activity

    • 安卓四大组件之一

    创建Activity

    • 定义java类,继承Activity
    • 在清单文件中配置activity标签

    Activity跳转

    • 显示跳转
      • 同一应用中,指定目标Activity的zi字节码和当前的上下文
      • 不同应用中,指定目标Activity所在的应用的包名和目标Activity的包名加类名
    • 隐私跳转
    • 指定action和data
    Activity跳转 显示启动拨号器 找到拨号器的Activity 注意应用包名

    应用包名和类包名可以不一样,默认是一样的。应用包名也是类包名

    配置intent-filter让activity可以隐私启动

    • 在清单文件的activity标签下,配置intent-filter子节点,其中再配置action和category 如果不配只能被显式启动。
      在所有的清单文件中去寻找与程序员创建的intent匹配的intent-filter的Activity。找到则启动,找不到则抛异常。

    Activity 跳转传递数据

    Activity生命周期

    Activity生命周期
    • onCreate():创建时调用
    • onStart():在屏幕上可见,但是没有获得焦点
    • onResume():可见并获得焦点
    • onPause(): 可见,但是失去焦点
    • onStop():不可见
    • onDestory( ):销毁时调用
    • 手机内存不足时,会杀死之前启动的进程,按照LRU算法(最近最少使用算法)锁定杀死谁

    Activity启动模式

    • Activity task stack:任务栈(存放Activity实例的)
      • 连续的内存空间
      • 后进先出
    • standard
      默认是标准默认
    • singleTop
      如果启动的activity在栈顶则不创建,不跳转
      应用场景:防止第三方多次启动
    • singleTask
      如果Activity没有被创建任何实例,那么启动时会创建,如果已经在栈顶了,就不会再创建了,那么启动时是返回至该Activity而不会再创建该Activity。保证该Activity时在栈中只有一个实例。
      应用场景:手机浏览器
      singleTask应用场景
      这样做为了节省资源
    • singleStance
      在一个单独的任务栈中创建该Activity的实例,然后再也不会创建第二个实例了,以后每次启动该Activity,都会把该Activity的所显示的栈显示至前台。
      保证整个系统的内存都只存在唯一个该Activity实例
      应用场景:
      来电界面
    来电

    横竖屏切换

    屏幕切换

    目前一般不支持横竖屏切换


    写死屏幕切换 竖屏

    如果一套布局可以支持横竖屏的话。

    不要系统处理
    • 默认情况横竖屏切换会触发生命周期方法重新执行,Activity销毁
    • 使用以下代码让横竖屏切换时不重建Activity
    android:configChanges="orientation|screenSize|keyboardHidden"
    
    • 用以下代码写死屏幕方向
    android:screenOrientation="portrait"
    

    也可以这么写死屏幕


    代码写死

    点击ListView返回Intent

    weight布局 请求Activity为结果 处理请求Activity结果 通过返回请求码处理 通过结果码处理不同数据

    相关文章

      网友评论

          本文标题:页面跳转和数据传递

          本文链接:https://www.haomeiwen.com/subject/miverttx.html