第一章 Android 基础
Android 系统框架
- Linux 内核层 <br />
基于 Linux 2.6内核,这层为 Android 设备的硬件提供驱动。 - 系统运行库层 <br />
- 通过一些 C/C++ 库为 Android 提供主要特性支持(数据库 SQLite 库、3D 绘图 OpenGL|ES库、浏览器内核 Webkit 库)
- Android 运行时库,提供核心库(JAVA 语言环境、Dalvik 虚拟机)
- 应用框架层 <br />
提供构建时用到的各种 API - 应用层 <br />
手机上的应用程序
Android 中的四大组件
- 活动 Activity
- 服务 Service
- 广播接收器 Broadcast Receiver
- 内容提供器 Content Provider
Android 项目目录分析
- src 存放源码
- gen 自动生成,有个 R.java 文件(添加资源会生成相应资源 id)
- assets 存放随程序打包的文件
- bin 里面是编译时自动产生的文件,apk 文件就在其中
- libs 第三方 jar 包
- res 存放项目中使用到的图片、布局、字符串资源。有很多子目录(drawable 放图片、layout 放布局、values 放字符串)
- AndroidManifest.xml Android 项目配置文件
- project.properties 指定编译所用 SDK 版本
一个简单项目如何运行的
- 在 AndroidManifest.xml 中为活动注册 <br />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这个代码说明程序运行首先启动的活动。
- 继承 Activity,Activity是系统提供的一个活动基类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
重写 onCreate 方法,活动创建时必定被执行
安卓设计讲究逻辑视图分离,布局定义在 res/layout 下,通过 onCreate() 方法中调用 setContentView() 方法引入布局。字符串定义在 res/values/strings.xml 里,然后可在代码和布局中引用。 <br />
两种引用方式:
- 在代码中通过
R.string.hello_world
获得该字符串引用 - 在 XML 中通过
@string/hello_world
获得该字符串引用
日志工具
- Log.v() 对应级别 verbose
- Log.d() 对应级别 debug
- Log.i() 对应级别 info
- Log.w() 对应级别 warn
- Log.e() 对应级别 error
级别:error->warn->info->debug->verbose
用法:Log.d("参数 tag,一般传入当前类名","参数 msg,想打印的消息")