终于翻开了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虚拟机运行的是字节码,Dalvik把class文件通过工具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标准,是一个采用HTML、JavaScript和CSS等网络技术的应用程序。
?
第二章主要是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 shell、cd data、cd app、ls、rmcom.fungsing.poker80.apk
?
调试程序
DDMS工作界面,有多种菜单选项(调试进程,更新线程,停止进程等)
Logcat的调试
常用方法Log.v(String tag,Stirng msg),相应有d,i,w,e
如果用断点来调试,一般用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设置
?
明天开始正式的学习