1、两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以將 Java.class 转换成.dex 格式。一个dex文件通常会有多个.class。由于dex有時必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。,2.3、Libraries Android包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:系统C库标准C系统库(libc)的
2、BSD衍生,调整为基于嵌入式Linux设备 媒体库基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG 界面管理管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层 LibWebCore新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图 SGL基本的2D图形引擎 3D库基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅 FreeType 位图和矢量字体渲染 SQLite 所有应用程序都可以使用的强大而轻量
3、级的关系数据库引擎,2.4、Application Framework通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View)丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、
4、按钮,甚至是内嵌的网页浏览器 内容提供者(Content Providers)使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器(Resource Manager)提供访问非代码资源,如本地化字符串、图形和布局文件 通知管理器(Notification Manager)使所有的应用程序能够在状态栏显示自定义警告 活动管理器(Activity Manager)管理应用程序生命周期,提供通用的导航回退功能,2.5、Applications Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Jav
5、a编程语言写的。,环境搭建及HelloWorld,1、环境搭建 1.1、JDK安装 1.2、Eclipse安装 1.3、Android SDK安装 1.4、ADT安装 1.5、创建AVD 2、HelloWorld,1、环境搭建,1.1、JDK安装 如果你还没有JDK的话,先去下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:a.我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量:b.JAVA_HOME值为:D:Program FilesJavajdk1.6.0_18(你安装JDK的目录)c.CLASSPATH值为:.;%JAVA_HOME%libtools.jar;%JA
6、VA_HOME%libdt.jar;%JAVA_HOME%bin;d.Path:在开始追加%JAVA_HOME%bin;NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。,安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:,1.2、Eclipse安装 如果你还没有Eclipse的话,可以先去下载,下载如下图所示的Eclipse IDE for Java Developers(92M)的win 32bit版:解压之后既可使用。,1.3、Android SDK安装在Andr
7、oid Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的Force https:/.这项,再点击Available Packages。选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:AndroidDev
8、elopandroid-sdk-windowstools)。,“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。运行 android h 如果有类似以下的输出,表明安装成功:,1.4、ADT安装打开 Eclipse IDE,进入菜单中的 Help-Install New Software 点击Add.按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入http:/dl-,确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android
9、 DDMS和Android Development Tool,勾选他们。如右图所示:完成之后:选择Window Preferences.在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径,本机为:AndroidDevelopandroid-sdk-windows 点击Apply、OK。配置完成。,1.5、创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD。a、在Eclipse中。选择Windows Android SDK and AVD Manager b、点击左侧面板的Virtual Devices,再右侧点击New c、填入Name,选择Tar
10、get的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值d、点击Create AVD即可完成创建AVD 注意:如果你点击左侧面板的Virtual Devices,再右侧点击New,而target下拉列表没有可选项时,这时候你:a)点击左侧面板的Available Packages,在右侧勾选https:/dl-b)然后点击Install Selected按钮,接下来就是按提示做就行了 要做这两步,原因是在1.3、Android SDK安装中没有安装一些必要的可用包(Available Packages)。,2、HelloWorld,a.通过File-New-Pro
11、ject 菜单,建立新项目Android Project b.然后填写必要的参数,如下图所示:(注意这里我勾选的是Google APIs,你可以选你喜欢的,但你要创建相应的AVD),c.点击Finish后,点击Eclipse的Run菜单选择Run Configurations d.选择“Android Application”,点击在左上角(按钮像一张纸上有个“+”号)或者双击“Android Application”,有个新的选项“New_configuration”(可以改为我们喜欢的名字)。e.在右侧Android面板中点击Browse,选择HelloWorld,f.在Target面板的
12、Automatic中勾选相应的AVD,如果没有可用的AVD的话,你需要点击右下角的Manager,然后新建相应的AVD。如下图所示:,g.然后点Run按钮即可,运行成功的话会有Android的模拟器界面,如下图所示:,相关参数的说明:A.Project Name:包含这个项目的文件夹的名称。B.Package Name:包名,遵循JAVA规范,用包名来区分不同的类是很重要的,我用的是helloworld.test。C.Activity Name:这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程序和控制程序的类。它可以根据需要创建界
13、面,但不是必须的。D.Application Name:一个易读的标题在你的应用程序上。E.在选择栏的 Use default location 选项,允许你选择一个已存在的项目。,HelloWorld项目的目录结构,1、HelloWorld项目的目录结构 1.1、src文件夹 1.2、gen文件夹 1.3、Android 2.1文件夹 1.4、assets 1.5、res文件夹 1.6、AndroidManifest.xml 1.7、default.properties,1、HelloWorld项目的目录结构,(这个HelloWorld项目是基于Android 2.1的)在Eclipse的左
14、侧展开HelloWorld项目,可以看到如下图的目录结构:,1.1、src文件夹 src,source code该文件夹是放项目的源代码的。打开HelloWorld.java文件会看到如下代码:package helloworld.test;import android.app.Activity;import android.os.Bundle;public class HelloWorld extends Activity/*Called when the activity is first created.*/Override public void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);可以知道:我们新建一个简单的HelloWorld项目,系统为我们生成了一个HelloWorld.java文件。他导入了两个类android.app.Activity和android
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1