一. Android 系统架构

1. 应用层

  所有安装在手机上的应用程序,比如自带的联系人、电话、短信等,都是属于这一层的。

2. 应用框架层

  这一层主要提供了构建应用程序时可能用到的各种 API 。

3. 系统运行库层

1) 程序库

这里包含一些 C/C++ 库,这些库能被 Android 系统中不同的组件使用。如 SQLite 库提供了数据库的支持,OpenGL/ES 库提供了3D绘图的支持等等。

2) Android 运行库

  这里主要提供了一些核心库,能够允许开发者使用 Java语言来编写 Android应用。另外 Android运行库还包含了 Dalvik虚拟机。

4. Linux 内核层

  Android系统是基于 Linux2.6 内核的,这一层为 Android 设备的各种硬件提供了底层的驱动。比如照相机驱动、蓝牙驱动、显示驱动等等。

二. Android的四大组件

1. 活动 (Activity)

  Android 应用程序的门面。

2. 服务 (Service)

  在后台默默运行。

3. 广播接收器 (Boardcast Receiver)

  允许你的应用接受来自各处的广播消息,比如电话、短信等。

4. 内容提供器 (Content Provider)

  为应用程序之间共享数据提供了可能,比如读取系统电话本中的联系人。

三. Android程序结构(主要)

1. src

  存放所有Java代码

2. gen

  自动生成,主要有一个 R.java 文件,所有 res 资源都在这里编号,通过 R.xx.xx或 @xxx查询。永远不要手动修改它。

3. res

顾名思义就是 resource,存放项目中使用到的所有图片、布局、字符串等资源。

4. AndroidManifest.xml

这是项目的配置文件,四大组件都需要在这里注册。

四. 掌握日志工具 (LogCat) 的使用

- 这是一个用来发送日志信息的 API 接口。

1. Log.v() 对应级别 verbose,最低级;

2. Log.d() 对应级别 debug,比 verbose 高一级;

3. Log.i() 对应级别 info,比 debug 高一级;

4. Log.w() 对应级别 warn,比 info 高一级;

5. Log.e() 对应级别 error,比 warn 高一级;

例如,Log.d(String tag, String msg) 方法中传入了两个参数,第一个是 tag,一般传入当前类名,主要用于对打印信息的过滤。第二个参数是 message,即想要打印的具体的内容。
Tip: 在类中声明一个常量 TAG 是一个好习惯:

private static final String TAG = "MyActivity";

然后在调用 Log 方法中使用它:

Log.v(TAG, "message");

题外话:我零基础自学了一个月 Java,看了一本《Head First Java》和一部 Mars 老师的视频,现在终于开始要学习《第一行代码Android》了,有点小激动。毕业出来工作了三年感觉到自己对化学产生了厌倦。找工作的过程中思考了人生,然后想明白了自己想要的其实不是闷头呆在实验室做实验,于是下定决心转行去互联网。其实自己从四年级就开始接触电脑,虽然大部分时间都是在玩游戏看动漫,但是如果对电脑没兴趣的话我也不会整天坐在电脑面前是吧?我现在觉得这一个月的学习过程还是有点意思。希望能坚持学下去,和书中的萌级小菜鸟一起成长!
做自己想做的事吧,做了失败你未必后悔,从没做过你肯定后悔,加油!

更多相关文章

  1. Service与Android系统实现(1)-- 应用程序里的Service(二)
  2. 手机杂谈
  3. 解密:为什么Android机没有iPhone流畅呢?
  4. 以android状态栏虚拟按键消息为例学习在input系统插入按键消息的
  5. Android判断是否合法包名、是否系统应用
  6. Android(安卓)7.0 Service保活总结
  7. Android如何降低service被杀死概率
  8. 长聚微嵌 DMA-210U Android(安卓)入门第一天------烧写uboot、ke
  9. Android上如何让应用截获系统按键

随机推荐

  1. SqliteGen——自动生成 SQLite 数据库的
  2. Android之Intent探究
  3. Android(安卓)OCR 之 tesseract
  4. Android[初级教程]第二篇 EditText控件
  5. jni中使用libcurl做网络开发
  6. android内部培训视频_第二节 布局基础
  7. 下载 Android(安卓)源代码 (2011-09-24 0
  8. 探究为何:在onCreate中通过View.post能获
  9. Android(安卓)TextView的设置
  10. PhoneGap+JQuery示例项目