1:Android系统架构
1.1 Linux内核层,
Android系统是基于Linux2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如:显示驱动,音频驱动,照相机驱动,蓝牙驱动,Wi—Fi驱动,电源管理器等。
1.2 系统运行库层
这一层通过一些c/c++库来为Android系统提供了主要的特性支持。如SQLite提供了数据库的支持,Webkit库提供了浏览器内核的支持。
这一层还有Android运行时库,开发者可以通过java语言来编写Android程序。Android运行库中包含了Dalvik虚拟机,使得每一个Android应用都能运行在独立的进程中,并且拥有自己的虚拟机实例。
1.3 应用框架层
提供了各种API。
1.4 应用层
所有的手机APP都是这一层,微信,微博,海盗奇兵
2:Android应用开发的特色
2.1 四大组件
2.1.1 活动Activity: 应用中所看到的都放在活动中。
2.1.2 服务Service: 在后台默默的工作。
2.1.3 广播接收器BroadcastReceiver: 来电话,来短信,当然也可以发送广播。
2.1.4 内容提供者 Content Provider: 应用程序之间共享数据时,读取系统中的联系人。
2.2 丰富的系统控件
常见的有:ImageView,ListView,Editext,Button,等,还可以自定义控件。
2.3 SQLite数据库
轻量级,读取和存储方便。
2.4 地理位置定位
百度地图,附近的人,都需要用到地理位置。
2.5 多媒体
音频,视频,相机,录音
2.6 传感器
方向传感器
3:搭建开发环境
3.1 需要准备什么软件
3.1.1 jdk
3.1.2 Androi sdk ,Android开发工具包,通过该工具包调用API
3.1.3 Eclipse 开发应用的工具,
3.1.4 ADT ,联机调试,分析程序性能,(不需要下载,在Eclipse中直接安装就行)
4:创建第一个Android项目
在Eclipse中,点击File--New--Android Application Project 会弹出一个对话框,
Application Name 程序的名字,就是手机上安装APP的名字,
Project Name 项目名,在Eclipse中显的名字
Package Name 包名
运行Hello World :Window--Open Perspective --》DDMS
Devices显示Online,说明正常,显示Offline,只需Reset adb就行。
然后,Run As -------Android Application 就行了。
5:分析你的第一个应用程序
5.1 src 放置java的地方,
5.2 gen 自动生成,主要有一个R.java文件,在项目中添加的任何资源都会在其中生成一个相应的资源id。
5.3 assets 主要放WebView加载本地网页文件,可以动态读取随程序打包的文件。
5.4 bin 编译时自动产生的文件,安装包。
5.5 libs 存放第三方jar包。
5.6 res 图片,布局,字符串,
res的子目录,drawable 放图片,
layout 放布局
values 放字符串
5.7 AndroidManifest.xml 整个Android的配置文件,程序的所有四大组件的注册,应用程序的权限声明,最低版本兼容,
5.8 project.properties 通过一行代码指定编译程序时使用SDK的版本,
5.9 引用资源 在代码中R.string.hello_world
在XML中@string/hello_world
如果引用的是图片,string换成drawable, 引用布局换成layout。
6:日志工具的使用
6.1 添加Logcat ? Window-》Show View -》Other 选中LogCat,确定即可。
6.2 使用Android的日志工具Log
6.2.1 Log.v () 对应级别verbose 最小的日志工具
6.2.2 Log.d() 对应debug 调试信息
6.2.3 Log.i() 对应info 重要的,直接想看的
6.2.4 Log.w() 对应warn 警告
6.2.5 Log.e() 对应error 错误信息
Log.d("HelloWorldActivity","onCreate execute");
Log.d 中两个参数,第一个tag,一般传入类名,第二个msg,内容。
7:为什么使用Log而不使用 System.out ?
7.1 System.out的缺点: 日志打印不可控制,
打印时间无法显示
不能添加过滤器
日志没有级别区分
7.2 自定义过滤器
点击过滤器上的加号, 过滤器名字改为data,Tag名为data。 使用时只需把上面的第一个参数改为data即可。
今天是2016年10月6日.21.28分,(今天花费时间2小时10分钟)。