当前位置: 代码迷 >> Android >> Android应用开发揭底1,2章笔记
  详细解决方案

Android应用开发揭底1,2章笔记

热度:76   发布时间:2016-05-01 16:08:27.0
Android应用开发揭秘1,2章笔记

终于翻开了Android书,只看了前两章,主要是一些总体的介绍以及环境的搭建。简单把提纲类的东西记录下作为笔记吧,从明天开始,应该算是正式学习Android了。另外设计模式一块,可能会稍微放一下,原因么,先把Android快速熟悉起来,方便之后找实习工作……说远了,后面只是列点1,2章的提纲

?

Android系统的5个特点:开放性;应用程序无界限;应用程序是在平等的条件下创建的;应用程序可以轻松地嵌入网络;应用程序可以并行运行。

?

Android功能:智能虚拟键盘;使用Widget实现桌面个性化;用在线文件夹快速浏览在线数据;视频录制和分享;图片上传;更快、更兼容的浏览器;Voice Serch语音搜索;立体声蓝牙和免提电话;强大的GPS技术;Android系统硬件检测

?

Android系统框架

一张见过很多次的图了,Android的体系结构



?

应用层;应用框架层;系统运行库层;Linux内核层

应用层

包含应用,是指用Java语言编写的运行在虚拟机上的程序

应用框架层

是编写Google发布的核心应用时所使用的API框架。提供了视图View,内容提供器Content Providers,资源管理器Resource Manager,通知管理器Notification Manager,活动管理器Activity Manager,窗口管理器Window Manager,包管理器Package Manager等组件

系统运行库(C/C++库以及Android运行库)层

使用Android应用框架时,系统会通过一些C/C++库赖支持我们使用的组件(Bionic系统C库,SGL,SSL,OpenGL ES 1.0,SQLite,Webkit等等)

?

每个Java程序都运行于Dalvik虚拟机上,他只执行.dex的可执行文件,Java程序编译后需要通过SDK中的dx工具转化才能在虚拟机上正常运行。Dalvik虚拟机运行的是dex文件,而Java虚拟机运行的是字节码,Dalvikclass文件通过工具dx转换成一个dex文件。

Dalvik虚拟机特征

专有的dex文件格式(4个原因)

dex的优化(3个方面)

基于寄存器

一个应用,一个虚拟机实例,一个进程。

?

Linux内核层

Android核心系统服务基于Linux2.6内核,同时Linex内核也作为硬件和软件栈之间的抽象层

更多的Android需要一些与移动设备相关的驱动程序(显示驱动,键盘驱动,Flash内存驱动,照相机驱动,音频驱动,蓝牙驱动,电源管理等等)

?

应用框架层最为重要,框架时应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定。Android框架提供的功能

android.app???? android.content?????? android.database??? android.graphics????? android.location?????? android.net????? android.view???????? android.util等等

?

OMS是面向移动互联网的开放性移动智能终端软件平台。

Ophone是基于Linux的面向移动互联网终端基础软件和系统解决方案。

Widget介绍

Widget应用采用JIL Widget标准,是一个采用HTMLJavaScriptCSS等网络技术的应用程序。

?

第二章主要是Android开发环境的搭建,最后搭建一个HelloAndroid程序,这个之前已经完成了。

补充一点模拟器的操作

列出模拟器类型 android list targets

列出自己创建的模拟器 android list avd

创建模拟器 android create avd –target2 –name NAME

切换模拟器样式在创建命令后加上–skin QVGA(切换样式Windows操作系统按F7

指定用什么模拟器运行 emulator –debug avd_config –avd NAME

apk文件安装到模拟器:

首先启动模拟器,打开命令行对话框,进入命令行模式。

命令模式下进入SDK安装目录下tools文件夹,输入adb install c:\poker80.apk

拆卸模拟器中的apk文件

启动模拟器,进入模拟器模式,进入tools文件夹,依次输入

adb shellcd datacd applsrmcom.fungsing.poker80.apk

?

调试程序

DDMS工作界面,有多种菜单选项(调试进程,更新线程,停止进程等)

Logcat的调试

常用方法Log.v(String tag,Stirng msg),相应有diwe

如果用断点来调试,一般用Log.e

?

代码

private static final String TAG=’HelloAndroid’ public void onCreate(Bundle savedInstanceState){         super.onCreate(savedInstanceState);         …//其他Log方法         Log.e(TAG,”ERROR”);         setContentView(R.layout.main);}
?

另一种调试方法,声明条件断点Breakpoint Properties设置

?

明天开始正式的学习

  相关解决方案