第一章 Android应用初体验

1.4用户界面设计

<?xml version="1.0" encoding="utf-8"?>

ADT21开发版以后,Android布局文件已不需要该行代码。

1.4.1视图结构层级(view hierarchy)

继承至View的ViewGroup组件:LinearLayout/FrameLayout/RelativeLayout

1.4.3 字符串资源

一般默认被命名为strings.xml,也可自定义命名,但是这些文件要放在res/values目录下,并且含有一个resources根元素及多个string子元素

1.8Android编译过程

aapt(Android Asset Packaging Tool)将资源文件压缩后,打包到.apk文件。Activity类onCreate方法调用setContentView方法时,使用LayoutInflater通过反射实例化布局文件中的每一个View对象(eg:<LinearLayout/> ClassLoader.load("LinearLayout") <TextView/> ClassLoader.load("TextView"))

第二章 Android与MVC设计模式

2.1 生成Getter与Setter方法

我们知道,在安卓中,成员变量约定用m做为变量名的前缀,这样,在写getter与setter时,就是多了一个m在方法名前面,要想在eclipse自动生成方法时,忽略这个前缀,可以做如下设置

Windows->Preferences->Java->Code Style 分别对Variable type的Fields、Static Fields的Prefix list填上m与s。这样生成的方法就会忽略前缀了

2.2 Android与MVC设计模式

2.2.1 模型对象(M):存储应用的数据和业务逻辑,该对象不关心用户界面

2.2.2 视图对象(V):屏幕上可以看到的对象,即由布局文件定义的种类组件

2.2.3 控制对象(C):视图与模型对象的联系纽带。控制对象(M)被设计用来响应由视图对象(V)触发的种类事件,此外还用来管理模型对象(M)与视图对象(V)的数据流动。Android中一般是指Activity/Fragment或者Service的一个子类

2.6 添加图标资源

不同目录下为不同dpi的设备存放定制化的图片,避免只使用一套图片造成失真

mdpi:中等像素密度屏幕(约160dpi)

hdpi:高像素密度屏幕(约240dpi)

xhdpi:超高像素密码屏幕(约320dpi)

Android权威编程指南读书笔记(1-2章)的更多相关文章

  1. 看 《android权威编程指南》 的笔记

    Android 编译工具 确保ant已安装并正常运行,android sdk的tools/和platform-tools目录包含在可执行文件的搜索路径中 切换到项目目录并执行以下命令: android ...

  2. css权威指南读书笔记-第10章浮动和定位

    这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...

  3. 《Android权威编程指南(The Big Nerd Ranch Guide)(第二版)》12.4挑战练习

    本书第12章是讲解Dialog.12.4挑战练习是在CriminalIntent项目中,再增加一个TimePickerFragment的对话框fragment.通过在CrimeFragment用户界面 ...

  4. JavaScript权威指南读书笔记【第一章】

    第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自J ...

  5. hive编程指南——读书笔记(无知拾遗)

    set hive.metastore.warehouse.dir=/user/myname/hive/warehouse; 用户设定自己的数据仓库目录.不影响其他用户.也在$HOME/.hiverc中 ...

  6. Hive编程指南读书笔记(1):

    1.Mapreduce是一种计算模型,将计算任务分割成多个可以在服务器集群中并行执行的任务,然后分散到一群家用的或者服务器级别的硬件机器上,从而降低成本并提供水平可伸缩性. 2.mapreduce的两 ...

  7. <<Hive编程指南>>读书笔记

    1. 设置hive以本地模式运行(即使当前用户是在分布式模式或伪分布式模式下执行也使用这种模式) set hive.exec.model.local.auto=true; 若想默认使用这个配置,可以将 ...

  8. Android群英传神兵利器读书笔记——第三章:Android Studio奇技淫巧

    这篇文章篇幅较长,可以使用版权声明下面的目录,找到感兴趣的进行阅读 3.1 Android Studio使用初探 Project面板 Stucture面板 Android Monitor Keymap ...

  9. 《python核心编程》读书笔记--第16章 网络编程

    在进行网络编程之前,先对网络以及互联网协议做一个了解. 推荐阮一峰的博客:(感谢) http://www.ruanyifeng.com/blog/2012/05/internet_protocol_s ...

随机推荐

  1. Oracle sql查询

    http://blog.csdn.net/jlds123/article/details/6572559

  2. CF 136A Presents

    http://codeforces.com/problemset/problem/136/A 题意 :就是输入很多数字,第 i 个数字 pi 代表着第 i 个人的礼物给了第 pi 个人,而让你输出的数 ...

  3. 动态改变QSS

    通常,一旦设置使用setObjectName来初始设置QSS: list_widget = new QListWidget(); list_widget->setObjectName(" ...

  4. dynamic_cast 用法

    dynamic_cast < type-id > ( expression ) 该运算符把expression转换成type-id类型的对象.Type-id必须是类的指针.类的引用或者vo ...

  5. RxJava学习(三)

    变换 所谓变换,就是将事件序列中的对象或整个序列进行加工处理,转换成不同的事件或事件序列. 1) API 首先看一个 map() 的例子: Observable.just("images/l ...

  6. Subversion安装和使用

    Subversion(SVN)是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.SVN分为客户端和服务器端,一般服务器端安装在服务器上,我们开发者用的都是客户端.TortoiseSVN是 ...

  7. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)3---- 动态加载Assembly应用程序

    下载 supergraphfiles.exe 示例文件. 应用程序体系结构 在我专攻代码之前,我想谈谈我尝试做的事.您可能记得,SuperGraph 让您从函数列表中进行选择.我希望能够在具体的目录中 ...

  8. 【HDOJ】4043 FXTZ II

    1. 题目描述有n个球,第i个球的伤害值为$2^i-1, i \in [1,n]$.有甲乙两个人,每次由甲选择n个球中的一个,用它以相同概率攻击自己或者乙,同时彻底消耗这个球.这样的攻击最多进行n次. ...

  9. UVa 129 (回溯法) Krypton Factor

    回溯法确实不是很好理解掌握的,学习紫书的代码细细体会. #include <cstdio> ]; int n, L, cnt; int dfs(int cur) { if(cnt++ == ...

  10. centos-nginx添加模块(无需重新编译)

    $ wget http://nginx.org/download/nginx-1.3.2.tar.gz $ .tar.gz #查看ngixn版本极其编译参数 $ /usr/local/nginx/sb ...