本文为Android的背景知识相关知识整理,具体参考了

  • 《Android群英传》第一章 Android体系与系统架构

Android底层采用C语言保证效率,上层使用Java简单,快速进行开发。
1.Android系统架构


  • Linux Kernel,包括Camera Driver, USB Driver等硬件驱动,进程管理,安全系统,Power Management等
  • Libraries和Android runtime(ART),包括SQLite,WebKit,SSL,Surface Management等。在Androd5.X,ART已经取代Dalvik,采用安装时编译。每个APP都会分配一个虚拟机来保证互相之间不受干扰。
  • Application framework,包括Activity Manager,Content Providers,Package Manager等。
  • Application,使用NDK和Java开发的App。

2.Android四大组件

  1. Activity,交互界面
  2. Content Provider,应用之间共享数据
  3. Service,提供后台服务
  4. BroadCast Reciever,广播

四大组件如何协同工作?
Activity,作为人机交互的第一界面,负责向用户展示信息和处理结果,而这些信息的来源,有以下几种途径:

  1. 通过Content Provider获取其他应用的信息(比如通讯录)。
  2. 通过Service从后台计算、下载、处理的结果。
  3. 通过BroadCast Reciever获取到的广播信息。
  4. 通过资源获取。
  5. 通过Intent传递。

应用运行上下文是什么?
Context,是当前对象在程序中所处的一个环境,一个与系统交互的过程。
系统会在创建Application,Activity,Service的时候创建相应的Context对象。
获取Context的方法如下:

  1. 在Activity中直接使用this
  2. 在匿名内部类中,指定XXXXActivity.this
  3. 通过getApplicationContext()直接获取整个App的Context

3.Android系统源码,系统目录,App文件目录

Android系统目录和源码目录并不是一一对应的,而是和打包生成的Image文件的结构相同。

  • Android系统源码在线查看网站:androidxref.com
  • Android系统目录中,/system和/data最为重要。其中,data/data/是开发者最常访问的文件夹,里面包含了App的数据信息,文件信息,数据库信息等,以包名的方式来区分各个应用。
  • Android App文件目录,应用层上开发应用的时候IDE生成的目录。Android Studio与Eclipse的文件结构稍有不同。

4.Android Studio和ADB

  • 安装Android Studio必备资料:AndroidDevTools
  • ADB,Android Debug Bridge,用来连接手机和电脑。

ADB基本命令
1.查看adb版本,进入shell。

>adb versionAndroid Debug Bridge version 1.0.32>adb shell

2.安装apk,install为安装,而push为将一个文件写入手机任意目录,下面放入了系统目录/system/app/,Test成为了一个系统应用。

>adb install -r F:\Test.apk>adb push D:\Test.apk /system/app/

3.向手机写入(push),获取(pull)文件

>adb push D:\file.txt /system/temp/>adb pull /system/temp/file.txt D:\

4.删除应用

>adb remount>adb shell>cd system/app>rm *.apk

5.重启

>adb reboot

6.录制屏幕

>adb shell screenrecord /sdcard/demo.mp4

更多相关文章

  1. Android(安卓)service 实现过程
  2. Android(安卓)Rom签名文件的生成与签名
  3. FAQ00366]如何使Android应用程序获取系统权限
  4. Android(安卓)-Recovery
  5. Android开发面试经——4.常见Android进阶笔试题(更新中...)
  6. Android(安卓)4编程入门经典—开发智能手机与平板电脑应用
  7. Android(安卓)Log日志保存到本地并读取
  8. android背景选择器selector用法汇总
  9. NPM 和webpack 的基础使用

随机推荐

  1. 【LatinIME】默认开启键盘按键声
  2. Android(安卓)Gallery3D效果 教程 案例
  3. android中string.xml文件的使用
  4. Android嵌入式底层开发技术(应试)
  5. Android SDK 2.1 下载与安装教程
  6. 【Android】Android的快速开发框架Afinal
  7. Android导航栏资源总结,单纯防丢!
  8. 学习Android 必备 实例大集合
  9. 【Android游戏开发二十一】Android os设
  10. android 网络 post get