第一行代码二刷阅读笔记(第二章)

主要是记录一些自己的想法和一些用处的理解。

第二章主要介绍的是活动的使用,以及一些小的功能的使用,比如toast和menu的使用,主要是重新学习了menu的使用:首先在xml中写好menu的item目录(即点击的时候出现的item),然后在

public boolean OnCreateOptionsMenu(Menu menu){

     getMenuInflater().inflate(R.id.xxx);//加载上面的菜单

     return true;//这个是为了让菜单显示出来

}

然后在监听onOptionsItemSelected(Menu menu){

//这里面做业务逻辑。

}

这就是菜单的使用方法,先记下 以后有更好的再说。

然后就是activity的启动方法分为显式和隐式;显示就是代码中指定(xxx.this,xxxx.class);隐式就是要对应三个参数,相当于匹配的规则,匹配出manifest 中的action,category,data

manifest中没有注册的可以不进行匹配,相当于默认了 但是隐式启动至少要匹配一个,这里还有个细节,假如一个action中有好几个,但是只要匹配其中的一个就可以了,下面几个同理。

活动数据的传输,但是现在都在用eventbus 但是这个笔记只针对第一行代码,基础嘛,所以还是记录下来怎么操作的。关键方法setForResult(Intent intent, int i);第一个参数是intent,这个不用说了,第二个我现在理解是一个标志,比如现在是给个 1  在第二个activity中

intent.putExtra("date return","xxxxx");//前面的是key 后面的是value

setResult(RESULT_OK,intent);

第一个activity中的方法onActivityResult(int requestCode,int resultCode,Intent data){//第一个参数是看看是谁回的,就是上一个标志 是1 还是几 这里就是区分了这个活动跳向的哪个activity,哪个activity返回的数据,然后做出对应的处理。

switch(requestCode){//这个判断上面说的标志

case 1:

if(resultCode=RESULT_OK){//返回数据的状态,成功了再做一些逻辑。
data.getStringExtra(key);

}假如要再第二个活动退出的时候再返回数据,我们可以调用onBackPressed()方法来解决。重写这个方法来实现业务逻辑。但是我们也可以通过

public boolean onKeyDown(int keyCode, KeyEvent event) 方法,好处就是这里可以塞其他的操作,对对应keyEvent来判断进行一些业务逻辑。
        if(keyCode == KeyEvent.KEYCODE_BACK){  
      //这里实现业务逻辑   }

后面就是生命周期和启动模式:生命周期没什么好记下来的,基本上每本书上都有分为七个注意顺序就行了,但是涉及到两个活动那么是怎么切换的,

A调到B activity  A的先pause B的Create Start Resume,A的stop  所以尽量在A的Stop中做业务逻辑,这样不影响B的启动时间。这里还有个有趣的事情,关于闪退的时候是否调用destrory这个方法,你闪退我在destory中继续开启这个APP  哎嘿,多牛逼实则不行,根本不走。

启动模式分为四种:具体看这个文章 http://blog.csdn.net/mynameishuangshuai/article/details/51491074 写的挺详细的。有个问题就是两个activity互相切换的时候内存会噌噌噌的网上涨,这个时候要就关系到启动模式了,这样设计成singleTask 就好了。

最后的最后才是重点 才是开发中很好用的两个类  一个是基类BaseActivity 基本上任何APP都会有这个类,还有一个就是记录activity的类的,这两个开发会很常用到的。




  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值