第一行代码android的读后感,《第一行代码Android》读书笔记

自学android一段时间了,一开始是看看视频,跟着打打代码,后来也有跟着团队一起做项目,一直都很零散,并没有真正系统的学习过,虽然能跟得上项目,但总觉得基础不牢固扎实,之前有读过郭霖老师博客里的几篇文章,觉得讲的通熟易懂,正巧郭霖老师出了一本《第一行代码Android》,便买来学习,这篇博客记录的是在读这本书时遇到的对于我来说不熟悉或是不知道的知识点,其中也有自己的一点理解,如果有错误,请大家指出,我会陆续更新直到读完本书为止。

在这里也要再次感谢@郭霖老师的辛勤付出,谢谢。

1.startActivityForResult()对应onActivityResult()

2.back键会销毁Activity,相当于调用了finish()方法,可以重写onBackPressed()方法,增加back键执行内容

3.暂停状态即activity尚可见时,多为有个dialog挡住了的情况,此时被挡住的activity的onpause方法会被执行,onstop不会,若Activity在menifest加了@android:style/Theme.Dialog,则该activity是dialog风格,所以如果不想做全屏的应用,而是类似希望做出来的应用程序是一个漂浮在手机主界面的东西,则可以用这个方法,另外android:theme="@android:style/Theme.Translucent" 该Activity就变成半透明的(两种我都没有试过)

疑问:dialog到底算view还是Activity????

4.onCreate(Bundle saveInstanceState)里的bundle来自onSaveInstanceState(Bundle outState)方法,当activity被回收时必定会去调用该方法,此时我们可以往bundle里面存数据(putSring,putInt之类的),然后当系统再次创建时在onCreate方法中取得该bundle进行操作

疑问:此方法的初衷是为了防止activity因内存不足而被回收导致数据丢失,所以将数据存起来,那么onSaveInstanceState的bundle保存多久,

如果一直存在,那每次打开该Activity都将获得之前的数据,如果我在某些特定情况下不想要那些数据,只是单纯的想创建这个activity呢?

5.activity的android:launchMode(启动模式)有四种,默认为standard,没有限制,一个activity可以有多个实例,

singleTop,在启动activity时发现栈顶已经是自己,就不会再创建新的实例,而是使用该实例,但如果栈顶不是,依然会创建第二个实例

singleTask,一个activity只允许存在一个实例,启动activity时先扫描返回栈中有没有该activity的实例,有就使用该实例,并把在此实例之上的activity统统pop出栈!!让自己显示!(也就是有实例的话就把自己顶到最上面)

singleInstance,一个程序通常只有一个返回栈,但如果activity设为singleInstance,跳转到他的时候会新开一个返回栈专门放他,所以如果2为singleInstance,那么1->2->3,1和3在同一个栈,2自己有一个栈,所以在3按back会回到1,1再按back才回到2,然后back退出程序,目的是为了实现其他程序和本程序共享一个activity的实例(

具体的例子是什么?)

6.this,获取当前实例

getTaskID(),获取当前返回栈的ID

getClass().getSimpleName()获取当前实例的类名

7.android:gravity指定文字在控件里面的对其方式,而android:Layout_gravity是指定控件在布局中的对齐方式

8.LinearLayout的orientation是vertical时,只有水平方向上的对齐方式会生效,因为此时vertical方向可能会增加其他控件,所以不能确定vertical方向的对齐方式

9.FrameLayout所有的控件都会摆在布局左上角,一个一个覆盖(往上叠),谁最后添加,谁就在最上面

10.TableLayout中的TableRow中的控件不能指定宽度,所以宽很难撑满整个屏幕,TableLayout中的android:stretchColumns="1"属性选择哪一列可以拉伸,这样就能占满整个屏幕

偷个懒。。。放几张图片。。。

下次我把它们写出来

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值