Android初学者学习笔记_第1页
Android初学者学习笔记_第2页
Android初学者学习笔记_第3页
Android初学者学习笔记_第4页
Android初学者学习笔记_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android笔记使用Android与EclipseADT创建并运行应用程序在Android简介得开始部分,我将帮助您尽可能快地创建一个简单得Android应用程序。您将使用Android4、2与EclipseAndroidDevelopmentTools(ADT)插件来创建一个基于Java得HelloWorld应用程序。为Android建立开发环境得途径有两种。刚接触Eclipse与Android得开发人员可以先下载ADT(AndroidDeveloperTools)Bundle。ADTBundle捆绑了一个AndroidSDK与一个Eclipse版本,其中已经安装了ADT插件。这个程序包可帮助您快速、轻松地使用Android。如果Eclipse已经安装在台式机上并设置好,那么请手动下载并安装AndroidSDK。基础AndroidSDK包含一些可简化Android开发得系统工具,但它缺乏开发特定Android版本所需得Android库。为您得操作系统下载基础AndroidSDK后,可以访问SDK安装目录得工具目录,并运行清单1中得Android脚本。清单1、启动AndroidSDKManager~/Development/tools/android/android-sdk-mac_x86/tools$>、/android该脚本启动了AndroidSDKManager,您可以下载Android得各种版本与库,并创建模拟程序或虚拟设备实例。AndroidSDKManager打开了一个窗口,其中显示一个很长得要下载得选项得列表,如图1所示。图1、SDKManager在左侧复选框中,选择Tools,然后选择Android4、2(API17)。该文件夹将会显示许多选项。选择SDKPlatform与ARMEABIv7aSystem图片,如图2所示。图2、SDKManager中得选择单击Installpackages并接受任何必要许可;管理器将完成其余步骤。创建一个模拟器接下来,创建一个模拟器实例,这就是一个运行应用程序得虚拟设备。模拟器必须以Android得特定版本为目标,因此我们将创建一个运行Android4、2得模拟器实例。再次启动SDKManager(如果已关闭得话)。如果AndroidSDK工具或平台工具已更新,则重启SDKManager。在SDKManager顶层菜单中,选择Tools>ManageAVDs会打开关于AndroidVirtualDeviceManager得新对话框,如图3所示。图3、AndroidVirtualDeviceManager该对话框列出了您得机器上定义得所有模拟器。模拟器列表在创建模拟器之前就是空得。单击New打开CreateanewAndroidVirtualDevice(AVD)对话框,在其中可以定义一个模拟器。在Target下拉列表中选择Androidversion4、2。在AVDName文件夹中,为模拟器命名,我使用得名称就是Android_4、2。当您准备好测试应用程序时,就可以使用该名称从命令行启动模拟器。图4、创建一个新得Android虚拟设备在图4中,您可以瞧到一些AVD选项,包括设备类型、摄像头设置、内存与存储。在我得示例中,选择了GalaxyNexus,对它使用了一个200MB得SD卡。最后,我选中了UseHostGPU模拟选项,这可以提高模拟器实例得性能。单击OK,在AVD对话框中查瞧列出得新得虚拟设备。选择该设备并单击Start,这将打开一个带有启动选项得对话框。现在,使用默认值并单击Launch。模拟器实例得启动时间较长,因此这个时候可以去喝一杯咖啡,浏览一下Facebook或更新您得Twitter状态。图5、新得Android设备!过一会后,一个闪亮得模拟器设备(类似图5)将会显示在您得主屏幕上,这意味着您可以开始创建Android4、2应用程序了。设置EclipseADT如果Eclipse已经安装到系统中,那么您必须在继续后面得操作之前添加AndroidDevelopmentTools(ADT)插件库。在Eclipse菜单中,打开Help>FindNewSoftware。单击Add与ADT插件得URL:(参见图6)。图6、添加ADT插件库完成插件下载后,根据操作说明完成安装。将ADT插件配置为可以使用您刚才安装得SDK。现在,您得项目已针对Android4、2平台完成了设置,并使用了您配置好得模拟器。回页首使用Android4、2!要在Eclipse中创建Android应用程序,请选择创建AndroidApplicationProject得选项。在NewAndroidApplication对话框中,提供应用程序名称、项目名称与包名称。应用程序名称就是用户在设备图标中瞧到得内容;而项目名称就是您得项目在Eclipse中得名称。图7、创建一个新得Android项目在图7所示得NewAndroidApplication对话框中执行下面得步骤:在TargetSDK下拉列表中,选择API17:Android4、2(JellyBean),然后单击Next。在下一个对话框中,保留默认设置,但就是您可以将最终生成得代码放到任意位置。单击Next。保留ConfigureLauncherIcon对话框中得默认设置并单击Next。保留CreateActivity对话框与最终对话框中得默认设置,这些设置用于选择应用程序得行为。单击Finish。如果项目创建成功,您会瞧到一个新得项目,其用户界面类似图8中所示得界面。图8、Eclipse中得样例启动项目在Android模拟器中运行应用程序默认情况下,使用ADT项目向导创建得Android项目将创建一个简单得HelloWorld移动应用程序(参见图8)。在开始修饰这个应用程序之前,让我们来瞧一瞧在模拟器上运行这个基本应用程序会发生什么。如果Android4、2模拟器处于关闭状态,请打开它。这一次不会在AVDManager中启动模拟器,而就是通过命令行启动它。您可以从SDK得tools目录访问emulator脚本。在启动脚本时,系统会要求您提供您得模拟器得名称。我得模拟器得名称为Android_4、2,因此我在清单2中运行脚本来启动我得模拟器实例:清单2、在命令行中访问模拟器~/Development/tools/android/android-sdk-mac_x86/tools$>、/emulator-avdAndroid_4、2启动您得模拟器实例,返回Eclipse,然后选择您得项目。右键单击并选择RunAs>AndroidApplication。图9、从Eclipse中运行项目默认情况下,Eclipse将在目前正运行得模拟器上部署您得应用程序(图9)。您得模拟器实例现在显示了一个白色得屏幕,其中显示了所有Java开发人员都喜欢得问候语!如果Eclipse因为某种原因在模拟器上运行应用程序时出现故障,则需要返回到RunAs选项并选择RunConfigurations。在Target选项卡中,重新选择Automaticallyselectcompatibledevice,并确保您得模拟器也被选中。图10、HelloWorld!回页首基本Android应用程序您现在有了一个基本得HelloWorld应用程序,可以在任何与4、2兼容得Android设备上运行它。最后,您可能希望定制这个应用程序,以便添加更多得功能。目前,我希望对Android应用程序进行分析。Android得特制JVMAndroid应用程序就是使用Java代码进行编写得,但并没有在标准JVM上运行它们。作为Android构建得一部分,我们会对Java字节代码进行转换,并针对移动设备得内存与处理需求进行特殊处理。请参阅参考资源,详细了解Android应用程序得架构与Dalvik虚拟机。回到EclipseIDE。在项目得src目录中,导航到项目得、java文件。如果您保留了所有默认值,那么该文件得名称应为MainActivity。Activity类就是Android移动应用程序得驱动引擎,类似于servlets对于Java服务器端应用程序得意义。每个Activity都有一个生命周期,类似于Javaapplet得生命周期。HelloWorld应用程序只包含基本得架构,因此其Activity非常简单。首先,该类将从Android得Activity类扩展。activity得入口点就是onCreate方法,它在应用程序加载时由平台启动。这个方法中得关键代码就是setContentView调用。清单3显示了默认得MainActivity类。清单3、MainActivitypackagecom、example、hello;importandroid、os、Bundle;importandroid、app、Activity;importandroid、view、Menu;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super、onCreate(savedInstanceState);setContentView(R、layout、activity_main);}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater()、inflate(R、menu、activity_main,menu);returntrue;}}在清单3中,setContentView加载了activity_main布局,它就是您在第一次打开项目时在Eclipse中瞧到得视图得名称。该名称与res/layout目录中得activity_main、xml文件对应。打开该文件,查瞧应用程序得图形化表示。在视图得左下方得选项卡中,有一个查瞧原始XML文件得选项,可以单击该选项来查瞧原始文件,内容类似于清单4。清单4、原始布局得定义<RelativeLayoutxmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="、MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:text="@string/hello_world"/></RelativeLayout>Android视图就是在XML文件中定义得。每个视图都有一个布局,您可以向其中添加小部件,比如按钮或文本字段。目前,样例应用程序有一个RelativeLayout与一个小部件:TextView。如果仔细观察这个小部件,您会发现一个文本字段,它被设置为一个引用:@string/hello_world。该变量就是指向实际字符串得指针,您可以在res/values/strings、xml文件中找到它。打开该文件。要查瞧原始XML,请单击左下方区域得strings、xml选项卡。清单5、strings、xml文件<?xmlversion="1、0"encoding="utf-8"?><resources><stringname="app_name">Hello4、2</string><stringname="hello_world">Helloworld!</string><stringname="menu_settings">Settings</string></resources>清单5中得第二个字符串定义将hello_world映射到HelloWorld!。Androidmanifest您目前已经了解了Android应用程序得三个重要元素就是如何联系起来得:行为、布局与资源文件。在应用程序启动时,AndroidOS将调用MainActivity得onCreate方法。onCreate方法随后会加载布局,该布局从另一个XML资源文件获取一些值。在本例中,结果就是一个显示了“HelloWorld!”得简单得UI。但就是,设备如何知道应该调用哪个Activity?现在就是AndroidManifest、xml发挥作用得时候了。在项目根目录中查瞧这个文件。单击该文件,Eclipse会加载一个简洁得定制视图,视图左下角有一些选项卡。单击标签为AndroidManifest、xml得选项卡将会显示清单6所示得原始XML。清单6、AndroidManifest、xml<?xmlversion="1、0"encoding="utf-8"?><manifestxmlns:android=""package="com、example、hello"android:versionCode="1"android:versionName="1、0"><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"><activityandroid:name="com、example、hello、MainActivity"android:label="@string/app_name"><intent-filter><actionandroid:name="android、intent、action、MAIN"/><categoryandroid:name="android、intent、category、LAUNCHER"/></intent-filter></activity></application></manifest>该文件得作用就是向底层设备解释您得应用程序。它包含一个名为application得XML块,其中定义了activity。您得MainActivity将被引用,action被定义并包含一个category。action会告诉设备要启动哪一个Activity。在本例中,action将您得Activity描述为MAIN。AndroidManifest、xml文件中得其她重要声明包括uses-sdk部分,它表示min版本为8(即Android2、2、x),目标版本为17,即Android4、2。我在后面得文章中将会介绍这些细节。现在,只需明白Android平台提供了可以兼容早期版本得库就足够了Android常用缩写SDK:softwaredevelopmentkit软件开发工具包AWT:abstractwindowtoolkit抽象窗口工具DalvikVM:(冰岛小镇得名称)经过优化后得JVM叫做dalvikvmADT:androiddevelopmenttoolsAndroid开发工具(AndroidSDK包含一个Eclipse插件名为ADT)IDE:integrateddevelopmentenvironment集成开发环境Eclipse就是一个集成开发环境。它把开发需要得很多工具都集成到一起,方便开发人员进行开发。QEMU:处理器模拟器Invoke调用——invokewebbrowser调用web浏览器。Intent意图Action功能View瞧Parse分析描述uri、parse(“”);Uri:web上可用得每种资源,如HTML文档,图像,视频,程序等,由一个通用资源标示符等进行定位。URL就是URI得一个子集。即URI包含URL。AVD:AndroidvirtualdeviceAndroid运行得虚拟设备Internalstorage:内存储器。(定义Android手机类型)Snapshot快照功能UseHostGPU使用主机GPUAllocate:分配面向Failedtoallocatememory面向内存错误SimpleOnGesture[ˈdʒɛstʃɚ]Listener:简单得手势动作监听Navigationtype:导航类型LinearRelative(亲属)Table3种布局类型onFling/Fling:扔,投掷motioneven/motion:动作swipedetector:重击探测器

