再看郭神《第一行代码》

1)菜单menu在raw下Directory里面的文件,Menu resource file,项目:item;主活动中onCreateOptionsMenu()重新加载自定义菜单。
2)隐式intent过滤器标签:ACTION-START(intent时括号里的是这行的name)和DEFAULT。
3)返回数据:startActivityForResult。
4)返回键的处理:onBackPressed()。
5)onStart:调用时是在不可见——>可见的时候。
6)onResume,从onPause来。
7)保存数据:onSaveInstanceState。
8)恢复数据:savedInstanceState.getString。
9)获取当前活动名字:getClass().getSimpleName()。
10)水平进度条:

style = "?android:attr/progressBarStyleHorizontal"
【再看郭神《第一行代码》】11)FrameLayout叫帧布局,所有内容默认在左上角,没有位置需求时用。
12)主活动定义ActionBar对象,直接可以hide把自带的标题栏隐藏。
13)RecycleView可以实现横向滚动相比listView。
14)listView点击事件在外面,recycleView点击事件在adapter类里面。
15)对字符串判空处理:TextUtils.isEmpty。
16)SQL中real表示浮点型。
17)getReadableDatabase()和getWritableDatabase()都可以创建或打开一个现有的数据库。
18)onUpgrade中利用drop,数据库存在则会重建。
19)对数据的操作简称:CRUD。
20)SQLiteDatabase的对象是dbhelper下的getWritableDatabase方法。
21)添加完记得:values.clear(),最后一个则不用。
22)where:“name = ?” 在update里要用,为第3个参数,第4个参数表示具体name的值,?表示一个占位符。
23)Cursor对象等于db.query。
24)Cursor用完要记得close。
25)Litepal建数据库:Connector.getDatabase。
26)Litepal下的Bean类要继承DataSupport。
27)Bean对象在主活动中set名属性后,save就添加了数据。
28)Litepal中更新成默认值:bean对象:setToDefault(....)。
29)权限不管同意或拒绝,都会到onRequestPermissionsResult中。
30)ContentProvider中( * )表示匹配任意表的内容,( # )表示任意一行数据。
31)startActivityResult是隐式Intent调用的,有结果会返回到onActivityResult方法中。
32)serializable是给bean类实现的接口,用来intent传递复杂数据的。
33)Parcelable相比上面的只能传递部分数据。
34)F8 Debug 执行下一行,绿色按钮是执行下一个断点。
35)一般一个项目结构:db、gson、service、util。

    推荐阅读