一、Android系统架构
Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。
1、Linux内核层
Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动等。
2、系统运行库层
这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持。
3、应用架构层
这一层主要提供了构建应用程序时可能用到的各种API。
4、应用层
就是安装在手机上的应用程序。
二、Android应用开发特色
1、四大组件
Android系统的四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供器(Content Provider)。其中活动是所有Android应用程序的门面,凡是在应用中你能看到的东西,都是放在活动中的。服务是一直在后台默默无闻地运行。广播接收器允许你在应用接收来自各处的广播信息,比如电话、短信等,你的应用也可以向外发出广播信息。内提供器则为应用程序之间共享数据提供了可能,比如你想读取系统电话薄中的联系人。
三、搭建开发环境
1、准备所需工具
JDK。JDK是Java语言的软件开发工具包,它包含了Java的运行环境、工具集合、基础类库等内容。
Android SDK。Android SDK是谷歌提供的Android开发工具包,在开发Android程序时,我们需要通过引用该工具包,来使用Android相关的API。
四、杂项
1、关于AndroidManifest.xml
<action android:name="android.intent.action.MAIN"/>和<category android:name="android.intent.category.LAUNCHER"/>表示MyApplication是这个项目的主活动,在手机上点应用图标,首先启动的就是这个活动。
其中MyApplication项目的应用图标就是通过android,icon属性来指定的,应用的名称则是通过android.label属性指定的。
2、关于资源文件夹
所有以drawable开头的文件夹都是用来存放图片的,所有以mipmap开头的文件夹都是用来放应用图标的,所有以values开头的文件夹都是用来存放字符串、样式、颜色等配置的,layout文件夹是用来放布局文件的。
可以看到定义了一个应用程序名的字符串,有两种方式来引用它。
a.在代码中通过R.string.app_name可以取得该字符串的引用。
b.在XML中通过@string/app_name可以获得该字符串的引用。
3、使用Android的日志工具Log
Log.v()。用于打印那些最为琐碎的、意义最小的日志信息。对应级别是verbose
Log.d()。用于打印一些调试信息。对应级别debug。
Log.i()。用于打印一些比较重要的数据。对应级别是info
Log.w()。用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对用级别warn
Log.e()。用于打印程序中的错误信息,比如程序进入到了catch语句当中。对应级别为error。
快捷键:比如你想打印一条debug级别的日志,那么只需输入logd,然后按下Tab键,就会帮你自动补全一条完整的打印语句,以此类推可以快速打印其他级别的日志。