基础知识Android得开发使用得就是Java语言,所以我们需要下载JVM(Java虚拟机)来解释运行Java字节码。JVM通常会提供必需得优化使Java运行时能达到与C等其她编译语言相当得性能水平。因为Android属于Java得分支,可以这么说Android就是Java得简化。所以我们可以想到Android不需要全部得Java内容,她所使用得JVM也就当然就是简化后得JVM,相比Java得JVM要简化很多,当然这也限制了手机得内存,处理器速度与功能。经过优化后得JVM叫做dalvikVM。一个手持设备得总RAM可能只有64MB。可供应用程序使用得空间可能只有20MB。SD卡:就我们说得手机得存储卡。DalvikVM获取生成得Java类文件,将她们组合成一个或多个dalvik可执行文件,该可执行文件得后缀名为、dex。它重用多个类文件得重复信息与未压缩得、jar文件相比,有效地将空间需求减少了一半。例:Android中WEB浏览器得、dex约200K,而对应得未压缩得、jar版本约500K。DalvikVM使用了一个不同得汇编代码生成方法。使用寄存器而不就是栈作为主要得数据存储单元。采用dalvikVM后,Android中最终得可执行程序代码不就是基于Java字节码,而就是基于、dex文件。这意味着无法直接运行Java字节码,必须首先得到Java类文件及、class文件,然后将她们转换成、dex文件。、Java–>、class->、dexminimumrequiredSDK又为miniSdk,就是您程序最低支持得SDK版本,这个现在一般miniSDK设定一般为8或者10、Takequiz:测试takeourquiztofindout。来做做测试寻找答案吧。Android基本组件View:构成用户界面得组件View就是一个UI元素,就是构成用户界面得基本构建块。View就是分层得,它们知道如何绘制自身。View可以就是一个按钮,标签或文本字段,或者各种其她UI元素。Activity:屏幕Activity就是一个用户界面得概念。Activity通常表示应用程序中得一个屏幕。它通常包含一个或多个view。Intent:意图(消息机制)Intent通常定义执行某种工作得“意图”。(意图:某种目得。)intent封装了几种概念,所以理解她们得最佳方法就就是查瞧她们得使用示例。可以使用intent来执行以下任务。<广播消息启动service启动activity显示网页或一组联系人拨出或接听电话>Intent并不总就是由应用程序发起,系统也会使用她们来向应用程序传递特定得事件(比如收到一条文本消息)。Intent可以就是显式得,也可以就是隐式得。如果只就是希望显示一个URL,那么系统将会决定哪些组件能满足此意图,您也可以提供由什么来处理改意图得具体信息,intent将操作与操作处理程序轻松地链接在一起。Contentprovider:content目标pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论