2017广东海洋大学《移动编程》复习试题_第1页
2017广东海洋大学《移动编程》复习试题_第2页
2017广东海洋大学《移动编程》复习试题_第3页
2017广东海洋大学《移动编程》复习试题_第4页
2017广东海洋大学《移动编程》复习试题_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2017 广东海洋大学《移动编程》复习提纲注:还有一些选择判断填空的小细节自己复习, 红色字体的为重点复习内容。记住一句话就能(高分)过:一定按照老师最后复习说的内容进行逐点复习。题型:选择+填空+判断=65分 程序填空+编程=35分1.Android体系结构(各控件的作用)(判断题:安卓有自己的运行时和内存管理机制(√))安卓基于Linux内核,采用软件堆层,分四层,第一层:Linux内核,提供由操作系统内核管理的底层基础功能,如:安全机制、内存管理、进程管理、电源驱动等第二层:中间件层,有函数库和Android运行时构成,如:运行时(核心库和ART虚拟机)、函数库(SurfaceManager、SQLite等)第三层:应用程序框架,提供了Android平台基本的管理功能和组件重用机制,如:ActivityManager、WindowManager、ContentProviders。第四层:应用程序层,如:邮件客户端、通讯录。SDK提供开发所必备的调试、打包和仿真工具和详细的说明文档以及开发示例。Add-one目录存放Google提供的地图开发包,docs目录是帮助文档,extras\Google目录保存Android手机的USB驱动程序。Platforms存放sdk和avd管理器下载的各种版本的

SDK,Platform-tools 保存了与平台调试相关的工具。开发工具(各开发工具的作用)Android模拟器:SDK中最重要的工具,允许程序开发者在没有物理设备的情况,在计算机上对Android程序进行开发、调试和仿真。2.Android调试桥(ADB):用于连接Android设备或模拟器的工具,负责将应用程序安装带模拟器和设备中,或从模拟器或设备中传输文件。3.DDMS(dalvikdebugmonitorservice):系统中内置的调试工具,可以用来监视Android系统中进程、堆栈信息,查看logcat日志等。其中,设备管理器用于监控多个Android模拟器,显示其正在运行的所有进程。模拟器控制器用于控制模拟器网络速度和延时等。文件浏览器可以对Android内置存储器上的文件进行上传下载等操作。日志浏览器(logcat)可以浏览系统或者应用程序产生的日志信息。(设置日志点,五种分类)3.四大组件包括

Activity

、Service

、Broadcastreceiver

、Contentprovider

。Activity

是程序的呈现层,显示可视化的用户界面

,并接受用户交互所产生的界面事件。Service一般用于没有用户界面,但需要长时间在后台运行的应用。如 MP3Broadcastreceiver是用来接收并响应广播消息的组件。如时区变更,电量不足等。Contentprovider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过contentprovider访问其他应用程序的私有数据。全生命周期:始于 onCreate,终于onDestroy可视生命周期:始于 onStart,终于onStop活动生命周期:始于 onResume,终于onPauseActivity 重新获得焦点如果Activity重新获得焦点,会依次执行3个事件回调函数:onRestart→onStart→onResume启动Activity在这个阶段依次执行

3个事件回调函数:

onCreate

onStart

