$《第一行代码:Android》读书笔记——第1章 Android系统
(一)Android系统架构
1、Linux内核层:各种底层驱动,如显示驱动、音频驱动、电源管理等。
2、系统运行库层:各种库支持,如3D绘图、浏览器内核、数据库等。
3、应用框架层:各种API,各种Manager。
4、应用层:所有的应用程序。
(二)安卓系统级功能
1、四大组件:Activity,Service,Broadcast,Content Provider。
2、系统控件:用于写界面,也可以自己定制界面。
3、SQLite数据库:轻量级、快速的嵌入式关系型数据库。
4、地理位置定位:内置GPS,基于它可以开发LBS应用。
5、多媒体:音频、视频、录音、拍照、视频等。
6、传感器:加速度传感器、方向传感器。
(三)搭建Android开发环境
1、准备所需要的软件:
(1)Android SDK
(2)编译器:Eclipse
(3)ADT:是Eclipse的插件
PS:一整套工具百度网盘存放地址:http://pan.baidu.com/s/1jI6fmjO
2、创建手机模拟器:用ARM架构的更快一些.
PS:模拟器出问题时,先重启adb试试(在DDMS中),再重启Eclipse
(四)Eclipse中项目文件结构
1、src:放所有Java代码的地方
2、gen:这个目录的内容都是自动生成的,主要有一个R.java文件,不要尝试手动去修改它!
java代码中:R.xx.xx查询
xml文件中:@xx/xx查询
比如:
R.string.hello_world
@string/hello_world
3、assets:存放一些随程序打包的文件
4、bin:包含一些在编译时自动产生的文件,其中会有一个apk文件,可以在手机上直接安装.
5、libs:包含第三方Jar包
6、res:图片、布局、字符串等各种资源
7、AndroidManifest.xml:项目配置文件,用到的所有四大组件都需要在这里注册.还可以添加权限声明、设置版本等.
8、project.properties:只有一行代码,指定编译程序时所使用的SDK版本.
(五)安卓项目中的资源(res目录)
1、以drawable开头的文件夹:存放图片.
PS:项目的图标文件就是在AndroidManifest.xml文件中通过下面代码指定的:android:icon="@drawable/ic_launcher"
2、以values开头的文件夹:存放字符串
3、layout文件夹:存放布局文件
4、menu文件夹:存放菜单文件
(六)日志工具android.util.Log
1、Log.v( ):打印琐碎的日志信息
2、Log.d( ):打印调试信息
3、Log.i( ):打印比较重要的数据
4、Log.w( ):打印警告信息
5、Log.e( ):打印错误信息
随机推荐
- 【翻译自mos文章】在Oracle GoldenGate中循环使用ggserr.log的方法
在OGG中循环使用ggserr.log的方法: 參考原文: OGG How Do I Recycle The "ggserr.log" File? (Doc ID 967932.1 ...
- shiro配置数据库连接池总结
在项目中要使用shiro做权限认证和登录许可等,现在总结一份,以备以后使用 ms sql版本 [main]ds=com.mchange.v2.c3p0.ComboPooledDataSourceds. ...
- jq和thinkphp经常使用的几种ajax
第一种方法 第二种方法 jquery方法: MessageAction.class.php <?php class MessageAction extends Action{ functio ...
- WPF-Binding对数据的检验
设置Binding的ValidationRules属性对Binding进行检验 <StackPanel> <TextBox x:Name="txtAge" Fon ...
- hdu 4421(枚举+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4421 思路:枚举32位bit,然后2-sat判断可行性,这里给出2-sat矛盾关系构图: 1.a&am ...
- 转载: vim使用技巧
两篇很牛的vim使用技巧 来源: ChinaUnix博客 日期: 2009.07.06 10:18 (共有条评论) 我要评论 读本文之前请注意:1. 本文的目标是提供一些vim的使用技巧,利用 ...
- 如何通过PHP判断年份是否是闰年----两种方法
1.定义:闰年是对4取余为0,对100取余不等于0,对400取余等于0的年是闰年. 2.代码: 第一种方法:直接函数判断 $day = date('Y'); if ($day%4==0&&am ...
- SpringAOP和AspectJ
SpringAOP和AspectJ的关系 问题:之前对 SpringAOP和AspectJ的关系感到疑惑,因为曾经在书上看过SpringAOP集成了AspectJ,那么SpringAOP是直接使用了A ...
- odata配置控制器方法路由1
查看edmx:http://localhost:12769/odata/$metadata 1.配置 ODataConventionModelBuilder builder = new ODataCo ...
- iOS-ASIHTTPRequest框架学习
本文转载至 http://www.cnblogs.com/A-Long-Way-Chris/p/3539679.html 前段时间在公司的产品中支持了够快网盘,用于云盘存储. 在这个过程中,学习到了很 ...