由于自己学习 Android 到现在,都是通过视频和书籍。感觉到现在还是什么都不会的状态,比如实现一个小功能,也许有思路,但是去实现却实现不出来。回头想想自己都学会了 Android 的哪些知识点,一头雾水,回忆不起什么来,不知道学习了什么。
于是决定系统学习官方 Training 文档,学习不总结是不会提高的。也许之前学的一塌糊涂,甚至导致学过之后都不知道学了什么,可能就是不总结不思考造成的。然后,就有了这个系列的总结。
总结系列第一篇:My First App涉及知识点总结。代码仓库:
Android 应用的图形界面使用 View 对象以及 ViewGroup对象层次结构而构建。View 对象通常为按钮或文本字段之类的 UI 小部件。而 ViewGroup 对象则为不可见的视图容器,它们定义子视图的布局。
ViewGroup 对象如何在布局中形成分支并容纳其他 View 对象的图解
以 XML 格式(而不是运行时代码的方式)声明 UI 布局有若干用处,但其中最重要的用处便是,可以创建不同的布局来适应不同的屏幕尺寸。 例如,可以创建两个版本的布局,并指示系统在“小”屏幕上使用哪个版本,在“大”屏幕上使用哪个版本。
LinearLayout 是一个视图组(ViewGroup的子类),它会按照 android:orientation 属性的指定,将子视图设置为垂直或水平方向布局。LinearLayout 的每个子视图都会按照它们各自在 XML 中的出现顺序显示在屏幕上。
如果 LinearLayout 是布局中的根视图,则应将宽度和高度设置为 "match_parent",从而填满可供应用使用的整个屏幕区域。 该值表示视图应扩大其宽度或高度,以匹配父视图的宽度或高度。
这会为视图赋予唯一的标识符,可以使用该标识符从应用代码中引用对象,例如读取和操作对象。
从 XML 引用任何资源对象时,都需要使用 @ 符号。 请在该符号后依次输入资源类型、斜杠和资源名称:android:id="@+id/edit_message(例子)。
只有在第一次定义资源 ID 时,才需要在资源类型之前加一个加号 (+)。 当编译应用时,SDK 工具会使用 ID 名称在项目的 /apk/res/android"
在 XML 中声明布局后,请在 Android 项目 res/layout/ 目录中以 .xml 扩展名保存文件,以便其能够正确编译。
当实例化 SimpleCursorAdapter 时,请传递要用于每个结果的布局、包含结果的 Cursor 以及以下两个数组:
如果在应用的生命周期中更改了适配器读取的底层数据,则应调用 notifyDataSetChanged()。此操作会通知附加的视图,数据发生了变化,它应该自行刷新。
// 创建一个匿名类作为消息处理对象。