Android期末考试复习.doc_第1页
Android期末考试复习.doc_第2页
Android期末考试复习.doc_第3页
Android期末考试复习.doc_第4页
Android期末考试复习.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1 SharedPreferences的使用 :能够使用SharedPreferences进行存储数据(数据来源可多种,比如来源于输入文本),能够读出存储数据,并显示(比如显示在textView中)存储时,看清楚指定的存储文件名、看清要求 MainActivity.java:package com.example.sharedpre;import android.os.Bundle;import android.app.Activity;import android.content.SharedPreferences;import android.view.Menu;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity private TextView tv;String s;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);tv=(TextView)findViewById(R.id.textView1);public void onClick(View v)SharedPreferences sp=this.getPreferences(MODE_PRIVATE);switch(v.getId()case R.id.button1:sp.edit().putString(hello, Mr.Liu).commit();Toast.makeText(MainActivity.this, Write Data is Successed!, 1000).show();break;case R.id.button2:s=sp.getString(hello, );tv.setText(s);break;数据存储位置:DDMS-File Explore-data-data-(package名称)-Shared_prefs-MainActivity.xml2、OptionMenu,XML的建立,onCreateOptionsMenu()、onOptionsItemSelected()的方法使用Menu-main.xml: String.xml: American China England Chile Chad #ff006e #6eff00#006effMainActivity.java:/自定义视图:ListView lv=null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);lv=new ListView(this);ArrayAdapteradapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.countrys);lv.setAdapter(adapter);setContentView(lv);/ onCreateOptionsMenu:Overridepublic boolean onCreateOptionsMenu(Menu menu) / TODO Auto-generated method stubMenuInflater in=new MenuInflater(this);in.inflate(R.menu.main, menu);return super.onCreateOptionsMenu(menu);/ onOptionsItemSelected:Overridepublic boolean onOptionsItemSelected(MenuItem item) / TODO Auto-generated method stubswitch(item.getItemId()case R.id.item1:lv.setBackgroundResource(R.color.color1);break;case R.id.item2:lv.setBackgroundResource(R.color.color2);break;case R.id.item3:lv.setBackgroundResource(R.color.color3);break;return super.onOptionsItemSelected(item);3、 意图有(直接)意图和间接意图之分。4、(Canvas)类包含一组矢量绘图方法,可以完成直线、曲线、等路径的绘制。5、Android项目调用MediaPlayer类中的 (start )方法播放音乐。6、Android项目中,用完数据库后,调用(close)方法关闭数据库。7、Bitmap类的构造函数是私有的,外面并不能实例化,需要通过(BitmapFactory)类的一些方法来实现。8、MediaPlayer主要用于播放音频,它与(SurfaceView)视图控件结合可以实现视频的输出。9、进行图像采集或视频录制时,常使用(MediaRecorder)类的一些方法和属性。10、ListView的使用1ListVeiw 用来展示列表的View。2适配器 用来把数据映射到ListView上的中介。3数据 具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。ArrayAdapter:/自定义字符串数组:String books=new String“”,“”,“”,11、Paint、Canvas类的使用,能够自己定义画笔颜色,定义画布颜色,在画布上绘制文字和直线12、表格布局中,两个重要的标签是Tablelayout和()。Activity 生命周期:onCreate(Bundle):首先创建时调用该方法,执行一次性的初始化工作。其后调用onStart()或onRestart()方法。 onStart():当Activity对用户即将可见时调用。onResume():用户可以开始与活动进行交互时会调用该方法。onPause():活动将进入后台时会运行该方法。onStop():在一段时间内不需要某个活动时,调用该方法。onRestart():将已处于停止状态的活动重新显示给用户。onDestroy():销毁活动前调用该方法。如果内存不足,系统会终止进程,可能不需要调用该方法。onSaveInstanceState(Bundle):调用该方法让活动可以保存每个实例的状态。onRestoreInstanceState(Bundle):使用onSaveInstanceState()方法保存的状态来重新初始化某个活动时调用该方法。自定义视图的三种方法:(1)在主Activity中直接重写View类(2)单独定义View类,在主Activity中引用:在shdoku中需要调用Game的界面使使用的就是单独定义,在Game活动用引用。(3)单独定义View类,在布局文件中引用布局方式:线性布局:LinearLayout相对布局:RelativeLayout绝对布局:AbsoluteLayout帧布局:FrameLayout列表布局:ListView表格布局:TableLayout简答题1. 简述Android 平台的特征有哪些。答:开放性、挣脱运行商的束缚、丰富的硬件选择、无缝结合的Google应用2.简述Android 平台开发环境搭建的步骤。答:安装Java JDK,安装Eclipse,安装Android SDK,搭建Eclipse集成开发环境(IDE)、配置ADT(Android Development Tools)、创建AVD(Android Virtual Device)3.简述Android系统架构从高到低的几个层次。答:四个层次,分别是:应用程序层(Applications)、应用程序框架层(Application Framework)、各种库(Libraries)和运行环境(Runtime)、Linux内核(Linux kernel)4.应用程序的基本组件有哪些?答:Activity、Service、Content Provider、BroadCast Receiver5.Android根据应用程序的组件以及组件当前运行状态将所有的进程按重要性程度从高到低划分为几个?答:可以划分为5个:前台进程、可见进程、服务进程、后台进程、空进程6.随着Activity的创建和销毁,可能会经历哪四种状态?答:活动状态:当前的Activity,位于Activity栈顶,用户可见,并且可以获得焦点 暂停状态:失去焦点的Activity,依然可见,即使在内存低的情况下,也不会被系统杀死停止状态:该Activity被其他Activity所覆盖,不可见,但是仍然保存所有的状态和信息。当内存低的情况下,它将要被系统杀死销毁状态:该Activity结束,或Activity所在的Dalvik进程结束7.使用资源包括哪几种方法?答:在代码里使用资源类;在代码里调用资源类并实例化;从其他资源类里引用8.AndroidManifest.xml主要包含哪些功能?答:说明application的java数据包,数据包名是application的唯一标识描述application的component说明application的component运行在那个process下声明application的权限,用以访问受保护的API,以及与其他application进行交互声明application的其他必备权限,用以与component进行交互列举application运行时所需要的配置信息,这些声明信息只有在程序开发和测试时存在,在发布前被删除声明application所需要的Android API的最低级版本列举application所需要链接的库9.应用程序的界面布局主要有哪些?答:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)10.Android应用程序的菜单有哪几种?答:Android应用程序的菜单有3种:选择菜单(Option Menu)、上下文菜单(Context Menu)、子菜单(Sub Menu)11.在界面上创建一个Spinner(含数据选项)的步骤。答:1、在布局文件中添加标记,并为其指定android:entries属性2、编写用于指定列表项的数组资源文件,并将其保存在res/values目录中,在该文件中添加一个字符串组12.现行布局中属性orientation的作用是什么?答:用于设置布局管理器内组件的排列方式,其可选的值为horizontal和vertical,默认值为vertical13.Android中实现事件处理的步骤?答:(1)将事件监听器注册到事件源(2)触发事件源上的事件(3)生成时间对象(4)触发事件监听器,事件被作为参数传入事件处理器(5)调用事件处理器做出响应14.简述Android平台提供了那些数据存储方法。答:Preferences、File、SQLite、ContentProvider,网络15.简述Android模拟器中应用程序使用SD卡的步骤。答:(1)调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡, 并且应用程序具有读写SD卡的权限(2)调用Environment的getExternalDirectory()方法来获取外部存储器,也就是SD卡的目录(3)使用FileOutputStream、FileInputStream、FileReader和FileWriter来读写SD卡16.简述创建或打开一个SQLite数据库的方法有哪些?答:openDataBase、openOrCreateDataBase17.使用ContentProvider来实现数据共享,都涉及到哪些辅助类。答:onCreate()、insert()、delete()、update()、query()、getType()18.开发ContentProvider的步骤答:(1)开发一个ContentProvider子类,并实现增、删、改、查等方法(2)在AndroidManifest.xml里面注册该ContentProvider19.startService()和bindService()启动服务的区别:服务不能自己运行,需要通过调用startService()或bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。1.使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。2.采用startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。3.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-onDestroy()方法。20. 请解释下在单线程模型中Message、Handler、MessageQueue、Looper之间的关系。Handler简介:一个Handler允许你发送和处理Message和Runable对象,这些对象和一个线程的MessageQueue相关联。每一个线程实例和一个单独的线程以及该线程的MessageQueue相关联。当你创建一个新的Handler时,它就和创建它的线程绑定在一起了。这里,线程我们也可以理解为线程的MessageQueue。从这一点上来看,Handler把Message和Runable对象传递给MessageQueue,而且在这些对象离开MessageQueue时,Handler负责执行他们。Handler有两个主要的用途:(1)确定在将来的某个时间点执行一个或者一些Message和Runnable对象。(2)在其他线程(不是Handler绑定线程)中排入一些要执行的动作21. handler机制的原理andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从Message Queue取出)所送来的消息。3) Message Queue(消息队列):用来存放线程放入的消息。4)线程:UIthread 通常就是main thread,而Android启动程序时会替它建立一个MessageQueue。一、 选择题1 android虚拟设备的缩写是(AVD)2 Android SDK目前支持的操作系统(DOS)3 Android开发工具插件(ADT)没有提供的开发功能(自动更新)4 Android SDK提供一些开发工具可以把应用软件打包成Android格式文件(APK)5 Android当中基本的所有的UI都是由(view)或者其子类实现的6以下不是Android中调试项目的正确步骤(测试用例)7下列不是Activity的生命周期方法之一的是(OnResume)8 以下可以做EditText编辑框的提示信息是(adroid:hint)9以下不是Activity启动的方法是(gotoActivity)10 以下不是手机操作系统的是(windows vista)二、 填空题1 Android平台由操作系统,中间件,用户界面和应用软件组成的。2 Android平台提供了2D,3D的图形支持,数据库支持SQLite,并且集成了浏览器3目前已知的可以用来搭建Android开发环境的系统有windows,Linux,Mac等 4开发中推荐使用的IDE开发组合为IDE,eclipse,ADI来开发5 Android SDK主要以java语言为基础6创建工程时需要填写的信息名称有工程名,包的名字,Activity的名字还有应用的名字7 Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API三、 简答题1 Android SDK中API的包结构的划分?至少五个android.util,android.os,android.content,android.view,android.graphics,android.text 2 Android软件框架结构自上而下可分为哪些层?应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android运行环境(RunTime)、操作系统层(OS)3 Android应用程序的4大组件是什么?Activity、Broadcast Intent Receiver、Service、Content Provider4 Android应用工程文件结构有哪些?源文件(包含Activity),R.java文件,Android Library,assets目录res目录,drawble目录,layout目录,values目录,AndroidManifest.xml5 Android开发应用程序最有可能使用到的应用框架部分是哪些?一组View(UI)组件,Content Providers,Resource Manger,Notification Manger,Activiy Manger6 Android底层库包含哪些?系统C库,媒体库,Surface Manager,LibWebCore,SGL四、 编程1实现点击一个按钮,结束当前Activity并将需要返回的数据放置并关闭当前窗体请编写核心代码Bundle bundle = new Bundle ( );Bundle.putString(“store”,”数据来自Activity1”) ;Intent mIntent = new Intent( );mIntent.putExtras(bundle);setResult(RESULT_OK, mIntent);finish( );2手动绑定列表控件的核心代码listMapdata;listView listview = null;data = new ArrayList Map( );Mapitem;item = new HashMap( );item.put(“姓名” , “张三小朋友”);item.put(“性别” , “男”);data.add(item);item = new HashMap( );item.put(“姓名” , “王五同学”);item.put(“性别” , “男”);data.add(item);listView = new ListView(this);SimpleAdapter adapter = new SimpleAdapter(this,data,R.layout.listitem, new String “姓名”,”性别”, new int R.id.mview1, R.id.mview2 ) ;listView.setAdapter(adapter);setContentView(listView);实验例题:SharePreferencepackage edu.lesson.sharedpreferences;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity implements View.OnClickListener private static final String FILENAME = huanghuai;private EditText username = null,userage = null;private Button submit = null;private Button show = null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);username = (EditText) findViewById(R.id.username);userage = (EditText) findViewById(R.id.userage);submit=(Button)findViewById(R.id.submit);show=(Button)findViewById(R.id.show);submit.setOnClickListener(this);show.setOnClickListener(this);Overridepublic void onClick(View v) SharedPreferences share = super.getSharedPreferences(FILENAME,Activity.MODE_PRIVATE);switch (v.getId() case R.id.submit:SharedPreferences.Editor editor = share.edit();String name = username.getText().toString().trim();String age = userage.getText().toString().trim();editor.putString(name, name);editor.putInt(age, Integer.parseInt(age);mit();break;case R.id.show:username.setText(share.getString(name, 没有 姓名信息);userage.setText(String.valueOf(share.getInt(age, 0);break;default:break;OptionMenupackage edu.test.optionmenu;import android.app.Activity;import android.content.res.Resources;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ImageView;public class MainActivity extends Activity private ImageView imageView = null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = (ImageView) findViewById(R.id.img);Overridepublic boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu.main, menu);return true;Overridepublic boolean onOptionsItemSelected(MenuItem item) int itemId = item.getItemId();if (itemId = R.id.changebg) Resources resources = getBaseContext().getResources();Drawable btnDrawable = resources.getDrawable(R.drawable.bg);imageView.setImageDrawable(btnDrawable);return super.onOptionsItemSelected(item);ListViewpackage edu.lesson.listview;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class MainActivity extends Activity private ListView listView = null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);listView = new ListView(this);listView.setAdapter(new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,getData();listView.setOnItemClickListener(new ItemClickEvent();setContentView(listView);Overridepublic boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu.main, menu);return true;private List getData() List data = new ArrayList();data.add(Test data1);data.add(Test data2);data.add(Test data3);d

温馨提示

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

评论

0/150

提交评论