• 1. Android 移动开发
  • 2. Android应用开发基础
  • 3. 回顾提问: Android系统的体系结构组成? Android系统中的四大核心组件是哪些?他们之间如何进行通信?
  • 4. 概述首先了解,Android虚拟设备的使用,通过使用来了解Android系统的界面风格及操作是用习惯,这对于我们今后开发Android应用程序打下一个良好的基础。 同时我们可以通过对Android应用程序的创建来初步了解Android应用程序的文件夹结构,以及各个文件夹的作用。掌握了这些才能使我们更快更高效地开发Android应用程序。
  • 5. 目标了解AVD虚拟机(Android系统)的使用 Android应用程序 程序打包&安装的过程 使用Eclipse开发一个Android的应用程序 掌握Android应用程序的文件夹结构
  • 6. Android 虚拟设备的使用 I若要学习基于Android操作系统的开发,我们首先要熟悉并了解Android手机的基本使用。下面我们就Android手机的基本使用及AVD的使用简单介绍一下: 首先,需要了解一下手机特殊按键的作用按键功能开启照相功能音量调节功能开/关 机 或 模式转换返回主界面当前界面弹出菜单返回上一层搜索及图片查看Android系统基本为触屏手机,所以我们使用鼠标代替手指,鼠标左键 点击代表手指点击,鼠标点住拖拽代表手指按住拖拽。
  • 7. 具体操作将手机设置为中文界面(Android AVD默认界面是英文的) 如何设置桌面背景 如何进行横屏和竖屏的切换 使用快捷键 Ctrl+F12 可以完成AVD的横屏或竖屏切换 两个AVD之间进行电话通话 两个AVD之间进行SMS短息互通 删除Android系统中的应用程序
  • 8. Android 虚拟设备的使用 II点击这里,进入到主功能菜单点击这里,进入到【地区设置】通过鼠标拖拽,找到并点击这里,选择【zh_CN】关闭AVD虚拟机,重新启动。通过鼠标拖拽,对屏幕进行解锁Androud系统的汉化工作已经完成!
  • 9. 点击菜单按钮,弹出菜单选项点击【壁纸】,进行设置点击选择壁纸选择并点击【设置壁纸】Android 虚拟设备的使用 III
  • 10. Android 虚拟设备的使用 IV
  • 11. 说明:AVD右上角的ID号(5556:xxxx)就是虚拟设备的号码。单击这里,拨打电话Android 虚拟设备的使用 V
  • 12. Android 虚拟设备的使用 VI
  • 13. Android 虚拟设备的使用 VII
  • 14. AVD常见命令操作adb devices 列出所有的设备 adb shell 挂载到linux的空间 adb install xxx.apk 如果有多个设备,我们可以指定设备 adb install –s emulator-5554 D:/xxx.apk emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备的名称) mkmdcard 20m d:/sdcard.img 创建sdcard adb pull adb push android create avd –name android2.2 –target 8 创建模拟器 ctrl + F11 横竖屏的切换
  • 15. Android 应用程序使用 Java open sdk的变种 不支持部分 Java 库 : Swing & AWT Oracle 正在跟Google打官司 Java code 编译成 Dalvik byte code (.dex) 专门为手机设备优化 (更好的内存管理, 电源优化, 等) Dalvik VM 运行 .dex 文件
  • 16. 程序打包&安装的过程ADB (android debug bridge) 为开发人员提供便利 IDE Eclipse 把上面的过程全部都自动实现了
  • 17. 开发第一个Android应用打开eclipse  File  New  Android Application project 项目名称,不要出现中文或特殊字符在工作空间中创建一个新的项目选择项目所支持的Android系统版本号设置应用程序名称、包名称、首页面名称、最低支持的Android API 版本号。演示Android项目创建过程
  • 18. 怎么选择API版本Android平台占有率 为了保证程序能够在大多数手机上运行,需要保证至少兼容到2.2
  • 19. 启动Android应用程序步骤1:启动Android AVD虚拟设备。 步骤2:右击项目,选择【Run as】->【Android Application】命令:emulator -avd android2.3 -scale 0.6演示Android项目创建运行过程 考虑如何卸载该程序
  • 20. Android 项目名称src 项目类文件夹 存放项目中所有的类文件(包括 界面类文件、业务逻辑类文件等)gen 项目界面元素映射文件夹,该文件夹中的 R.java文件一般情况下不允许程序员私自修改,有 项目自动托管。Android 2.3.3 API工具包assets 存放项目资源文件夹(音频、视频等)res也是资源文件夹,但drawable存放项目中所使用的 图片,layout中的main.xml是界面布局及控件的声明文 件,values中的string.xml是程序用到的一些常量值。AndroidManifest.xml 是Android核心的配置文件项目基本信息配置文件Android 应用程序文件夹结构
  • 21. Android 应用程序文件夹结构src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。 res/ 资源(Resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。参看备注。 libs/ 支持库目录 程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。 assets资源目录 Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp AndroidManifest.xml 项目清单文件 这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。 project.properties 项目环境信息,一般是不需要修改此文件
  • 22. Activity类 MainActivity文件浅析Activity是Android中的视图部分,负责界面显示。可以看到MainActivity是Activity的子类,子类要重写onCreate方法。setContentView(R.layout.main)方法是给Activity设置可以显示的视图(View),视图由R类负责寻找。
  • 23. res/layout/main.xml文件浅析 – 布局layout我们看到有个res目录,也就是resource目录,这个目录下存放资源文件,资源文件的统一管理,也是Android系统的一大特色。现在要注意看的 是layout目录下的main.xml。这个文件的内容是有关用户界面布局和设计的。在桌面程序设计领域采用XML也许比较新颖,但是在网页设计领域, 这个就很平常了。同学们可以用html来类比xml在布局中的用途。从以上代码可以看到整个程序界面由一个线性布局控件(LinearLayout)和2个文本框控件(TextView)组成。res的其他目录里的其他文件也都是相关的资源描述。
  • 24. AndroidManifest.xml文件浅析在每个应用程序的根目录都会有一个AndroidManifest.xml文件,该文件向Android操作系统描述了,本程序所包括的组件,所实现的功 能,能处理的数据,要请求的资源等等。学过Java Web开发的同学可以用Web应用程序里的web.xml来类比这个AndroidManifest.xml文件。我们看到Manifest是根节点,节点属性里有versionCode和versionName来表示应用程序的版本;里面可以包含0个或1个 application元素,application可以包含多个activity组件等等,具体的内容我们在接下来的课程里详细讲解。
  • 25. Android.jar文件浅析作为一个Java项目,通常情况下都会引入要用到的工具类,也就是Jar包,在Android开发中,绝大部分开发用的工具包都被封装到一个名叫 Android.jar的文件里了。如果我们在Eclipse中展开来看,可以看到j2se中的包,apache项目中的包,还有Android自身的包 文件。 在这里我们简单浏览一下Android的包文件: android.app :提供高层的程序模型、提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容提供者浏览和操作数据库 android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上. android.location :定位和相关服务的类 android.media :提供一些类管理多种音频、视频的媒体接口 android.net :提供帮助网络访问的类,超过通常的java.net.* 接口 android.os :提供了系统服务、消息传输、IPC 机制 android.opengl :提供OpenGL 的工具 android.provider :提供类访问Android 的内容提供者 android.telephony :提供与拨打电话相关的API 交互 android.view :提供基础的用户界面接口框架 android.util :涉及工具性的方法,例如时间日期的操作 android.webkit :默认浏览器操作接口 android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用
  • 26. 总结每次启动一个AVD(虚拟设备),Android系统都会为虚拟设备分配一个端口号,而这个端口号就是虚拟设备的“电话号码”,我们可以通过它来模拟电话和短信功能。 掌握Android应用程序的创建过程及发布流程,启动一个AVD设备后再进行项目的发布可以提高整体的运行速度。 AndroidManifast.xml文件是Android应用程序的核心配置文件。这里存放的一般是项目所有的界面(Activity类对象),而每个Activity中有哪些视图控件则是由res/layout/main.xml文件决定,在Activity中引用这个文件即可。 了解Android应用程序是通过R.java文件将视图控件和Activity类文件之间进行连接和绑定。
  • 27. 作业请您简述和Android项目结构中res/layout/main.xml文件的作用? 请您简述AndroidMainfast.xml文件在项目中的作用? 如何理解gen/R.java文件的功能? assets文件夹存放的哪类文件? 项目中res/drawable 和 res/values 两个文件夹的作用分别是什么? 实践1:创建两个AVD虚拟设备,测试通话和短信功能。 实践2:创建一个Android应用程序,界面显示“我在学习Android开发”。
  • 28. 开发步骤步骤1:编辑main.xml布局文件->设置MainActivity的界面 步骤2:在MainActivity中获取到布局文件main.xml中的视图控件 findViewById() 步骤3:创建一个内部单击监听器类ViewOCL,设置器单击事件的动作 步骤5:获取了EditText中的值 步骤6:创建一个Intent信使,设置其跳转路径 步骤7:将需要传递的值使用Intent对象的putExtra()方法进行封装 步骤8:使用startActivity()完成跳转动作,同时用户姓名一并被传递过去 步骤9:第二个界面获取传入的Intent对象,getIntent() 步骤10:从Intent对象中获取到uname变量的值 getStringExtra() 步骤11:在第二个界面使用findViewById()获取到TextView控件 步骤11:将获取到得用户uname值使用setText()方法设置到TextView控件上。