随笔

AndroidManifest.xml

  • Activity 主窗口, 对应一个 Activity子类 ,  通过name 属性和子类挂钩, 如".HelloWorld". Activity 经常被用来当全屏窗口使用, 但是也可以作为浮动窗口或嵌套到其他的 Activity 中.

 

 

 

 

Activity的生命周期图(好久没画图了, visio2007挺好用的)

 

  • onCreate() 里设置所有的 "全局" 状态.
  • onDestroy() 里释放所有的资源.
  • onPause()) 在停止与用户交互前, 保存更改过的数据.
  • 当覆盖这些方法的时候, 务必记得先调用超类的方法. 如, super.onCreate(savedInstanceState)
  • 手动调用 Activity对象的 finish() 方法, 代表这个Activity已运作完毕,当系统接收到这个命令时,即会关闭此Activity. 此时点击模拟器的返回(Back)键,并不会回到上一个Activity的画面.

 


 

      web 开发的时候, 有这样一种场景, 你必须选择一个人来进行操作, 操作的人很多, 我们把这些人放到一个弹出窗口中, 然后进行选择, 选择完毕以后, 我们关闭窗口, 返回结果, 把结果填充到原来的界面上.

      上述的类似操作, 很多人在项目中应该都碰到过, 为此, 我曾经对公司的架构师提出增加此场景的处理方案, 可惜, 人家不理会我. 而Android 的设计者是很人性化的, 他们理解这样的场景需求, 并为我们提供了方便的处理方案!!!! 那就是

       startActivityForResult(Intent intent, int requestCode);

       该方法第一个参数不用多说了, 第二个参数是一个整形, 自己定义, 是对该次请求的一个标识, 目标Activity 又不是只有你一个可以请求, 是吧! 所以有个标识对目标Activity 来说, 也可以认出请求的对象是张三还是李四; 并且, 请求者对目标Activity 的请求可以不只一个, 某种请求是需要一个名字, 另一个请求是需要一个性别等.

       当然, requestCode 是自己定义的, 我们很难确保它一定是唯一的, 这个就要看开发者自己的处理方式了.

 

  •        请求者Activity, 需要用 startActivityForResult() 替换 startActivity() 方法, 并且覆盖          

 

       protected   void  onActivityResult( int  requestCode,  int  resultCode, Intent data)  


 

  • 目标Activity, 主要是通过调用方法 setResult(int resultCode, Intent data) 或者 setResult(int resultCode) , 后者是不需要返回数据的时候使用, resultCode 可以是自定义的, 也可以在Activity 中有三种常量RESULT_CANCELED=0, RESULT_OK=-1, RESULT_FIRST_USER=1 中选择一种, 他们分别表示运行取消, 运行成功返回和用户自定义的返回码. 当用户按下返回键时, resultCode 就是 RESULT_CANCELED, 在一些情况下也会返回 RESULT_CANCELED, 例如目标Activity崩溃了. RESULT_FIRST_USER 代表了用户自定义返回码的第一个, Android希望我们自定义的返回码都>=1.

 

 

 

 

 

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值