Android复习要点.docx
- 文档编号:9729509
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:27
- 大小:31.33KB
Android复习要点.docx
《Android复习要点.docx》由会员分享,可在线阅读,更多相关《Android复习要点.docx(27页珍藏版)》请在冰豆网上搜索。
Android复习要点
1、Android的体系结构。
aLinux内核
⏹b中间件层
由函数库和Android运行时构成
c应用程序框架
d应用程序
2、Android工程的创建过程。
File→New→Project…︱Android→AndroidProject或
File→New→Other…︱Android→AndroidProject
❑填写工程名称:
工程名称必须唯一,不能与已有的工程重名
❑在Projectname中填入HelloAndroid
❑选择创建方式
❑选择编译目标。
有三个选项
❑第一个是标准的1.1版本Android系统,API等级为2
❑第二个是标准的1.5版本的Android系统,API等级为3
❑第三个是包含GoogleAPI的1.5版本的Android系统,API等级为3
❑选择不同版本的Android系统,引入不同版本的android.jar包。
这里选择标准的1.5版本Android系统
❑填写相关信息
❑应用程序名称,即Android程序在手机中显示的名称,显示在手机的顶部。
在Applicationname填入HelloAndroid
❑包名称是包的命名空间,需遵循Java包的命名方法,由两个或多个标识符组成,中间用点隔开。
为了包名称的唯一性,可以采用反写电子邮件地址的方式。
❑创建Activity是个可选项,如需要自动生成一个Activity的代码文件,则选择该项。
Activity的名称与应用程序的名称不同,但为了简洁,可以让他们相同,表示这个Activity是Android程序运行时首先显示给用户的界面。
在CreateActivity填入HelloAndroid
❑SDK最低版本是Android程序能够运行的最低的API等级,如果手机的API等级低于程序的SDK最低版本,则程序无法在该Android系统中运行。
在这里,之前选择标准的1.5版本的Android系统,则SDK等级被自动填入3,此项无需更改
3、工程的目录结构与作用
ADT以工程名称HelloAndroid作为根目录,将所有字段生成的和非自动生成的文件都保存在这个根目录下
根目录包含四个子目录:
src、assets、res和gen,一个库文件android.jar,以及两个工程文件Androidmanifest.xml和default.properties
⏹src目录是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中
⏹HelloAndroid工程建立初期,ADT根据用户在工程向导中的“CreateActivity”选项,自动建立HelloAndroid.java文件
4、熟悉课件3给出的HelloActivity工程的JAVA类文件,界面布局文件,AndroidManifst.xml文件。
AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等,而且每个Android程序必须在根目录下包含一个AndroidManifest.xml文件
xmlversion="1.0"encoding="utf-8"?
>
android=" package="edu.hrbeu.HelloAndroid" android: versionCode="1" android: versionName="1.0"> icon="@drawable/icon" android: label="@string/app_name"> name=".HelloAndroid" android: label="@string/app_name"> name="android.intent.action.MAIN"/> name="android.intent.category.LAUNCHER"/> minSdkVersion="3"/> AndroidManifest.xml文件的根元素是manifest,包含了xmlns: android、package、android: versionCode和android: versionName共4个属性 xmlns: android定义了Android的命名空间,值为 package定义了应用程序的包名称 android: versionCode定义了应用程序的版本号,是一个整数值,数值越大说明版本越新,但仅在程序内部使用,并不提供给应用程序的使用者 android: versionName定义了应用程序的版本名称,是一个字符串,仅限于为用户提供一个版本标识 5、课件4: Android系统四个重要组件,Activity的生命周期。 ⏹程序的生命周期 ❑程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android程序启动到停止的全过程 ❑程序的生命周期由Android系统进行调度和控制的 ⏹Android系统中的进程优先级由高到低 ❑前台进程 ❑可见进程 ❑服务进程 ❑后台进程 ❑空进程 ⏹Android系统有四个重要的组件,分别是Activity、Service、BroadcaseReceiver和ContentProvider ⏹Activity生命周期 ❑Activity生命周期指Activity从启动到销毁的过程 ❑Activity表现为四种状态,分别是活动状态、暂停状态、停止状态和非活动状态 ⏹活动状态,Activity在用户界面中处于最上层,完全能不用户看到,能够与用户进行交互 ⏹暂停状态,Activity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能够与用户进行交互 ⏹停止状态,Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡 ⏹非活动状态,不在以上三种状态中的Activity则处于非活动状态 ⏹Activity生命周期分类 ❑Activity的生命周期可分为全生命周期、可视生命周期和活动生命周期 ❑每种生命周期中包含不同的事件回调函数 ⏹全生命周期 ❑全生命周期是从Activity建立到销毁的全部过程,始于onCreate(),结束于onDestroy() ⏹可视生命周期 ❑可视生命周期是Activity在界面上从可见到不可见的过程,开始于onStart(),结束于onStop() ❑onStart()一般用来初始化或启动与更新界面相关的资源 ❑onStop()一般用来暂停或停止一切与更新用户界面相关的线程、计时器和服务 ❑onRestart()函数在onSart()前被调用,用来在Activity从不可见变为可见的过程中,进行一些特定的处理过程 ❑onStart()和onStop()会被多次调用 ❑onStart()和onStop()也经常被用来注册和注销BroadcastReceiver ⏹活动生命周期 ❑活动生命周期是Activity在屏幕的最上层,并能够与用户交互的阶段,开始于onResume(),结束于onPause() ❑在Activity的状态变换过程中onResume()和onPause()经常被调用,因此这两个函数中应使用更为简单、高效的代码 ⏹全生命周期 ❑函数的调用顺序: onCreate()→onStart()→onResume()→onPause()→onStop()→onDestroy() ▪调用onCreate()函数分配资源 ▪调用onStart()将Activity显示在屏幕上 ▪调用onResume()获取屏幕焦点 ▪调用onPause()、onStop()和onDestroy(),释放资源并销毁进程 ⏹可视生命周期 ❑函数的调用顺序: onSaveInstanceState()→onPause()→onStop()→onRestart()→onStart()→onResume() ⏹调用onSaveInstanceState()函数保存Activity状态 ⏹调用onPause()和onStop(),停止对不可见Activity的更新 ⏹调用onRestart()恢复需要界面上需要更新的信息 ⏹调用onStart()和onResume()重新显示Activity,并接受用户交互 ⏹活动生命周期 ❑函数调用顺序如下: onSaveInstanceState()→onPause()→onResume() ⏹调用onSaveInstanceState()保存Activity的状态 ⏹调用onPause()停止与用户交互 ⏹调用onResume()恢复与用户的交互 6、课件5: 界面框架: 视图树。 组件TextView、EditText、Button实用: 先在布局文件中定义,然后在定义的类文件中引用。 会定义侦听器并注册到Button上。 线性布局,表格布局,相对布局。 Android用户界面框架 a)Android用户界面框架(AndroidUIFramework)采用视图树(ViewTree)模型 i.Android用户界面框架中的界面元素以一种树型结构组织在一起,称为视图树 ii.Android系统会依据视图树的结构从上至下绘制每一个界面元素。 每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制 b)视图树 i.视图树由View和ViewGroup构成 ii.View是界面的最基本的可视单元,存储了屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等功能 iii.View也是一个重要的基类,所有在界面上的可见元素都是View的子类 iv.ViewGroup是一种能够承载含多个View的显示单元 v.ViewGroup功能: 一个是承载界面布局,另一个是承载具有原子特性的重构模块 常见的系统控件包括TextView、EditText、Button、ImageButton、Checkbox、RadioButton、Spinner、ListView和TabHost ❑TextView是一种用于显示字符串的控件 ❑EditText则是用来输入和编辑字符串的控件 ⏹EditText是一个具有编辑功能的TextView ❑ id="@+id/TextView01" ❑android: layout_width="wrap_content" ❑android: layout_height="wrap_content" ❑android: text="TextView01"> ❑ ❑ id="@+id/EditText01" ❑android: layout_width="fill_parent" ❑android: layout_height="wrap_content" ❑android: text="EditText01"> ❑ ❑第1行android: id属性声明了TextView的ID,这个ID主要用于在代码中引用这个TextView对象 ⏹“@+id/TextView01”表示所设置的ID值 ⏹@表示后面的字符串是ID资源 ⏹加号(+)表示需要建立新资源名称,并添加到R.java文件中 ⏹斜杠后面的字符串(TextView01)表示新资源的名称 ⏹如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),但必须添加Android包的命名空间,例如android: id="@android: id/empty" ❑第2行的android: layout_width属性用来设置TextView的宽度,wrap_content表示TextView的宽度只要能够包含所显示的字符串即可 ❑第3行的android: layout_height属性用来设置TextView的高度 ❑第4行表示TextView所显示的字符串,在后面将通过代码更改TextView的显示内容 ❑第7行中“fill_content”表示EditText的宽度将等于父控件的宽度 ❑TextViewDemo.java文件中代码的修改 1TextViewtextView=(TextView)findViewById(R.id.TextView01); 2EditTexteditText=(EditText)findViewById(R.id.EditText01); 3textView.setText("用户名: "); 4editText.setText(""); ⏹第1行代码的findViewById()函数能够通过ID引用界面上的任何控件,只要该控件在XML文件中定义过ID即可 ⏹第3行代码的setText()函数用来设置TextView所显示的内容 Button是一种按钮控件,用户能够在该控件上点击,并后引发相应的事件处理函数 ImageButton用以实现能够显示图像功能的控件按钮 ButtonDemo在XML文件中的代码 1. id="@+id/Button01" 2.android: layout_width="wrap_content" 3.android: layout_height="wrap_content" 4.android: text="Button01"> 5. 6. id="@+id/ImageButton01" 7.android: layout_width="wrap_content" 8.android: layout_height="wrap_content"> 9. 1.定义Button控件的高度、宽度和内容 2.定义ImageButton控件的高度和宽度,但是没定义显示的图像,在后面的代码中进行定义 更改Button和ImageButton内容 引入android.widget.Button和android.widget.ImageButton 1.Buttonbutton=(Button)findViewById(R.id.Button01); 2.ImageButtonimageButton=(ImageButton)findViewById(R.id.ImageButton01); 3.button.setText("Button按钮"); 4.imageButton.setImageResource(R.drawable.download); 1.第1行代码用于引用在XML文件中定义的Button控件 5.第2行代码用于引用在XML文件中定义的ImageButton控件 6.第3行代码将Button的显示内容更改为“Button按钮” 7.第4行代码利用setImageResource()函数,将新加入的png文件R.drawable.download传递给ImageButton 按钮响应点击事件: 添加点击事件的监听器 1.finalTextViewtextView=(TextView)findViewById(R.id.TextView01); 2.button.setOnClickListener(newView.OnClickListener(){ 3.publicvoidonClick(Viewview){ 4.textView.setText("Button按钮"); 5.} 6.}); 7.imageButton.setOnClickListener(newView.OnClickListener(){ 8.publicvoidonClick(Viewview){ 9.textView.setText("ImageButton按钮"); 10.} 11.}); 1.第2行代码中button对象通过调用setOnClickListener()函数,注册一个点击(Click)事件的监听器View.OnClickListener() 2.第3行代码是点击事件的回调函数 3.第4行代码将TextView的显示内容更改为“Button按钮” 2.View.OnClickListener() 1.View.OnClickListener()是View定义的点击事件的监听器接口,并在接口中仅定义了onClick()函数 2.当Button从Android界面框架中接收到事件后,首先检查这个事件是否是点击事件,如果是点击事件,同时Button又注册了监听器,则会调用该监听器中的onClick()函数 3.每个View仅可以注册一个点击事件的监听器,如果使用setOnClickListener()函数注册第二个点击事件的监听器,之前注册的监听器将被自动注销 4.多个按钮注册到同一个点击事件的监听器上,代码如下 12.Button.OnClickListenerbuttonListener=newButton.OnClickListener(){ 13.@Override 14.publicvoidonClick(Viewv){ 15.switch(v.getId()){ 16.caseR.id.Button01: 17.textView.setText("Button按钮"); 18.return; 19.caseR.id.ImageButton01: 20.textView.setText("ImageButton按钮"); 21.return; 22.} 23.}}; 24.button.setOnClickListener(buttonListener); 25.imageButton.setOnClickListener(buttonListener); 第1行至第12行代码定义了一个名为buttonListener的点击事件监听器 第13行代码将该监听器注册到Button上 第14行代码将该监听器注册到ImageButton上 CheckboxRadiobuttonDemo在XML文件中的代码 1. id="@+id/TextView01“ 2.android: layout_width="fill_parent" 3.android: layout_height="wrap_content" 4.android: text="@string/hello"/> 5. id="@+id/CheckBox01" 6.android: layout_width="wrap_content" 7.android: layout_height="wrap_content" 8.android: text="CheckBox01"> 9. 10. id="@+id/CheckBox02" 11.android: layout_width="wrap_content" 12.android: layout_height="wrap_content" 13.android: text="CheckBox02"> 14. 15. id="@+id/RadioGroup01" 16.android: layout_width="wrap_content" 17.android: layout_height="wrap_content"> 18. id="@+id/RadioButton01" 19.android: layout_width="wrap_content" 20.android: layout_height="wrap_content“ 21.android: text="RadioButton01"> 22. 23. id="@+id/RadioButton02" 24.android: layout_width="wrap_content" 25.android: layout_height="wrap_content“ 26.android: text="RadioButton02"> 27. 28. 1.第15行 2.在第18行和第23行分别声明了两个RadioButton,这两个RadioButton是RadioGroup的子元素 引用CheckBox和RadioButton的方法参考下面的代码 1.CheckBoxcheckBox1=(CheckBox)findViewById(R.id.CheckBox01); 2.RadioButtonradioButton1=(RadioButton)findViewById(R.id.RadioButton01); CheckBox设置点击事件监听器的简要代码 1.CheckBox.OnClickListenercheckboxListener=newCheckBox.OnClickListener(){ 2.@Override 3.publicvoidonClick(Viewv){ 4.//过程代码 5.}}; 6.checkBox1.setOnClickListener(checkboxListener); 7.checkBox2.setOnClickListener(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 复习 要点