onResume单选按钮RadioButton;复选按钮CheckBox定制用户界面控件相应的响应事件。View.OnClickListener/CheckBox.OnClicklistener/RadioButton.OnClicklistenerxxx=newxx.OnClickListener(){PublicvoidonClick(Viewv){}相对布局能够最大程度保证在不同分辨率的设备上正确显示界面布局用XML使用选项菜单和子菜单(程序填空题,除了下面的,还有线性布局,相对布局都挖了空,参考课本P106(第六行等),P112(第20行等)或课件相关内容。)publicclassOptionMenuActivityextendsActivity{publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main) ;// 考试中main被替换成具体的文件。publicbooleanonCreateOptionsMenu(Menumenu){MenuInflaterinflater=getMenuInflater();inflater.inflate(R.menu.main_menu,menu);returntrue;快捷菜单(Activity 栈和fragment回退栈):(选择题也考到的三个回调函数 onCreate(),onCreateView(),onPause() )

Fragment

重载为LabelView元素注册快捷菜单registerForContextMenu(LabelView);初始化快捷菜单publicvoidonCreateContextMenu(ContextMenumenu,Viewv,ContextMenuInfomenuInfo){点击事件的响应 publicbooleanonContextItemSelected(MenuItemitem){菜单项点击事件 publicbooleanonOptionsItemSelected(MenuItemitem){SP的特点(名/值对)(考试中,要选一个说法错误的,答案好像是配置文件只能是XML那个选项。应该还可以是INI等。),支持的访问模式:SP不仅能保存数据,还能够实现不同程序间的数据共享。SP支持各种基本数据类型缺点SP使用安卓的文件系统进行数据的存取,但数据文件只能保存在设备的内部存储器中的一个固定的私有目录中,不能指定其保存路径。一个关键字只能保存一项数据,数据的存储能力有限。SharedPreferences存储复杂类型的数据,则需要先对数据进行编码(如,Base64编码),再将编码后的数据以字符串的形式保存在SharedPreferences数据文件中访问模式(填空题,两个空,好像是全局读,全局写) :私有(MODE_PRIVATE):UID的其它应用程序进行读取和写入全局读(MODE_WORLD_READABLE):UID的应用程序可以对其进行读取或写入,其它应用程序也具有读取操作的权限全局写(MODE_WORLD_WRITEABLE):UID的应用程序可以对其进行读取或写入,其它应用程序也具有写入操作的权限2、如何对SP的文件进行访问,SP的文件保存位置和保存格式SharedPreferences 以XML格式的文件保存所产生的数据SharedPreferences将数据文件保存在设备的内部存储器的一个私有目录中,如下所示目录:data\data\<packagename>\shared_prefs3、SP访问数据的

4个步骤:SharedPreferences 的访问模式publicstaticintMODE=Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLESharedPreferences 的名称,即保存在SharedPreferences 数据文件(XML文件)的名称

Android

文件系统中的publicstaticfinalStringPREFERENCE_NAME="SaveSetting";注意:由于SharedPreferences数据文件只能以XML文件格式存储在手机内存中的固定目录下,因此,所定义的文件名不能包含路径,也不用指定文件的后缀名Activity

类 的

getSharedPreferences()API

获 取 一 个SharedPreferences 实例SharedPreferencesSP=getSharedPreferences(PREFERENCE_NAME,MODE);SharedPreferences 中的数据进行读写操作SharedPreferencesSP=getSharedPreferences(PREFERENCE_NAME,MODE);SharedPreferences.Editoreditor=SP.edit();editor.putString("Name","Tom");editor.putInt("Age",20);editor.putFloat("Height",1.81f);mit();1SharedPreferences SP=getSharedPreferences(PREFERENCE_NAME,MODE);Stringname=SP.getString("Name","DefaultName");intage=SP.getInt("Age",20);4 floatheight=SP.getFloat( “Height”,1.81f);文件存储(判断题)(1、内部存储与外部存储的相同点与不同点。内部存储器空间有限,仅能保存小尺寸的文件,且仅能将文件存储在存储器的固定目录中,但支持文件的访问模式和权限控制的设置(使用Linux文件系统的缘故)外部存储器空间较大,适用于保存大尺寸的文件,且文件能够存储在存储器的任意目录中,但不支持文件的访问模式和权限控制的设置(使用FAT文件系统的缘故)、对内部存储与外部储存文件进行访问的方式SD卡上读写数据的步骤与读写内部存储器数据的步骤基本一致,但需要具备以下2项前提SD卡可以随意加载或卸载,所以在编程访问SD卡前需要检测SD卡或者SD卡映射目录(如/sdcard或/mnt/sdcard)的可用性标签<manifest>

下添加

AndroidManifest.xml2项<uses-permission>

中注册2个用户权限,即在根子标签<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>写入数据部分代码:OnClickListenerwriteButtonListener=newOnClickListener(){@OverridepublicvoidonClick(Viewv){StringfileName="SdcardFile-"+System.currentTimeMillis()+".txt";Filedir=newFile("/sdcard/");if(dir.exists()&&dir.canWrite()){FilenewFile=newFile(dir.getAbsolutePath()+"/"+fileName);FileOutputStreamfos=null;try{newFile.createNewFile();if(newFile.exists()&&newFile.canWrite()){fos=newFileOutputStream(newFile);fos.write(randomNumbersString.getBytes());TextViewlabelView=(TextView)findViewById(R.id.label);labelView.setText(fileName+" 文件写入SD卡");}}catch(IOExceptione){e.printStackTrace();}finally{if(fos!=null){try{fos.flush();fos.close();}catch(IOExceptione){})7.数据库存储(1、如何对数据库进行管理和访问 2、代码建库3种类的作用)(参考以前学过的oracle 数据库)SQLiteDatabase类:位于android.database.sqliteSQLite数据库的核心类,封装了几乎所有数据库操作的

包中,是管理和操作API(如:数据的添加、查询、更新、删除等)DBOpenHelper:为DBAdapter类内部自定义的子类,继承于SQLiteOpenHelper帮助类,用于辅助建立、更新和打开数据库Context类:用程序环境(即上下文)的全局性信息的抽象Android系统提供了该抽象类的具体实现类Context可以访问应用程序中的资源和类,以及执行应用程序级别的操作,例如:启动Activity、发送广播、接受Intent信息等publicclassDBAdapter{privatestaticfinalStringDB_NAME=“people.db”;//数据库名称privatestaticfinalStringDB_TABLE=“peopleinfo”;//数据表名称privatestaticfinalintDB_VERSION=1;//数据库版本号publicstaticfinalStringKEY_ID=“_id”;//数据表的主键字段名称publicstaticfinalStringKEY_NAME=“name”;//数据表的数据字段名称publicstaticfinalStringKEY_AGE="age";//数据表的数据字段名称publicstaticfinalStringKEY_HEIGHT="height";//数据表的数据字段名称privateSQLiteDatabasedb;privatefinalContextcontext;privateDBOpenHelperdbOpenHelper;privatestaticclassDBOpenHelperextendsSQLiteOpenHelper{PublicDBOpenHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion){Super(context,name,factory,version);}PrivatestaticfinalStringDB_CREATE= “createtable ”+DB_TABLE+“(”+KEY_ID+”integer primarykeyautoincrement, ”+KEY_NAME+”textnotnull, ”+KEY_AGE+”integer, ”+KEY

温馨提示

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

最新文档

评论

0/150

提交评论