Android复习材料.docx

上传人:b****4 文档编号:3741656 上传时间:2022-11-25 格式:DOCX 页数:44 大小:180.60KB
下载 相关 举报
Android复习材料.docx_第1页
第1页 / 共44页
Android复习材料.docx_第2页
第2页 / 共44页
Android复习材料.docx_第3页
第3页 / 共44页
Android复习材料.docx_第4页
第4页 / 共44页
Android复习材料.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

Android复习材料.docx

《Android复习材料.docx》由会员分享,可在线阅读,更多相关《Android复习材料.docx(44页珍藏版)》请在冰豆网上搜索。

Android复习材料.docx

Android复习材料

第1章Android简介

手机操作系统:

AndroidiPhoneOSWindowsMobileWindowsPhone7Symbian黑莓PalmOLinux

 

简述Android平台的特征:

1)在内存和进程管理方面,Android具有自己的运行时和虚拟机。

2)在界面设计上,提供了丰富的界面控件

3)Android提供轻量级的进程间通讯机制Intent,使用跨进程组件通信和发送系统级广播成为可能

4)Android提供了Service作为无用户界面、长时间后台运行的组件

5)Android支持高效、快速的数据存储方式

6)Android提供了通用的共享数据接口ContentProvider

7)Android支持位置服务和地图应用

8)Android支持Widget插件

9)AndroidNDK支持使用本地代码(C或C++)开发应用程序的部分核心模块

描述Android平台体系结构的层次划分,并说明各个层次的作用:

体系分为四层:

1、Linux内核2、中间件层3、程序框架层4、应用程序层

1)Linux内核:

提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等

2)中间件层:

由函数库和Android运行时构成

1 函数库,主要提供一组基于C/C++的函数库

2 Android运行时

a.核心库,提供Android系统的特有函数功能和Java语言函数功能

b.Dalvik虚拟机,是经过优化的多实例虚拟机

3)应用程序框架:

提供Android平台基本的管理功能和组件重用机制

4)应用程序:

提供一系列的核心应用程序

第2章Android开发环境

Android开发环境的安装配置方法:

1)安装JDK和Eclipse

2)安装AndroidSDK

3)安装ADT插件

AndroidSDK的目录结构:

(+)add-ons

(+)addon_google_apis_google_inc_-14

(+)docs

(+)extras

(+)google

(+)usb_driver

(+)platforms

(+)android-14

(+)platforms-tools

(+)samples

(+)android-14

(+)temp

(+)tools

(-)SDKManager.exe

(-)AVDManager.exe

(-)SDKReadme.txt

1)add-one目录下的是Google提供地图开发的库函数,支持基于GoogleMap的地图开发

2)docs目录下的是AndroidSDK的帮助文档,通过目录下的offline.html文件启动

3)platforms目录用来存放SDK和AVD管理器下载的各种版本的SDK。

4)platforms-tools目录中保存了与平台调试相关的工具

5)tools目录保存了通用的Android开发调试工具和Android手机模拟器

6)SDKManager.exe和AVDManager.exe分别是SDK和AVD的管理器,SDKReadme.txt是AndroidSDK的说明文档

Android开发工具的用途:

1)Android模拟器(AVD):

模拟Android手机,并管理

2)Android调试桥(AndroidDebugBridge,ADB):

用于连接Android设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从模拟器或设备中传输文件。

3)DDMS

1 Android系统中内置的调试工具

2 监视Android系统中进程、堆栈信息,查看logcat日志,实现端口转发服务和屏幕截图功能,模拟器电话呼叫和SMS短信,以及浏览Android模拟器文件系统等

3 常用工具:

设备管理器,模拟器控制器,文件浏览器,日志浏览器

第3章Android应用程序

R.java文件的用途和生成方法:

R.java文件是ADT自动生成的文件,包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。

AndroidManifest.xml文件的用途:

XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等。

manifest元素仅能包含一个application元素,application元素中能够声明Android程序中最重要的四个组成部分,包括Activity、Service、BroadcastReceiver和ContentProvider,所定义的属性将影响所有组成部分。

activity元素是对Activity子类的声明,不在AndroidManifest.xml文件中声明的Activity将不能够在用户界面中显示。

intent-filter中声明了两个子元素action和category。

Android的程序结构:

1)

src目录是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中

2)gen目录用来保存ADT自动生成的java文件

3)assets目录用来存放原始格式的文件,此目录中的资源不能够被R.java文件索引

4)bin目录保存了编译过程中的所产生的文件,以及最终生产的apk文件。

5)res目录是资源目录,Android程序所有的图像、颜色、风格、主题、界面布局和字符串等资源都保存在其下的几个子目录中。

a.layout目录用来保存与用户界面相关的布局文件

b.values目录保存颜色、风格、主题和字符串等资源。

6)android.jar文件是Android程序所能引用的函数库文件

7)proguard.cfg文件是供ProGuard工具进行代码优化和代码混淆使用的配置文件。

8)project.properties文件记录了Android工程的相关设置

9)AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等

 

第4章Android生命周期

Android系统的四大基本组件:

Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件,Android应用程序可以包含一个或多个Activity,一般需要指定一个程序启动时显示的Activity。

Service一般用于没有用户界面,但需要长时间在后台运行的应用,可公开Service的程序接口,供其他进程调用。

BroadcaseReceiver用来接收广播消息的组件,不包含任何用户界面,可以启动Activity或者Notification通知用户接收到重要信息,能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个图标。

ContentProvider是Android系统提供的一种标准的共享数据的机制,其他程序通过ContentProvider访问程序的私有数据。

Android系统的进程优先级的变化方式:

Android系统的进程优先级从高到低分别为:

前台进程是Android系统中最重要的进程

可见进程指部分程序界面能够被用户看见,却不在前台与用户交互,不响应界面事件的进程

服务进程包含已启动服务的进程

后台进程指不包含任何已经启动的服务,而且没有任何用户可见的Activity的进程

空进程是不包含任何活跃组件的进程

优先级决定与变化规则

进程的优先级取决于所有组件中的优先级最高的部分

进程的优先级会根据与其他进程的依赖关系而变化

Activity的生命周期中各状态的变化关系:

Activity生命周期指Activity从启动到销毁的过程

Activity表现为四种状态:

活动状态,Activity在用户界面中处于最上层,完全能不用户看到,能够与用户进行交互

暂停状态,Activity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能够与用户进行交互

停止状态,Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡

非活动状态,不在以上三种状态中的Activity则处于非活动状态

Activity事件回调函数的作用和调用顺序:

全生命周期:

函数的调用顺序:

(1)onCreate→

(2)onStart→(4)onResume→(7)onPause→(8)onStop→(9)onDestroy。

可视生命周期:

函数的调用顺序:

(1)onCreate→

(2)onStart→(4)onResume→(7)onPause→(5)onSaveInstanceState

→(8)onStop→(6)onRestart→

(2)onStart→(4)onResume

Android应用程序的调试方法和工具:

LogCat

1 LogCat的右上方的五个字母表示五种不同类型的日志信息,级别依次增高

[V]:

详细(Verbose)信息[D]:

调试(Debug)信息

[I]:

通告(Info)信息[W]:

警告(Warn)信息

[E]:

错误(Error)信息

2 提供了“过滤”功能

DevTools是用于调试和测试的工具

第5章Android用户界面

Android用户界面框架采用MVC(Model-View-Controller)模型

1 控制器(Controller)处理用户输入

2 视图(View)显示用户界面和图像

3 模型(Model)保存数据和代码

Android用户界面框架采用视图树(ViewTree)模型

各种界面控件的使用方法

常见的系统控件:

TextViewEditTextButtonImageButtonCheckboxRadioButton

SpinnerListViewTabHost

用法:

TextView是一种用于显示字符串的控件

EditText则是用来输入和编辑字符串的控件,EditText是一个具有编辑功能的TextView

TextViewtextView=(TextView)findViewById(R.id.TextView01);

EditTexteditText=(EditText)findViewById(R.id.EditText01);

textView.setText("用户名:

");

editText.setText("Rajan");

Button是一种按钮控件,用户能够在该控件上点击,并后引发相应的事件处理函数

ImageButton用以实现能够显示图像功能的控件按钮

Buttonbutton=(Button)findViewById(R.id.Button01);

ImageButtonimageButton=(ImageButton)findViewById(R.id.ImageButton01);

button.setText("Button按钮");

imageButton.setImageResource(R.drawable.download);

finalTextViewtextView=(TextView)findViewById(R.id.TextView01);

button.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(Viewview){

textView.setText("Button按钮");

}

});

imageButton.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(Viewview){

textView.setText("ImageButton按钮");

}

});

多个按钮注册到同一个点击事件的监听器上

Button.OnClickListenerbuttonListener=newButton.OnClickListener(){

@Override

publicvoidonClick(Viewv){

switch(v.getId()){

caseR.id.Button01:

textView.setText("Button按钮");

return;

caseR.id.ImageButton01:

textView.setText("ImageButton按钮");

return;

}

}};

button.setOnClickListener(buttonListener);

imageButton.setOnClickListener(buttonListener);

CheckBox同时可以选择多个选项的控件

RadioButton则是仅可以选择一个选项的控件

RadioGroup是RadioButton的承载体,程序运行时不可见。

应用程序中可能包含一个或多个RadioGroup,一个RadioGroup包含多个RadioButton,在每个RadioGroup中,用户仅能够选择其中一个RadioButton

