`

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 applsrm com.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设置

 

明天开始正式的学习

  • 大小: 78.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics