Android开发与应用 教学课件 ppt 作者 张荣 3 第一个Android应用程序

上传人:E**** 文档编号:89342202 上传时间:2019-05-23 格式:PPT 页数:48 大小:856KB
返回 下载 相关 举报
Android开发与应用 教学课件 ppt 作者  张荣 3 第一个Android应用程序_第1页
第1页 / 共48页
Android开发与应用 教学课件 ppt 作者  张荣 3 第一个Android应用程序_第2页
第2页 / 共48页
Android开发与应用 教学课件 ppt 作者  张荣 3 第一个Android应用程序_第3页
第3页 / 共48页
Android开发与应用 教学课件 ppt 作者  张荣 3 第一个Android应用程序_第4页
第4页 / 共48页
Android开发与应用 教学课件 ppt 作者  张荣 3 第一个Android应用程序_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《Android开发与应用 教学课件 ppt 作者 张荣 3 第一个Android应用程序》由会员分享,可在线阅读,更多相关《Android开发与应用 教学课件 ppt 作者 张荣 3 第一个Android应用程序(48页珍藏版)》请在金锄头文库上搜索。

1、第一个 Android 应用程序,on android,本章内容,第一个Android工程 Android工程的目录结构 Activity及其生命周期,示例:Hello world!,on android,HelloWorld,Eclipse 下自动生成 new android project HelloWorld,HelloWorld.java,Java 程序,package test.helloworld; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activ

2、ity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); ,R.java,Java 程序,package test.helloworld; public final class R public static final class attr public static final class draw

3、able public static final int icon=0x7f020000; public static final class layout public static final int main=0x7f030000; public static final class string public static final int app_name=0x7f040001; public static final int hello=0x7f040000; ,main.xml,xml 文件,Resources,strings.xml,xml 文件, Hello World,

4、everyone! HelloWorld ,显示内容: Hello World, everyone!,AndroidManifest.xml,xml 文件,RUN,RUN,模拟器运行,显示内容: Hello World, everyone!,Android project 的目录结构,文件夹 src 文件夹 gen 文件夹 Android 2.1-update1 文件夹 assets 文件夹 res AndroidManifest.xml proguard.cfg,项目 HelloWorl :,Android project:src,该文件夹是存放项目的源代码。新建项目时,系统生成了一个 He

5、lloWorld.java 文件,它导入了两个类 android.app.Activity 和 android.os.Bundle,HelloWorld 类继承自 Activity 且重写了 onCreate 方法。 Override:在方法前面加上 Override 系统可以帮助检查方法的正确性。 例如,public void onCreate() 这种写法是正确的,如果写成 public void oncreate() 这样编译器会报错The method oncreate(Bundle) of type HelloWorld must override or implement a su

6、pertype method,以确保你正确重写 onCreate 方法。如果不加 Override,则编译器会认为是新定义了一个方法 oncreate,检测不出书写错误。,android.app.Activity 类:因为几乎所有的 Activity 都是与用户交互的,所以该类关注创建窗口,可以用方法 setContentView(View) 将自定义的 UI 放到 Activity 里面。 有两个方法是几乎所有的 Activity 子类都实现的: onCreate(Bundle):初始化 Activity,用布局资源(layout resource)调用 setContentView(int

7、) 方法定义 UI(main.xml)。 onPause():处理当离开该 Activity 时要做的事情,用户做的所有改变应该在这里提交(通常 Content Provider 保存数据)。,Android project:src,android.os.Bundle 类:从字符串值映射各种可打包的类型 Bundle:捆绑 例如该类提供了公有方法: public boolean containKey (String key) 如果给定的 key 包含在 Bundle 的映射中返回 true,否则返回 false。,Android project:src,Android project:gen,

8、该文件夹下面有一个项目创建时自动生成并实时更新的 R.java 文件,这个文件是只读的,不允许修改。 R.java 文件中定义了一个类 R,类中包含很多静态类,且静态类的名字都与 res 中的一个名字对应,即 R 类定义了 res 目录下所有资源的索引。 通过 R.java 程序可以很快地查找到需要的资源,另外通过检查 R.java 列表,编译器不会将没有被使用到的资源编译进应用程序包中,以减少手机中的空间占用。,R:资源索引类,Android project,该文件夹下包含 Java 归档文件 android.jar,包含了构建项目所需的所有的 Android SDK 库和 APIs。 通过