id="@+id/RadioGroup01"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content">

id="@+id/RadioButton01"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="RadioButton01">

id="@+id/RadioButton02"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="RadioButton02">

CheckBoxcheckBox1=(CheckBox)findViewById(R.id.CheckBox01);

RadioButtonradioButton1=(RadioButton)findViewById(R.id.RadioButton01);

CheckBox.OnClickListenercheckboxListener=newCheckBox.OnClickListener(){

@Override

publicvoidonClick(Viewv){

//过程代码

}};

checkBox1.setOnClickListener(checkboxListener);

checkBox2.setOnClickListener(checkboxListener);

RadioButton.OnClickListenerradioButtonListener=newRadioButton.OnClickListener(){

@Override

publicvoidonClick(Viewv){

//过程代码

}};

radioButton1.setOnClickListener(radioButtonListener);

radioButton2.setOnClickListener(radioButtonListener);

Spinner一种能够从多个选项中选一选项的控件,使用浮动菜单为用户提供选择

类似于桌面程序的组合框(ComboBox)

Spinner的浮动菜单的显示方式:

android.R.layout.simple_spinner_dropdown_item

android.R.layout.simple_spinner_item

id="@+id/Spinner01"

android:

layout_width="300dip"

android:

layout_height="wrap_content">

Spinnerspinner=(Spinner)findViewById(R.id.Spinner01);

Listlist=newArrayList();

list.add("Spinner子项1");

list.add("Spinner子项2");

list.add("Spinner子项3");

ArrayAdapteradapter=newArrayAdapter(this,

android.R.layout.simple_spinner_item,list);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);

ListView是一种用于垂直显示的列表控件,如果显示内容过多,则会出现垂直滚动条

ListView能够通过适配器将数据和自身绑定,在有限的屏幕上提供大量内容供用户选择,所以是经常使用的用户界面控件

ListView支持点击事件处理,用户可以用少量的代码实现复杂的选择功能

finalTextViewtextView=(TextView)findViewById(R.id.TextView01);

ListViewlistView=(ListView)findViewById(R.id.ListView01);

Listlist=newArrayList();

list.add("ListView子项1");

list.add("ListView子项2");

list.add("ListView子项3");

ArrayAdapteradapter=newArrayAdapter(this,

android.R.layout.simple_list_item_1,list);

listView.setAdapter(adapter);

AdapterView.OnItemClickListenerlistViewListener=new

AdapterView.OnItemClickListener(){

@Override

publicvoidonItemClick(AdapterView

>arg0,Viewarg1,intarg2,longarg3){

}};

listView.setOnItemClickListener(listViewListener);

Tab标签页是界面设计时经常使用的界面控件,可以实现多个分页之间的快速切换,每个分页可以显示不同的内容

在AndroidSDK3.0中,随着新的UI设计思想的引入,android.app.Fragment成为一种新的界面设计模式

AndroidSDK4.0继承了3.0版本的设计思路,因此不建议开发者使用android.app.TabActivity,而用使用新出现的Fragment实现Tab标签页

TabHost

Tab标签页的使用:

首先要设计所有的分页的界面布局,在分页设计完成后,使用代码建立Tab标签页(TabActivity),并给每个分页添加标识和标题,每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使用的方法与设计普通用户界面没有什么区别。

packageedu.hrbeu.TabDemo;

importandroid.app.TabActivity;

importandroid.os.Bundle;

importandroid.widget.TabHost;

importandroid.view.LayoutInflater;

@SuppressWarnings("deprecation")

publicclassTabDemoActivityextendsTabActivity{

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

TabHosttabHost=getTabHost();

LayoutInflater.from(this).inflate(R.layout.tab1,

tabHost.getTabContentView(),true);

LayoutInflater.from(this).inflate(R.layout.tab2,

tabHost.getTabContentView(),true);

LayoutInflater.from(this).inflate(R.layout.tab3,

tabHost.getTabContentView(),true);

tabHost.addTab(tabHost.newTabSpec("TAB1")

.setIndicator("线性布局").setContent(R.id.layout01));

tabHost.addTab(tabHost.newTabSpec("TAB2")

.setIndicator("绝对布局").setContent(R.id.layout02));

tabHost.addTab(tabHost.newTabSpec("TAB3")

.setIndicator("相对布局").setContent(R.id.layout03));

}}

各种界面布局的特点和使用方法

界面布局(Layout)是用户界面结构的描述,定义了界面中所有的元素、结构和相互关系

,声明Android程序的界面布局有两种方法,使用XML文件描述界面布局(推荐使用),

在程序运行时动态添加或修改界面布局,既可以独立使用任何一种声明界面布局的方式,也可以同时使用两种

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1