Android移动应用开发-创建Android项目_第1页
Android移动应用开发-创建Android项目_第2页
Android移动应用开发-创建Android项目_第3页
Android移动应用开发-创建Android项目_第4页
Android移动应用开发-创建Android项目_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

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

文档简介

Android移动应用开发

010302040706认识Android列表与适配器菜单与对话框设计UI控件设计设计用户界面创建Android项目Android本地存储书目录140911BroadcastReceiver与广播通信Service与后台服务设计ContentProvider与应用间数据共享网络连接与管理05Activity与Fragment08131210线程间的通信与异步机制Android性能分析与测试

创建Android项目章目录2.1Android项目架构解析2.2Android资源配置与管理2.3Android代码调试任务2.1使用向导创建Android项目1.任务描述使用AndroidStudio创建一个Android移动应用项目,在向导中配置项目的参数,并选择一个Activity(Android的一个系统组件,用于构建用户界面)模板。完成项目的创建后,通过AndroidPluginforGradle编译、构建和打包Android项目,并通过手机或模拟器运行该项目。2.运行结果本任务创建一个包含EmptyActivity模板的Android项目,运行结果如图所示。运行结果任务介绍2.1.1Android的项目组成通过向导创建的项目架构如图示。在AndroidStudio中单击“View”>“ToolWindows”>“Project”,打开“Project”窗口。“Project”窗口展示了项目中文件的组织方式,包括Project、Packages、ProjectFiles、Problems、Android等。Android项目架构主要包括编译系统和应用模块两大类。2.1.1Android的项目组成Gradle是Google公司推荐使用的一套基于Groovy的编译系统脚本,Android中使用GradleWrapper对Gradle进行一层包装。项目中与Gradle相关的模块如表2-1所示。01编译系统文件(夹)名用途.gradleGradle编译系统,版本由Wrapper指定.ideaAndroidStudioIDE所需要的文件gradleWrapper的JAR和配置文件所在的位置.gitignoreGit使用的IGNORE文件build.gradleGradle编译的相关配置文件,包括模块配置文件和项目配置文件pertiesGradle相关的全局属性设置gradlewLinux下的GradleWrapper可执行文件graldew.batWindows下的GradleWrapper可执行文件perties本地属性设置(key设置,AndroidSDK位置等属性),这个文件是不推荐上传到版本控制系统(VersionControlSystem,VCS)中的settings.gradle和设置相关的Gradle脚本2.1.1Android的项目组成应用(App)模块主要包含表2-2所列举的内容。02应用模块文件(夹)名用途build编译后文件存在的位置(包括最终生成的APK也在这里面)libs依赖的库所在的位置(JAR和AAR)src源代码所在的目录src/main主要代码所在位置src/androidTest包含在Android设备上运行的仪器测试的代码src/test包含在主机Java虚拟机(JavaVirtualMachine,JVM)上运行的本地测试的代码src/main/assets项目中附带的一些文件src/main/javaJava代码所在的位置src/main/jni包含使用Java原生接口(JavaNativeInterface,JNI)的原生代码src/main/resAndroid资源文件所在位置src/main/AndroidManifest.xml项目的清单列表文件,说明项目及其每个组件的性质build.gradle和这个项目有关的Gradle配置,一些项目的依赖就写在这里面代码混淆配置文件2.1.1Android的项目组成单击“File”>“ProjectStructure”,打开图2-4所示的“ProjectStructure”对话框。03项目架构“ProjectStructure”对话框2.1.2项目文件解析通过向导生成的MainActivity.java是Android中用于管理用户界面的系统组件。MainActivity.java代码编辑器窗口如图所示。01MainActivity.javaMainActivity.java代码编辑器窗口2.1.2项目文件解析activity_main.xml是一个布局文件,用于构MainActivity.java