9、 android.jar 将应用程序绑定到 Android SDK 和 Android Emulator,这使得项目可以使用所有 Android 的库和包,并且可以在适当的环境中调试。 例如 HelloWorld.java 通过下面两行代码从 android.jar 导入了两个包: import android.app.Activity; import android.os.Bundle;,Android project:res,资源目录,包含项目中的资源文件并将其编译进程序包中。向此目录添加资源时,会被 R.java 自动索引。 res 中默认有三个子目录:drawable-XXX、layo

10、ut、values drawable-XXX:包含应用程序可以用的图标、图像文件(*.png、*.jpg) layout:界面布局文件(main.xml)等 values:存放一些程序中用到的数据,比如常量、字符串、尺寸、样式等。数据通常是XML格式的文件 ,如arrays.xml、colors.xml、dimens.xml、styles.xml,Android project:assets,该文件夹包含项目所需要使用到的诸如 mp3、视频文件,存放的也是资源文件。 与 res 文件夹存放的资源不同的是,assets 内的资源文件不会被 R 类索引,不能使用 R 的成员引用方式进行访问。,An

11、droid project:AndroidManifest.xml,项目的总配置文件,存储整个项目的配置数据,记录了应用程序中所使用的各种组件,列出了应用程序所提供的功能,指出了应用程序使用到的服务(如电话、互联网、短信、GPS 等) 应用程序添加新的 Activity 时,也需在此注册后才能调用 AndroidManifest.xml 包含如下设置: application、permissions(如下说明)、Activities、Intent filters 等,Android project:project.properties,由 Android Tools 自动生成,不允许修改 文件

12、中记录了项目中所需要的环境信息,比如Android API 的最低兼容版本等 项目 HelloWorld 的 default.properties 文件代码如下所示(Android2.3.3): # Project target. target=android-10,Android project:proguard.cfg,proguard 是 Java 类文件的压缩、优化、混淆器,用于删除没有用的类、字段、方法与属性,以使字节码达到最大程度地优化 作为配置文件,proguard.cfg 是 android-sdk-windowstoolslib 目录下的同名文件的副本 proguard.cf

13、g 是在Android SDK 升级到 2.3 版后才出现的,同样不需要手工修改,组件是可以调用的基本功能模块,Android应用程序就是由组件组成的 Android系统有四个重要的组件,分别是Activity、Service、BroadcaseReceiver和ContentProvider,Activity及其生命周期,Activity Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件 Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动 在界面上的表现形式:全

14、屏窗体,非全屏悬浮窗体,对话框 Service Service用于没有用户界面,但需要长时间在后台运行的应用,Activity组件,BroadcaseReceiver BroadcaseReceiver是用来接受并响应广播消息的组件 不包含任何用户界面 可以通过启动Activity或者Notification通知用户接收到重要信息 Notification能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个持久的图标,Activity组件,ContentProvider ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通

15、过ContentProvider访问其他应用程序的私有数据 私有数据可以是存储在文件系统中的文件,也可以是SQLite中的数据库 Android系统内部也提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息,Activity组件,Activity及其生命周期,程序的生命周期 程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android程序启动到停止的全过程 程序的生命周期由Android系统进行调度和控制的,Activity表现为四种状态 活动状态:Activity在用户界面中处于最上层,完全能不用户看到,能够与用户进行交互 暂停状态:Act

16、ivity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能够与用户进行交互 停止状态:Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡 非活动状态:不在以上三种状态中的Activity则处于非活动状态,Activity生命周期,Activity栈,Activity生命周期,Activity生命周期的事件回调函数,Activity生命周期,Activity状态保存/恢复的事件回调函数,Activity生命周期,Activity及其生命周期,程序的生命周期,举例:建立一个新的Android工程 工程名称:ActivityLifeCycle 包名称:edu.hrbeu.ActivityLifeCycle Activity名称:ActivityLifeCycle,Activity生命周期,ActivityLifeCycle.java文件的代码,Activity生命周期,Activity生命周期,Act

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号