/**
* Android应用程序架构
*
* src/ Java原代码存放目录
*
* gen/ 自动生成目录 gen
* 目录中存放所有由Android开发工具自动生成的文件。
* 目录中最重要的就是R.java文件。
* 这个文件由Android开发工具自动产生的。
* Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。
* 正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。
* R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id
* 通过R.java,应用可以很方 便地找到对应资源。
* 另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中
* 这样可以减少应用在手机占用的空间。
*
* res/ 资源(Resource)目录
* 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。
*
* AndroidManifest.xml 功能清单文件
* 这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务
* (如电话服务、互联网服务、短信服务、GPS服务等等)。
* 另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置
* 只有配置好后,才能调用此Activity。
*
* default.properties 项目环境信息,一般是不需要修改此文件。
*
*
* 五种布局方式
* LinearLayout (线性布局)
* AbsoluteLayout(绝对布局)
* RelativeLayout(相对布局)
* TableLayout(表格布局)
* FrameLayout(帧布局)
*
* 数据存储与访问
* Activity提供了openFileOutput()方法可以用于把数据输出到文件中
*
* 嵌入式关系型数据库
* SQLite
* SQLite最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么
* 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数
* 当向这种字段中保存除整数以外的数据时,将会产生错误
* 另外, SQLite 在解析CREATE TABLE 语句时,会忽略 CREATE TABLE 语句中跟在字段名后面的数据类型信息
*
* SQLite可以解析大部分标准SQL语句,如:
* 查询语句:select * from 表名 where 条件子句 group by 分组字句 having ... order by 排序子句
* 分页SQL与mysql类似,下面SQL语句获取5条记录,跳过前面3条记录
* select * from Account limit 5 offset 3 或者 select * from Account limit 3,5
* 插入语句:insert into 表名(字段列表) values(值列表)
* 更新语句:update 表名 set 字段名 = 值 where 条件子句
* 删除语句:delete from 表名 where 条件子句
*
*/