所管理的用户界面。activity_main.xml代码编辑器窗口如图所示。02activity_main.xml2.1.2项目文件解析app文件夹下的build.gradle主要用于配置应用程序属性、签名、特性(渠道)、构建类型和依赖。build.gradle代码编辑器窗口如图所示。03app/build.gradlebuild.gradle代码编辑器窗口2.1.3清单文件解析AndroidManifest.xmlAndroidManifest.xml是一个用来描述Android应用整体信息的结构化XML清单文件,位于app/src/main目录下。该文件描述了应用程序的环境及其支持的Activity、Service、Intent接收器、ContentProvider提供程序以及权限、外部库和设备特性等信息。AndroidManifest.xml代码编辑器窗口如图所示。在AndroidManifest.xml文件的所有元素中,只有<manifest>和<application>标签中的元素是必需的,且只能出现一次。AndroidManifest.xml文件的所有元素值均通过属性进行设置,而不是通过元素内的字符数据设置。2.1.3清单文件解析AndroidManifest.xml代码编辑器窗口表示从右向左布局Activity的声明任务2.2设计App闪屏界面1.任务描述参照微信闪屏界面,实现App闪屏界面。2.运行结果本任务运行结果如图2-9所示。运行结果任务介绍章目录2.1Android项目架构解析2.2Android资源配置与管理2.3Android代码调试2.2.1资源的种类可以通过3种类型的文件来创建资源:XML文件(除位图和原始数据文件)位图文件原始数据文件两种不同类型的XML文件一种是编译到包里;另外一种是通过AAPT产生的资源文件。表2-3列出了Android支持的资源文件类型。2.2.1资源的种类路径资源文件类型res/animator/定义属性动画的XML文件res/anim/定义补间动画的XML文件,加载动画时使用AnimationUtils.loadAnimation()方法。属性动画也可以保存在此目录中,但是为了区分这两种类型,属性动画首选res/animator/目录res/color/定义颜色状态列表的XML文件res/drawable/存放位图文件(扩展名为.png、.9.png、.jpg、.gif)或编译为Drawable资源子类型的XML文件,可以使用Resource.getDrawable()方法获取这些资源res/mipmap/存放适用于不同启动器图标密度的Drawable文件res/layout/定义屏幕布局的XML文件(或者屏幕的一部分)res/values/文件夹里有一些典型的文件(一般约定文件以定义的元素类型后面部分为文件名)。arrays.xml:定义数组。colors.xml:定义颜色和颜色字符串数值。可以使用Resources.getDrawable()和Resources.getColor()方法取得这些资源。dimens.xml:定义尺寸数值。可以使用Resources.getDimension()方法取得这些资源。strings.xml:定义字符串数值。可以使用Resources.getString()或Resources.getText()方法取得这些资源。styles.xml:定义类型对象res/menu/定义程序菜单的XML文件,例如OptionsMenu、ContextMenu或者SubMenu等res/xml/任何XML文件。可以进行编译,并能在运行时调用Resources.getXML()方法显示XML原文件res/raw/放置任意原始形式的文件,并直接被复制到设备上。可以调用Resources.openRawResource()方法取得资源res/font/带有扩展名的字体文件(如.ttf、.otf或.ttc)或包含<font-family>标签的XML文件2.2.2引用资源以下4种通过资源ID引用资源的方式。例如styles、themes、layouts等。要调用这些资源通过Android包名来限定资源。例如,在ListAdapter中以列表的形式显示数据。setListAdapter(newArrayAdapter<String>(this,android.R.layout.simple_list_item_1,myarray));4.引用系统资源Android可以通过XML格式的资源文件来声明与定义各种类型的数组。(1)字符串数组(2)整型数组(3)Drawable数组(4)Color数组3.引用资源数组一个在属性(或者资源)里提供的数值可以被指向一个具体的资源。常用于布局文件中对字符串或图像的引用。在XML文件中引用资源的语法:@[<package_name>:]<resource_type>/<resource_name>2.在XML文件中引用资源知道资源的ID和目标文件的资源类型就可以在代码里使用资源。语法:R.resource_type.resource_name或android.R.resource_type.resource_name1.在代码中引用资源2.2.3管理资源备用资源是为特定配置而设置的资源。一个特定配置对应一组特定的资源,并给资源目录添加一个合适的配置限定词作为名称。创建备用资源:01备用资源首先在res/目录中创建以<resources_name>-<qualifier>形式命名的新目录。创建好后将相应的备用资源保存在其中。例如:res/drawable/icon.pngbackground.pngdrawable-hdpi/icon.pngbackground.png2.2.3管理资源02本地化资源很大程度上,本地化应用程序(根据产品界面语言以及硬件配置设置不同的资源)的工作就是为各种语言提供可替代的文本资源(有时,还需要提供可替代的图像、声音、布局及其他地区设置相关资源)。为了支持更多的语言,需要在res目录里创建额外的values目录。这些values目录的名称需要以“-”和国家的ISO码结尾。Android在运行时会根据设备的语言环境设置来加载适当的资源。例如:res/values/strings.xmlres/values-fr/strings.xmlres/values-ja/strings.xml2.2.3管理资源02本地化资源在AndroidStudio中提供TranslationsEditor以辅助本地化工作。选择res/values/strings.xml文件,右击strings.xml文件,然后选择“OpenTranslationsEditor”,会显示strings.xml文件中的键值对,如图所示。TranslationsEditor2.2.3管理资源Android用两种常规属性来分类设备屏幕:尺寸和像素密度。尺寸通常分为4类:small、normal、large和xlarge。像素密度通常也分为4类:低分辨率(ldpi)、中分辨率(mdpi)、高分辨率(hdpi)和特高分辨率(xhdpi)。03适配不同尺寸的屏幕为了声明用于不同屏幕的不同layout布局文件和Bitmap资源,必须把这些可选的资源文件分别放在不同的目录中。(1)创建不同的layout布局文件(2)创建不同的Bitmap资源任务2.3托管项目至GitHub【任务介绍】1.任务描述本任务通过搭建本地Git环境、在AndroidStudio中配置GitHub来实现将本地Android项目托管到GitHub中。2.运行结果项目托管成功后,GitHub中的项目浏览界面如图所示。GitHub中的项目浏览界面章目录2.1Android项目架构解析2.2Android资源配置与管理2.3Android代码调试2.3.1Logcat与系统日志系统日志系统日志会在调试应用时显示系统消息。这些消息包括运行在设备上的应用产生的信息。如果想利用系统日志来调试应用,需确保代码能够在应用处于开发阶段时写入日志消息和输出针对异常的堆叠追踪。“Logcat”窗口常用于显示以下两种情况产生的信息程序强制关闭或者异常退出的情况,即ForceClosed。程序无响应的情况,即ApplicationNoResponse[界面操作过程中线程响应超过5s,或者HandleMessage()回调方法执行过程中线程响应超过10s]。2.3.1Logcat与系统日志“Logcat”窗口2.3.1Logcat与系统日志在代码中写入日志消息,需使用Log类。android.util.Log类为Android提供了一个日志工具类,其通过Log.v()、Log.d()等方法向“Logcat”窗口输出调试信息。一种比较好的做法:在要用作第一个参数的类中声明TAG常量。例如,可以按如下方式创建一条日志消息。privatestaticfinalStringTAG="MyActivity";Log.i(TAG,"MyClass.getView()—getitemnumber"+position);Logcat信息级别包括Verbose(详细)、Debug(调试)、Info(信息)、Warning(警告)、Error(错误)、Assert(断言)。不同级别的信息显示不同的颜色。2.3.1Logcat与系统日志AndroidLogcat设置对话框如图所示。2.3.1Logcat与系统日志importandroid.util.Log;...publicclassMyActivityextendsActivity{privatestaticfinalStringTAG=MyActivity.class.getSimpleName();...@OverridepublicvoidonCreate(BundlesavedInstanceState){if(savedInstanceState!=null){Log.d(TAG,"onCreate()Restoringpreviousstate");/*restorestate*/}else{Log.d(TAG,"onCreate()Nosavedstateavailable");/*initializeapp*/}}

温馨提示

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

评论

0/150

提交评论