文档库 最新最全的文档下载
当前位置:文档库 › Android应用开发基础习题

Android应用开发基础习题

Android应用开发基础习题
Android应用开发基础习题

任务一Android开发环境的搭建

第一部分知识回顾与思考

1.Android的四层架构分别包括哪几层?分别起到什么作用?

答:Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。

系统库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提供编程接口。

应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。

应用程序层(Applications):包含了Android平台中各式各样的应用程序。

第二部分职业能力训练

一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)

1.Android四层架构中,应用框架层使用的是什么语法?( C )

A.C B.C++ C.Java D.Android

2.Android四层架构中,系统库层使用的是什么语法?( B )

A.VB B.C /C++ C.Java D.Android

3.应用程序员编写的Android应用程序,主要是调用( B )提供的接口进行实现。

A.应用程序层 B.应用框架层 C.应用视图层 D.系统库层

二、填空题(请在括号内填空)

1.在Android智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android的(应用程序)层。

2.为了让程序员更加方便的运行调试程序,Android提供了(模拟器),可以方便的将程序运行其上,而不要实际的移动终端。

3.为了支持Java程序运行,我们需要安装(JDK)。

三、简答题

1.简述Android开发环境安装的步骤。

答:下载并安装JDK,配置JDK的环境变量;

从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT);

安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK 路径)。

2.简述Android应用程序创建和运行的步骤。

答:通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。

点击菜单中的运行按钮可以直接运行Android项目(也可以通过菜单配置运行参数,指定运行的模拟器)。

任务二星座查询工具的设计与实现

第一部分知识回顾与思考

1.Android的属性、方法、监听器如何使用,它们分别起了什么作用?

答:Android控件的属性,可以通过xml文件设定,通过设定控件的属性能够静态的改变控件的样式和一些特性;

控件的方法,可以通过编写代码动态调用方法,在程序中调用方法可以动态的修改控件的样式、也可以获得控件的相关信息;

控件的监听器,可以通过编码为控件创建、设定监听器,监听器可以监听控件发生的事件,一旦发生某个监听的事件可以触发相应的处理代码。

2.回顾一下Android工程中重要的目录和文件,它们的作用是什么?

答: src目录:该目录中存放的是我们需要编辑的Java源代码;

gen目录:目录中存放所有由Android开发工具自动生成的文件,它包含了界面、图标、常量等各种资源的id;

bin目录:目录中的内容是程序运行后自动生成的,不需要我们编辑,里面包含自动生成的可执行文件(如HelloAndroid.apk);

res目录:该目录中放置程序的重要资源,包括图片、布局、字符串等资源;

AndroidManifest.xml 文件:该文件非常重要,列出了应用程序许多基本信息(如版本、应用程序名称、启动图标等),其中还包括了程序使用到的各种服务(如电话服务、互联网服务、短信服务、GPS 服务等),该文件甚至包括了程序中所使用到的各个Activity信息。

第二部分职业能力训练

一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)

1.以下哪个控件用来显示图片?( A )

A.ImageView B.TextView C.EditText D.Button

2.如果要实现用户单击后触发一定的处理,以下哪个控件最合适?( D )

A.ImageView B.TextView C.EditText D.Button

3.如果我们需要捕捉某个控件的事件,我们需要为该控件创建( C )。

A.属性 B.方法 C.监听器 D.工程

4.以下的哪个属性是用来表示引用图片的资源ID?( D )

A.text B.img C.id D.src

5.以下的哪个属性是用来控制虚拟键盘输入类型?( B )

A.keyboard B.inputType C.text D.src

6.Android工程启动是最先加载的是AndroidManifest.xml,如果有多个Activity,以下哪个属性决定了该Activity最先被加载?( A )

A.android.intent.action.MAIN B.https://www.wendangku.net/doc/f618888910.html,UNCHER

C.android.intent.action.ACTIVITY D.android.intent.action.ICON

7.如果我们需要导入一张图片资源,我们需要将图片放在哪个工程目录中(A)。

A.res\drawable B.res\string C.res\picture D.res\icon

8.如果我们需要创建一个字符串资源,我们需要将字符串放在res\values的哪个文件中?( B )A.value.xml B.strings.xml C.dimens.xml D.styles.xml

9.以下哪个布局最不适合在多种移动终端上使用?( C )

A.相对布局 B.线性布局C.绝对布局 D.表格布局

10.相对布局中,如果指定一个控件位于引用控件的左侧,应该使用( D )属性。

A.android:layout_toParentLeftOf B.android:layout_alignParentLeft

C.android:layout_alignLeft D.android:layout_toLeftOf

二、填空题(请在括号内填空)

1.在Android控件使用过程中,经常需要根据控件的ID获取控件的对象,我们可以使用( findViewById )方法。

2.导入图片时,需要特别注意图片的名称不可以包含(大写字母、特殊符号)。

3.在创建控件的时候,可以在布局文件的界面视图中拖拉控件,但本质上还是编辑的( XML )文件。4.表格布局可以包含多行,( TableRow)代表是一行。

5.如果创建了一个字符串资源为hello,那么它的ID应该是( R.String.hello )。

三、简答题

1.简述五种布局的特点和运用场合。

框架布局:所有控件排列在左上角,用于制作特别的控件,初学者使用较少;

线性布局:控件可以按照水平或者垂直方向进行排列,控件排列方式简单;

绝对布局:可以指定控件摆放的位置,虽然摆放控件很容易,但是不适合多种分辨率和尺寸的屏幕,需要慎用;

相对布局:能够设定控件之间的相对关系、控件与父容器的相对关系,控件排列方式比较灵活,是常用

的布局之一;

表格布局:通过配合使用TableRow可以将控件以表格形式排列。

2.简述本节课程所学控件的特点和作用。

TextView:最基础的控件,用做显示文本信息;

Button控件:通过监听器单击事件,可以实现用户点击按钮后触发相应动作;

ImageView控件:用于显示图片的控件,可以通过src属性指定显示的图片,可以通过调用方法来动态设定图片;

EditText控件:输入文本控件,主要用于让用户输入信息,inputtype属性可以指定输入文本时的键盘特征;

DatePicker控件和TimePicker控件:日期和时间控件,可以显示日期和时间,也可以让用户进行日期和时间的选择。

任务三计算器的设计与实现

第一部分知识回顾与思考

1.Android提供了多种提示方式,思考一下它们各自的优缺点?

答:Android提供的常见的提示信息的方式有Toast、Dialog以及Notification。它们各自的特点如下:(1)Toast只能给用户提示信息,过一定时间后信息自动消失,用户只能阅读提示的信息,不能做出交互性动作,也不能修改Toast的界面。

(2)Dialog不仅能给用户提示信息,还可以让用户选择对提示信息的响应方式,更复杂的,用户可以定制Dialog的界面。

(3)Notification提供了更高级的提示信息的方式,手机界面上有专门用于显示Notification的区域。用户可以向下滑动拉开通知栏,查看通知的内容,还可以进一步打开相关的Activity来对通知信息做进一步的处理。

2.回顾一下Android的调试流程,在你的程序遇到问题的时候,你应该如何去定位解决问题?

答:当程序运行遇到问题时,我们应按如下的步骤去推测问题所在和调试程序:

(1)推理Bug出现时所发生的动作

(2)该动作所对应的程序代码

(3)在该行代码处设置断点

(4)启动程序调试,重复刚才的操作

(5)程序运行至断点时停止,然后单步执行程序

(6)单步执行时注意所涉及变量值的变化

(7)发现变量值异常或处理错误

(8)修改代码再次运行

第二部分职业能力训练

一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)

1.Toast创建完毕后,需要显示出来此时需要调用以下哪个方法?( B )

A.makeText B.show C.create D.view

2.以下哪个类对应Android中的提示对话框?( A )

A.AlertDialog B.Dialog C.ShowDialog D.Alert

3.对话框中有几个默认Button,( A )代表是确定按钮。

A.PositiveButton B.NegativeButton C.NeutralButton D.OKButton

4.Android中有一个服务用来管理通知,它是( B )。

A.Service B.NotificationManager C.Notice D.DialogBuilder

5.我们单击模拟器上的菜单键所产生的菜单,称为( D )。

A.ContextMenu B.KeyMenu C.PopupMenu D.OptionMenu

6.以下的哪个方法会在菜单创建时被调用?( A )

A.onCreateOptionsMenu B.onCreateMenu C.onCreateContextMenu D.onCreate

7.以下的哪个方法会在菜单项被单击时被调用?( C )

A.onContextItemSelected B.onCreateOptionsMenu C.onOptionsItemSelected D.onItemSelected 8.以下哪个类用于构造数组类型数据的适配器?( D )

A.Adapter B.CursorAdapter C.SimpleAdapter D.ArrayAdapter

9.Spinner控件的子项被选中所对应的监听器为( A )。

A.setOnItemSelectedListener B.OnClickListener C.OnLongClickListener D.setOnItemListener 10.以下哪个日志级别最高?( D )

A.WARN B.INFO C.DEBUG D.ERROR

二、填空题(请在括号内填空)

1.创建Toast使用makeText方法的第一个参数代表Activity的(对象)。

2.用户单击移动终端的( Menu )按钮,会触发创建Option Menu。

3.Spinner的父类是( AdapterView ),如何希望将数据显示到这样的控件上,一般都需要使用(Adapter)进行数据与控件的绑定。

4.调试是为了让程序执行到某行代码时停顿,我们需要在这一行设置(端点)。

5.在Eclipse中有一个窗口用于管理日志,该窗口是( LogCat )。

三、简答题

1.如果程序在运行时就发生了崩溃,你会如何进行推测和调试?

答:程序运行发生崩溃时,我们应按如下的步骤去推测问题所在和调试程序:

(1)推理Bug出现时所发生的动作

(2)该动作所对应的程序代码

(3)在该行代码处设置断点

(4)启动程序调试,重复刚才的操作

(5)程序运行至断点时停止,然后单步执行程序

(6)单步执行时注意所涉及变量值的变化

(7)发现变量值异常或处理错误

(8)修改代码再次运行

2.简述两种OptionMenu创建方法的相同点和不同点。

答:不同点:第一种方法完全通过代码的方式来创建菜单,即通过重写Activity类的onCreateOptionsMenu方法来创建菜单;而第二种方法则是通过定义布局文件的方式来创建菜单,即通过定义res\menu\main.xml菜单布局文件来创建菜单。相比较来说,第二种方法非常好地实现了逻辑代码和表现样式的分离,特别是在需要修改菜单样式时,第二种方法能够更少地修改代码而专注于XML布局文件,是目前更为推崇的架构方式。

相同点:对于两种方法创建的菜单,响应其事件的方法是一样的,即都是通过重写Activity类的onOptionsItemSelected方法来实现其事件响应的。

任务四“我的日记”的设计与实现

第一部分知识回顾与思考

1.Android中的生命周期中有哪几种状态?

答:活动状态、暂停状态、停止状态、销毁状态。

2.Intent有哪些重要属性,Activity之间是如何进行信息的传递的?

答:属性:Component(组件)、Action(动作)、Data(数据)、Category(分类)、Type(类型)、Extra(扩展信息)。

在Android中是通过intent中的属性进行信息的传递的。

第二部分职业能力训练

一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)

1.以下哪个控件可以用来显示进度?( B )

A.EditText B.ProgressBar C.TextView D.Button

2.以下哪个方法可以用来获得进度条的当前进度值?( A )

A.public synchronized int getProgress()

B.public synchronized void setIndeterminate (boolean indeterminate)

C.public synchronized void setProgress(int progress)

D.Public final synchronized void incrementProgressBy(int diff)

3.在Activity的生命周期中,当Activity处于栈顶时,此时处于哪种状态?( A )

A.活动 B.暂停 C.停止 D.销毁

4.在Activity的生命周期中,当Activity被某个AlertDialog覆盖掉一部分之后,会处于哪种状态?( A )

A.活动 B.暂停 C.停止 D.销毁。

5.Action属性ACTION_DIAL代表( A )标准动作。

A.显示电话拨号面板 B.显示直接打电话的界面

C.向用户显示数据 D.提供编辑数据的途径

6.如果需要显示id为1的联系人信息,Intent中的Action属性与Data属性应该设定为什么?( A )。A.ACTION_VIEW content://contacts/people/1

B.ACTION_DIAL content://contacts/people/1

C.ACITON_EDIT content://contacts/people/1

D.ACTION_CALL content://contacts/people/1

7.在文件存储中,若要获得SD卡的存储路径,需要调用( A )。

A. Environment.getExternalStorageDirectory()

B. openFileOutput(String name,int mode)

C. File (File dir, String name)

D. Environment.getDataDirectory()

8.Android中Environment.MEDIA_MOUNTED代表SD的( A )状态。

A.手机已插上SD卡,并且应用程序对SD卡具有读写权限。

B.手机已插上SD卡,但是应用程序对SD卡只具有读权限。

C.手机上没有SD卡

D.SD存在但是没有被安装,可以通过USB大容量存储器共享

9.category为( A )的Activity会在Android系统的主屏幕(Home)显示。。A.CATEGORY_HOME

B.CATEGORY_PREFERENCE

C.ACTION_MAIN

D.CATEGORY_BROWSABLE

10.activity生命周期中调用的第一个回调函数是( A )。

A.onCreated()

B.onStart()

C.onResume()

D.onRestart()

二、填空题(请在括号内填空)

1.若用DDMS查看,存储在手机SD卡上的文件的路径为( /mnt/sdcard/ )。2.SharedPreferences所存储的数据是以(“键-值”)的格式保存在xml文件中。3.当android: indeterminate取值为( true )时,开启了进度条的“不确定模式”。4.Android中提供了标准的Java文件输入输出流,分别为( File )InputStream、(File)OutputStream。5.category类别为( CATEGORY_LAUNCHER)的Activity会在Android系统启动的时候最优先启动起来。

三、简答题

1.简述ProgressBar如何与Handler结合在一起使用。

答:在布局文件写入进度条控件;

在源程序文件中申明Handler对象handler、Progressbar类对象progressbar、int型对象progress 表示当前进度,以及两个常量STOP和CONTINUE分别代表停止、继续两种消息;

实例化Handler对象handler,在handleMessage方法,更新进度条UI界面;

重写onCreate()方法,开启了一个子线程,该线程的run()方法中利用handler发送消息。

2.简述Android中如何利用文件存储来读写SD卡上的TXT文件。

答:改写AndroidManifest.xml文件,为SD卡设置创建与删除文件权限、写入数据的权限:

设置读写模式:

利用Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)判断SD卡是否正常安装在手机上;

在SD卡安装正常的情况下,利用File file = new File(Environment.getExternalStorageDirectory(), filename)获得该文件对应的File对象;

利用outputStream = new FileOutputStream(file, append);获得该文件的输出流、inputStream = new FileInputStream(file);获得该文件的输入流;

利用输入流inputstream、输出流outputstream对文件进行标准的java读写。

任务五音乐播放器的设计与实现

第一部分知识回顾与思考

1.ListView如何与数据进行绑定?

答:最简单的方式,可以在布局文件中为ListView指定一个字符串数组。其次,可以使用Adapter 将ListView与数组进行绑定,根据不同的数据源需要使用与其对应的Adapter。2.ArrayAdapter、SimpleAdatper、SimpleCursorAdapter的作用分别是什么?如何使用它们?

答:ArrayAdapter:可用于与数组进行数据绑定;SimpleAdapter:可用于与List集合的多个对象进行数据绑定;SimpleCursorAdapter:用于与Cursor提供的数据进行绑定。具体使用方式参考本任务支撑知识三、四、五小节。

3.MediaPlayer对象的生命周期是怎样的?

答:用new操作符创建一个新的MediaPlayer对象或是对已有对象调用reset()方法之后MediaPlayer 对象处于Idle状态。调用setDataSource()方法会使处于Idle状态的对象转变为Initialized状态。

在开始播放之前,MediaPlayer对象必须要进入Prepared状态,有同步和异步两种方式可以使MediaPlayer对象进入Prepared状态。要开始播放,必须调用start()方法。当此方法成功返回时,MediaPlayer的对象处于Started状态。当调用pause()方法并返回时,会使MediaPlayer对象进入Paused状态。调用stop()方法会停止播放,并且还会让一个处于Started、Paused、Prepared或PlaybackCompleted状态的MediaPlayer进入Stopped状态。具体参考本任务支撑知识第六节。4.回顾一下定时器所涉及几个类的作用以及这几个类之间的关系(Timer、TimerTask、Handle、Message)。

答:Timer启动后会周期性的触发TimerTask类的run方法,在run方法中会向UI线程的Handle 对象发送Message,从而触发Handle对象的handleMessage方法,在该方法中可以进行UI线程中控件更新等操作。

第二部分职业能力训练

一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)

1.ListView是常用的( C )类型控件。

A.按钮 B.图片 C.列表 D.下拉列表

2.ListView与数组或List集合的多个值进行数据绑定时使用( A )。

A.ArrayAdapter B.SimpleAdapter C.SimpleCursorAdapter D.BaseAdapter

3.ListView与List集合的多个对象进行数据绑定时使用( B )。

A.ArrayAdapter B.SimpleAdapter C.SimpleCursorAdapter D.BaseAdapter 4.ListView与Cursor提供的数据进行绑定时使用( C )。

A.ArrayAdapter B.SimpleAdapter C.SimpleCursorAdapter D.BaseAdapter 5.Android中MediaPlayer无法播放( D )。

A.程序资源文件 B.网络上的文件 C.SD卡上的文件 D.其他程序资源文件

6.以下表示系统自定义的只显示一行文字的布局文件是( B )。

A.https://www.wendangku.net/doc/f618888910.html,yout.simple_list_item_0 B.https://www.wendangku.net/doc/f618888910.html,yout.simple_list_item_1 C.https://www.wendangku.net/doc/f618888910.html,yout.simple_list_item_0 D.https://www.wendangku.net/doc/f618888910.html,yout.simple_list_item_1 7.MediaPlayer对象执行( D )之后处于Idle状态。

A.start() B.stop() C.pause() D.reset()

8.下列说法错误的是( D )。

A.prepare()是同步加载 B.prepare()方法返回时已加载完毕

C.prepareAsync()是异步加载 D.prepareAsync()方法返回时已加载完毕

9.如果希望启动定时器后5s执行第一次执行定时器任务,然后每隔3s执行定时器任务,schedule方法的后两个参数需要设定为( D )。

A.5,2 B.5,3 C.5000,2000 D.5000,3000

二、填空题(请在括号内填空)

1.创建ListView有两种方式包括直接使用ListView控件和(让Acitivity继承ListActivity )。2.ListView继承自( AdapterView )。

3.Adapter配置好以后,需要用( setAdapter )函数将ListView和Adapter绑定。

为MediaPlayer指定加载的音频文件时可以使用MediaPlayer提供的静态方法( create() )和非静态方法( setDataSource() )。

4.调用prepareAsync()方法会使MediaPlayer对象进入( preparing )状态并返回。

5.如果定时器子线程试图更新TextView的文本显示,将会(抛出异常)。

三、简答题

1.简述构造SimpleCursorAdapter时各个参数的作用。

答:参数table:数据库中表格的名称;参数columns:需要查询的列名的数组;参数selection:数据库查询条件,相当于SQL语句中where后面的条件;参数selectionArgs:selection语句中可以使用“?”来指定数值,数据库where条件后面经常会带?号,这个参数就是?号的替代者;参

数groupBy:查询数据时分组的规则;参数having:聚合操作;参数orderBy:查询数据时排序的规则。

2.简述MediaPlayer对象的prepareAsync()方法和prepare()方法的区别及其各自使用场景。

答:prepareAsync()方法和prepare()方法分别是异步加载和同步加载,prepareAsync()方法执行完毕后MediaPlayer进入preparing状态,而prepare()方法执行完毕后MediaPlayer进入prepared状态。prepareAsync()方法一般用于加载网络音频文件等耗时的场景,而加载本地音频的时候一般使用prepare()就可以了。

任务六贪吃蛇游戏的设计与实现

第一部分知识回顾与思考

1.回顾一下操作SQLite数据库的几个类的作用和之间的关系(SQLiteOpenHelper、SQLiteDatabase、Cursor)。

答:SQLiteOpenHelper类:需要进行数据操作,需要创建一个类继承自该类,通过该类实现数据库的创建和升级;

SQLiteDatabase类:通过SQLiteOpenHelper类可以获得SQLiteDatabase对象,通过该对象可以进行数据库的增加、删除、修改、查询;

Cursor类:查询数据库后返回Cursor对象,通过操作该对象可以对返回的数据集从行的移动,并且获取当前行指定列的数据。

2.回顾一下自定义控件的方法和监听器的作用。

答:自定义控件的共有方法:通过编写自定义控件的方法,可以返回当前控件的状态,也可以设定控件的参数,本质上是控件外影响控件内部的途径;

自定义控件的监听器:通过提供监听器,可以让控件外部监视控件内部发生的事件,通过方法的回调触发控件外部的处理,本质上是控件内部通知控件外部的途径。

第二部分职业能力训练

一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)

1.Android中有许多控件,这些控件无一例外的都继承自( D )类。

A.Control B.WindowC.TextView D.View

2.Android中有许多布局,它们均是用来容纳子控件和子布局的,这些布局均继承自( B )。A.Layout B.ViewGroup C.Container D.LinerLayout

3.自定义控件时需要重写View类的很多方法,以下哪个方法是与焦点相关?( B )A.onTouchEvent B.onFocusChanged C.onAttachedToWindow D.onDraw

4.以下哪个方法是在控件尺寸发生变化时会被调用?( C )。

A.onFinishInflate B.onMeasure C.onSizeChanged D.onLayout

5.进行图形绘制时需要调用Canvas类的方法,以下哪个方法可以用来绘制三角形的三条边?( B )A.drawPoint B.drawLine C.drawCircle D.drawRect

6.Paint类用来描述画笔,以下哪个属性Paint不能设定?( B )

A.文字大小B.坐标位置C.抗锯齿效果D.文字对齐方式

7.通过命令的方式进入Android内核的数据库后,哪个命令可以查看数据表创建语句?( D )A..databases B..tables C..create D..schema

8.以下哪个方法能够实现数据库的数据插入?( C )

A.onCreate B.onUpgrade C.execSQL D.rawQuery

9.Cursor类的哪个方法能够将游标指向数据集的第一行?( B )

A.moveToLast B.moveToPosition C.getCount D.moveToNext

10.以下哪种数据库操作不能使用execSQL方法执行?( C )

A.插入记录 B.删除记录 C.查询记录 D.创建数据表

二、填空题(请在括号内填空)

1.通过调用View类的(Invalidate())方法可以手动触发控件的重绘。

2.颜色是通过哪四项元素决定的?( R )、( G )、( B )、( A )

3.如果通过adb shell登录进入Android内核后,通过( sqlite3 testdb )命令可以进入数据库testdb。

4.通过调用( SQLiteDatabase )类的( rawQuery/Query )方法可以实现对数据库表格的查询。

三、简答题

1.简述几种Android数据存储的方法和特点。

答:文件存储:操作文件的方法与Java完全一致,可以将信息存储到应用程序的默认目录、指定目录、SD卡目录中去,但对于结构化数据的解析比较麻烦;

SharedPreferences:轻量级的数据存储方式,通过该类可以方便的实现数据的存入和读取,主要用于参数的存储;

SQLite数据库:支持SQL语句,通过配合使用SQLiteOpenHelper、SQLiteDatabase、Cursor这几个类,能够轻松的实现结构化数据的存储和读取。

2.如果让你自定义一个温度曲线控件,能够根据几个时间点的温度绘制出温度变化折线图,你会如何去实现呢?

答:自定义一个控件继承自View类。

提供公用的方法,能够将时间和温度信息配对的传入到控件内部。

重写onDraw方法,当数据信息发生变化时,根据所有的时间和温度信息进行图形绘制,绘制流程为:重绘控件的背景色;

利用drawLine方法,绘制控件的X轴和Y轴,并计算时间和温度区间,进行X和Y轴的刻度标识;

计算各时间点的温度坐标,调用drawPoint方法绘制相应的点,再调用drawLine方法将这些点用连线连接在一起形成折线。

如果要标识每个点的信息,可以利用drawText方法绘制点的时间和温度数值。

Android开发入门教程经典解析-JAVA语言

Android入门教程之Java核心技术阶段初级课程,从知识分类来说,可以分为三个部分来说明: (一)基础语法: 讲解Java发展史,Java环境搭建,环境变量配置,Java程序的基本结构,java和javac命令的使用,Notepad++工具的使用,语法格式,变量和常量,二进制转换,运算符、表达式,分支结构和循环结构语句,数组与多维数组,冒泡排序,二分查找,随机生成一组不重复的数算法,通过模拟一个双色球案例,把基础语法容融会贯通,打下扎实的基础。 (二)面向对象: 讲解Java中的OOP/OOD/OOA的知识,深入讲解OOP的封装、继承、多态、抽象的概念与实际应用,涉及内容为类与对象的定义和关系,封装分别在Java EE开发和Android开发中的不同,对象的引用传递,对象的内存分配和GC,构造方法和匿名对象,如何开发和定义一个类,深入讲解String类的原代码原理内部实现、特性和内存管理,通过四种字符串连接时的场景分析来深入理解Java编译期和运行期的区别,String的相关操作方法;static 关键字,构造方法私有化,对象数组与动态数组的实现原理,链表数据结构,内部类及优缺点,在EE开发和Android开发的区别和经验;继承的思想,方法重写与重载,super关键字,抽象类、接口和多态的思想,以及真实环境中的应用,Object类,包装类与特性,包与修饰符;课程贯彻的设计模式有:单例模式、工厂模式、策略模式、适配器模式、模板方法模式、代理模式。以及OO设计中的六大原则。通过本节课程你可以彻底理解什么是面向对象编程,加以时日练习,必成大器。 (三)Eclipse与异常处理 异常的基本处理格式和5大关键字的联合使用,Java中异常处理的新特性,自定义异常类,编译时异常与运行时异常的区别,JVM对异常的处理过程,经过前两节课程共两周多的Notepad++写代码,已经达到了纯手写代码的目的,本节课程开始引入了99.9%的程序员都在使用的集成开发环境Eclipse,他对异常调试的强大支持,会让你叹为观止,当然Eclipse 不仅仅只有这些,在这里,你将一一学到。 Android入门教程之Java核心技术阶段中级课程,Java基础、面向对象、Java高级开发,讲解以下内容: (一)常用类库API与算法 讲解StringBuffer类的内部原理,分析原代码实现,与String的区别与应用经验,如何实现国际化程序,日期操作API,Comparable的两种实现,对象克隆,Arrays工具类、Math 工具类、Random类的使用,选择排序算法和二叉树数据结构实现,通过本节课程,你将学到常用类库API和工作中最最常见的排序算法和二叉树,本节过后,你的功力又增强了。 (二)IO与New IO

Android应用程序开发(第二版)课后习题答案最新版

第一章 Android简介 1.简述各种手机操作系统的特点. 答案: 目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS 和Linux。 (1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。 (2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。 (3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。

随着Windows Phone 7的出现,Windows Mobile正逐渐走出历史舞台。 (4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。 (5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。操作系统不是完全开放的,核心代码不开放,但是API文档是公开的。 (6)黑莓系统主要在黑莓手机上使用,其特色是支持电子邮件推送功能,邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有新邮件。同时,黑莓系统提供手提电话、文字短信、互联网传真、网页浏览及其它无线信息服务功能。黑莓系统主要针对商务应用,具有很高的安全性和可靠性。 (7)PalmOS由拥有较多的第三方软件,是32位的嵌入式操作系统,主要在移动终端上使用,操作系统本身所占的内存极小,不具备录音和MP3播放功能。 (8)Linux手机操作系统具有开放源代码的特性,但是也包含入门难度高,集成开发环境差,Linux的产品与个人计算机的连接性较差,具有较强的开发实力的公司很少等不足。 2.简述Android平台的特征

Android工程师笔试题及答案(汇编)

Android工程师面试题 一、基础(79分) 1. String s = new String("xyz");创建了几个String Object? ( )3分 A、1个 B、2个 C、3个 D、4个 2. Math.round(11.5)和Math.round(-11.5)分别等于多少?()2分 A、11和-11 B、12和-11 C、11和-12 D、12和-12 3.以下错误的说法有:( )2分 A、只要设计合理,当出现error这样的情况时,程序完全可以自动处理 B、exception 表示一种设计或实现问题 C、Set和Map都继承自Collection接口 D、接口可以继承接口 E、抽象类可以继承没有构造函数的实体类 4. 以下哪种类型不能作为switch(expr1)表达式的expr1?( )3分 A、int B、long C、char D、byte 5. 有关ArrayList和Vector的说法,那些是错误的?( )3分 A、Vector是线程安全的 B、ArrayList是线程序不安全的 C、当需要增长时,Vector默认增长为原来一培 D、当需要增长时, ArrayList默认增长为原来一培 6. 以下说法那些是错误的?()3分 A、一个char型变量可以存储一个中文汉字 B、String是最基本的数据类型 C、Integer的缺省值是0 D、String类提供了数值不可改变的字符串 7.请指出以下代码的执行结果()5分 class A{ static{ System.out.print("X"); } public A(){ System.out.print("2"); } } class B extends A{ static{ System.out.print("a"); } public B(){ System.out.print("b"); } } public class Hello{ public static void main(String[] ars){

Android期末考试复习试卷(仅供参考)

一、选择题(20分,每小题2分) 1、下列不是手机操作系统的是( D )。 A Android B Window Mobile C Apple IPhone IOS D Windows Vista 2、下列选项哪个不是 Activity 启动的方法(B ) A startActivity B goToActivity C startActivityForResult D startActivityFromChild 3、下列哪个不是 Activity 的生命周期方法之一(B ) A onCreate B startActivity C onStart D onResume 4、下列哪个可做 Android 数据存储(A ) A SQlite B M ySql C Oracle D DB2 5、下列哪个可做EditText编辑框的提示信息( D ) A android:inputType B android:text C android:digits D android:hint 6、Math.ceil(99.1) 的结果是(B ) A 99 B 100 C 99.1 D 99.0 7、android 中下列属于Intent的作用的是(C) A实现应用程序间的数据共享 B是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D处理一个应用程序整体性的工作 8、关于 res/raw 目录说确的是A A这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B这里的文件是原封不动的存储到设备上会转换为二进制的格式 C这里的文件最终以二进制的格式存储到指定的包中 D这里的文件最终不会以二进制的格式存储到指定的包中 9、Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( C) A 11 ,-11 B 11 ,-12 C 12 ,-11 D 12 ,-12 10、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(A ) A onDestroy() B onClear() C onFinish() D onStop() 二、填空题(10 分,共10 题,每空1 分) 1、为了使 android 适应不同分辨率机型,布局时字体单位应用( sp ),像素单位应用( sp )和(dip ) 2、定义 LinearLayout 水平方向布局时至少设置的三个属性: ( android:orientation), (android:layout width)和(android:layout height)

用 Eclipse 开发 Android 应用程序

在 Eclipse 环境中进行 Android 应用程序开发 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程序。第一个示例是一个基本的应用程序,涉及构建和调试的所有阶段。第二个应用程序示例涉及比较复杂的 Android 特性,包括联系人搜索和 Google Maps 地址查找。要想从本教程获得最大收益,具备移动开发经验会有帮助,但不是必需的。开发 Android 应用程序需要Java? 编程技能,但是对于本教程不是必需的。 关于本教程 我们为什么要关注 Android?有两个原因使 Android 成为重要的平台。首先,Google 引入了 Android,它在很短时间内就获得了市场的关注。Google 正在进军移动市场。它在这个市场上采取的第一个行动就是发布 Android 和 Open Handset Alliance,这是一个令人印象深刻的起点。第二,Android 不仅仅是另一种包含电话、菜单和触摸屏功能的移动平台。您将在本教程中了解到,Android 提供了一种不同的应用程序开发方法。由于可以对请求的操作和代码进行运行时绑定,Android 的体系结构支持高度可定制的软件环境。无论是考虑市场因素还是 Android 的技术方面,它都是一个值得研究的平台。 本教程分为以下几节: ?Android 基础知识和必需的工具 ?Android Software Developer Kit ?构建和调试 SaySomething Android 应用程序 ?创建内容提供器和 Google Maps 应用程序 系统需求 本教程需要结合使用几种技术。 Eclipse 平台Eclipse 是一个运行插件的平台。您应该安装 Eclipse Classic 的最新版本(本教程使用 V3.3.1)。Android Developer Tools按照安装 Android SDK中的说明安装 Android Developer Tools(Eclipse 插件)。 源代码本教程中的源代码片段包括: ?AndroidManifest.xml(片段)—这个文件是 Android 应用程序的应用程序部署描述符。 ?IntentReceiver —演示 IntentReceiver 的实现,这个类处理 AndroidManifest.xml 文件中 IntentFilter 标记所公布的 intent。 ?SaySomething.java —实现一个 Android 活动,这是本教程的示例应用程序的主要入口点。 ?Main.xml —这个文件包含 Android 活动所用的视觉元素或资源。 ?R.java —这个文件是由 Android Developer Tools 自动生成的,它把视觉资源“连接” 到 Java 源代码。 ?AndroidManifest.xml(完整)—这是完整的 AndroidManfest.xml 文件,包含每个重要元素的描述。

Android高级技术11月考试试题及答案

北京八维3G 学院2012年10月度 《Android 高级技术》试卷A 注意事项: 1. 本试卷共5页,满分100分; 2. 请把学院、姓名、班级写到密封线内,考试时间90分钟; 3. 请不要把答案写在密封线内 一、单选题(共33题,共62分) 1、 (2分) WebView 中可以用来处理js 中警示,确认等对话框的是(C ) A.WebSettingsB.WebViewClientC.WebChromeClientD.WebViewChrome 2、 (2分) Android 解析xml 的方法中,将整个文件加载到内存中进行解析的是?(C) A 、SAX B 、PULL C 、DOM D 、JSON 3、 (2分)以下属于调用摄像头硬件的权限的是:( A ) A. B. C. D. 4、 (1分) 使用Android 系统进行拍照用到的类有:(D ) A. SurfaceView B. SurfaceHolder C.Callback D. Camera 5、 (2分)LocationManager 获取位置信息的途径下列说法不正确的是(B ) A, GPS 定位更精确,缺点是只能在户外使用 B, NETWORK 通过基站和Wi- Fi 信号来获取位置信息,速度较慢,耗电较少。 C,获取用户位置信息,我们可以使用其中一个,也可以同时使用两个。 D, GPS 定位耗电严重,并且返回用户位置信息的速度远不能满足用户需求。 6、 (2分) 在开发AppWidget 窗口小部件时, 需要继承(D)类 A,AppWidgetReceiverB,AppWidgetConfigure C,AppWidgetManagerD,AppWidgetProvider 密 封 线 内 不 要 答 题 学院 班级姓 名

(完整word版)AndroidAPP开发期末复习资料

1.短信的内容提供者是() A. ContactProvider B. MessageProvider C. SmsProvider D. TelephonyProvider 2.以下是Android中用于xml解析方式的是()。 A. SAX B. DOM C. XmlPullParser D. Juint 3.下列选项中,关于Bitmap类描述正确的是()。 A. Bitmap类表示画 B. Bitmap类代表画布 C. Bitmap类是最常用的绘图类 D. Bitmap类表示位图工厂 4.Dalvik虚拟机是基于()的架构。 A.栈 B.堆 C. 寄存器 D. 存储器 5.在Android UI开发中,常见的刮刮卡是通过()实现的。 A.FrameLayout B.LinearLayout C.RelativeLayout D.TableLayout 6.注册一个短信到来的广播事件需要在清单文件配置什么权限()。 A. B. C. D. 7.关于服务的创建说法错误的是()。 A. Android中创建服务需要继承Service类 B. Android 中的服务需要在清单文件配置。

Android应用开发基础习题集

任务一 Android开发环境的搭建 第一部分知识回顾与思考 1.Android的四层架构分别包括哪几层分别起到什么作用 答:Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 系统库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 第二部分职业能力训练 一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内) 1.Android四层架构中,应用框架层使用的是什么语法( C ) A.C B.C++ C.Java D.Android 2.Android四层架构中,系统库层使用的是什么语法( B ) A.VB B.C /C++ C.Java D.Android 3.应用程序员编写的Android应用程序,主要是调用( B )提供的接口进行实现。 A.应用程序层 B.应用框架层 C.应用视图层 D.系统库层 二、填空题(请在括号内填空) 1.在Android智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android的(应用程序)层。 2.为了让程序员更加方便的运行调试程序,Android提供了(模拟器),可以方便的将程序运行其上,而不要实际的移动终端。 3.为了支持Java程序运行,我们需要安装(JDK)。 三、简答题 1.简述Android开发环境安装的步骤。 答:下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK 路径)。 2.简述Android应用程序创建和运行的步骤。 答:通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。

Android应用开发基础习题

-- 任务一Android 开发环境的搭建 第一部分知识回顾与思考 1.Android 的四层架构分别包括哪几层?分别起到什么作用? 答:Linux 内核层(Linux Kernel ):基于Linux 内核,内核为上层系统提供了系统服务。 系统库层(Libraries ):系统库基于C/C++ 语言实现,通过接口向应用程序框架层提供编程接口。 应用框架层(Application Framework ):为开发者提供了一系列的Java API,包括图形用户界面组件

View 、SQLite 数据库相关的API 、Service 组件等。 应用程序层(Applications ):包含了Android 平台中各式各样的应用程序。 第二部分职业能力训练 一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内) 1.Android 四层架构中,应用框架层使用的是什么语法?(C)A .CB .C++C.Java D.Android 2.Android 四层架构中,系统库层使用的是什么语法?(B)A .VBB.C /C++C.Java D .Android 3.应用程序员编写的Android 应用程序,主要是调用(B)提供的接口进行实现。 A .应用程序层DCB.应用框架层.应用视图层.系统库层

二、填空题(请在括号内填空) 1.在Android 智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android 的(应用程 序)层。 2.为了让程序员更加方便的运行调试程序,Android 提供了(模拟器),可以方便的将程序运行其上, 而不要实际的移动终端。 程序运行,我们需要安装(Java 3.为了支持)。JDK 三、简答题 1.简述Android 开发环境安装的步骤。 答:下载并安装JDK ,配置JDK 的环境变量; 从Anroid 官网上下载Android 开发组件(包含Eclipse 和

Android编程基础笔试题及答案2.0

《Android 编程基础》试卷A 注意事项: 1. 本试卷共8页,满分100分; 2. 请把学院、姓名、班级写到密封线内,考试时间90分钟; 3. 请不要把答案写在密封线内 一、单选题(共35题,共61分) 1、 D03MA057(2分)退出 activity 对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行 a A 、onPause() B 、onCreate() C 、onResume() D 、onStart() 2、 D02MA058 (2分) Android 项目工程下面的 assets 目录的作用是什么 b A 、放置应用到的图片资源。 Res/drawable B 、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面 C 、放置字符串,颜色,数组等常量数据 res/values D 、放置一些与 UI 相应的布局文件,都是 xml 文件 res/layout 3、 D04MA059 (2分)下列不属于android 布局的是(c) A 、F r a m e L a y o u t B 、L i n e a r L a y o u t C 、BorderLayout D 、T a b l e L a y o u t E 、R e l a t i v e L a y o u t 4、 D08MA2060 (2分)Intent 的作用的是 a A 、intent 是连接四大组件的纽带,可以实现界面间切换,可以包含动作和动作数据, B 、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会 因为切 换页面而消失 service C 、实现应用程序间的数据共享 contentprovider D 、处理一个应用程序整体性的工作 5、 D04EA1061(1分) 下列哪个是AbsoluteLayout 中特有的属性 b A,android:layout_height B,android:layout_x C,android:layout_above D,android:layout_toRightOf 6、 D07EA1062(1分)RatingBar 组件中不能用属性直接设置的是d A,五角星个数 B,当前分数C,分数的增量D,五角星的色彩 7、 D 10EA1063(1分) 在手机开发中常用的数据库是_a__ A,sqlLite B,Oracle C,Sql Server D,Db23 8、 D14MA2064(2分) 关于BroadcastReceiver 的说法不正确的是_b_ A, 是用来接收广播Intent 的 密封线内不要答 题 学院班级姓名

Android期末测试题(附带答案)

一、选择题 1、下列哪项不是Android四大组件( C ) A.Seivice B. Activity C. Handler D. Content Provider 2、Android是如何组织Activity的( B ) A.以堆的方式组织Activity B. 以栈的方式组织Activity C. 以树形方式组织Activity D. 以链式方式组织Activity 3、关于线程说法不正确的是( B ) A. 在 android 中,我们可以在主线程中,创建一个新的线程 B. 在创建的新线程中,它可以操作 UI 组件 C. 新线程可以和 Handler 共同使用 D. 创建的 Handler 对象,它隶属于创建它的线程 4、下列关于内存回收的说明,哪个是正确的(B ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 5、设置xml布局文件中的字体大小一般用什么单位( c ) A.dp B. px C. sp D. pt 6、关于service生命周期的onCreate()和onStart()说法正确的是( D ) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法 7、Android项目工程下面的assets目录,以下说法正确的是( A ) A.这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B.主要放置多媒体等数据文件 C.主要放置图片文件 D.放置字符串,颜色,数组等常量数据 8、在android中使用SQLiteOpenHelper这个辅助类,生成一个可操作的数据库,调用的方法是( A )A.getReadableDatabase() B.getDatabase() C.getEnbleDatabase() D.createDateBase() 9、Activity从可见状态变为半透明遮盖状态时,生命周期中哪个方法被调用( B )

Android开发的核心知识

想要学习移动应用的开发,除了必备的知识要掌握好之外,更多的是要掌握一些核心的基础知识,并且是能够起到关键性作用的知识点,必须是要了解清楚,如果你也是在学习Android开发,下面的核心基础或者对你有一定的帮助! 1.ListView的引入 为什么要采用listview?其实是在数据量过于庞大时,传统的存储方式它是会占用机器大量内存,最终导致OOM异常(内存溢出),listview的出现将会是有效的解决这个弊端的出现。 重点来了listview如何使用呢? res/layout布局文件中定义listview src的java代码里面关心控件findviewbyid(R.id.listview); 创建适配器对象,适配器继承baseAdapter接口 2.构造方法 getCount();控制listview的条目数 getView();得到当前条目视图 View.inflate();布局填充器 设置适配器:setAdapter(adapter); 设置listview列表项的点击事件:setOnClickLinsstener();

通知listview更新数据:adapter.notifyDataSetChanged(); 3.对话框的使用 *普通对话框 *单选对话框 *多选对话框 *进度对话框 *进度条对话框 *自定义对话框 布局填充器:Viewview=View.inflate(Context,https://www.wendangku.net/doc/f618888910.html,yout.dialog,null); 核心API:dialog.setView(view); 4.常见的一些适配器的使用 *数组适配器:ArrayAdapter *简单适配器:SimpleAdapter 5.数据库的常见的事务 为什么需要需要定义数据库事务?最主要的还是为了保证多条操作语句同步执行 6.数据库事务执行流程 db.beginTransaction();开启事务 db.setTransactionSuccessful();设置事务执行成功 db.endTransaction();结束事务 7.样式和主题 样式的作用在单独的UI控件上面 主题的作用它是在activity或者application上 以上的这些功能控件、数据库等这些是开发中必备的功能,在开发中只要这些基本的核心知识都掌握了,那么这对你接下里的进一步开发是比较有帮助的。

(完整版)Android应用开发期末考试题

试题 一、选择题 1 android虚拟设备的缩写是(AVD) 2 Android SDK目前支持的操作系统(DOS) 3 Android开发工具插件(ADT)没有提供的开发功能(自动更新) 4Android 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 Provider 4 Android应用工程文件结构有哪些? 源文件(包含Activity),R.java文件,Android Library,assets目录res目录,drawble目录,layout目录,values目录,AndroidManifest.xml 5 Android开发应用程序最有可能使用到的应用框架部分是哪些? 一组View(UI)组件,Content Providers,Resource Manger,Notification Manger,Activiy Manger 6 Android底层库包含哪些? 系统C库,媒体库,Surface Manager,LibWebCore,SGL 四、编程 1实现点击一个按钮,结束当前Activity并将需要返回的数据放置并关闭当前窗体请编写核心代码 Bundle bundle = new Bundle ( ); Bundle.putString(“store”,”数据来自Activity1”) ;

Android应用开发基本知识点汇总

Android应用开发基本知识点汇总 Activity 一生命周期 4种状态 running / paused / stopped / killed 生命周期 Activity启动 onCreate -> onStart -> onResume 点Home返回主界面 onPause -> onStop 再次回到原Activity onRestart -> onStart -> onResume 退出Activity onPause -> onStop -> onDestroy 进程优先级前台/可见/服务/后台/空 二任务栈 三启动模式 standard singleTop 栈顶复用 singleTask 栈内复用 singeInstance 四scheme跳转协议 服务器可以定制化告诉App跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面 Fragment 一第五大组件 为什么是第五大组件 Fragment相对Activity更节省内存,切换更舒适Fragment加载到Activity的两种方式 静态加载xml 动态加载fragmentTransaction.add(id, fragment, “name”); .commit; FragmentPagerAdapter与FragmentStatePagerAdapter

FragmentStatePagerAdapter在切换时回收内存,适合页面较多的情况FragmentPagerAdapter并没有回收内存,只是detach了Activity 二生命周期 onAttach -> onCreate -> onCreateView -> onViewCreated -> onActivityCreated -> onStart -> onResume -> onPause -> onStop -> onDestroyView -> onDestroy -> onDetach 先创建Activity后创建Fragment,先销毁Fragment后销毁Activity 三Fragment之间的通信 Fragment调用Activity getActivity Activity调用Fragment 接口回调 Fragment调用Fragment方法findFragmentById 四FragmentManager replace add remove Service 一应用场景,与Thread区别 Service是什么后台长时间运行,没有用户界面,运行在主线程,不能有耗时操作 Service与Thread区别 Activity难以与Thread交互,尤其当Activity销毁以后 二开启Service的两种方式 StartService onCreate -> onStartCommand -> onBind -> onDestroy onStartCommand return START_STICKY;

Android应用开发试题

Android应用开发试题 一、选择题(每题2分,共30分) 1. 下列不是手机操作系统的是?(D) A.Android B. Window Mobile C. Apple IPhone IOS D.windows vista 2.Android的VM虚拟机是哪个?A A.Dalvik B.JVM C.KVM D.framework 3. AndroidVM虚拟机中运行的文件的后缀名为(B) A.class B.apk C.dex D.xml 4. 下面关于Android DVM的进程和Liunx的进程,应用程序的进程说法正确的是 A.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Liunx中的一个进程,所以说可以认为是同一个概念。B B.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Liunx 中的一个进程,所以说可以认为不是一个概念。 C.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Liunx中的一个进程,所以说可以认为不是同一个概念。 D.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Liunx中的一个进程,所以说可以认为是同一个概念。 5. 下列哪个可做EditText编辑框的提示信息?(D) A. android:inputType B. android:text C. android:digits D. android:hint 6. 在AndroidManifes.xml中描述一个Activity时,该Activity的label属性是指定什么( B) A.指定Activity的图标 B.指定Activity的显示图标 C.指定Activity和类相关联的类名 D.指定该Activity的唯一标识 7. 关于ContentValues类说法正确的是( A ) A.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String类型,而值都是基本类型。 B.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是任意类型,而值都是基本类型。 C.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名可以使空,而值都是String类型。 D.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String类型,而值也是String类型。 8. Activity对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行( A) A.onPause() B.onCreate() C.onResume() D.onStart 9. 下列哪个不是Activity的生命周期方法之一?(B) A. onCreate B. startActivity C. onStart D. onResume 10.如果在android应用程序中需要发送短信,那么需要在AndroidManifest.xml文件中增加什么样的权限( D). A.发送短信,无需配置权限

Android高级技术11月考试试题及答案

Android高级技术11月考试试题及答案 一、单选题(共33题,共62分)1、(2分)WebView中可以用来处理js中警示,确认等对话框的是(C)A.WebSettingsB.WebViewClientC.WebChromeClientD.WebView Chrome2、(2分)Android解析xml的方法中,将整个文件加载到内存中进行解析的是?(C)A、SAX B、PULL C、DOM D、JSON3、(2分)以下属于调用摄像头硬件的权限的是:(A)A.B.C.D.4、(1分)使用Android系统进行拍照用到的类有:(D) A.SurfaceView B.SurfaceHolder C.Callback D. Camera5、(2分)LocationManager获取位置信息的途径下列说法不正确的是(B)A,GPS定位更精确,缺点是只能在户外使用B,NETWORK通过基站和Wi-Fi信号来获取位置信息,速度较慢,耗电较少。C,获取用户位置信息,我们可以使用其中一个,也可以同时使用两个。D,GPS定位耗电严重,并且返回用户位置信息的速度远不能满足用户需求。6、(2分)在开发AppWidget窗口小部件时,需要继承(D)类A,AppWidgetReceiverB,AppWidgetConfigure C,AppWidgetManagerD,AppWidgetProvider 7、(4分)在AsyncTask中下列哪个方法是负责执行那些很耗时的后台计算工作的(C) A,runB,executeC,doInBackgroundD,onPostExecute 8、(2分)如果希望自定义TabHost标题部分的显示内容需要使

Android应用程序开发个人总结

Android应用程序开发个人总结 Android应用程序开发个人总结范文 篇一:Android应用程序开发-个人总结 一、项目简介: 送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。 二、个人在项目中承担的任务: 我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面 三、学习本门课程收获、体会及建议: 在本门课程中,我初步认识了安卓应用开发所需基本知识,比如安装体系结构,常用的控件以及API的使用方法,知道了安卓体系存储数据的方式。这一学期,安卓相关的知识自己掌握的不多,不过也透过安卓课程看到移动端应用的火热。这一个学期里,老师讲得比较细,自己单独下来练一个知识点了,也可以,不过当几个知识点的内容整合到一起,自己就凌乱了,自己的思路就不清晰。在期末项目中,我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面,由于时间和能力的限制,只完成了部分功能,功能没有完全实现。 篇二:Android程序员-201*年度个人工作总结和计划

逝者如斯夫,不舍昼夜!转眼间,自己在XX网里参加工作已经有一年有余了。回首即将逝去的201*年,可以说是平淡而不普通的一年,发现自己在各方面都比上一年有所进步、提高。一年的结束孕育着新一年的到来,新的一年意味着新的起点、新的挑战。昂首期待未来,总结以往经验。在新一年来临之际,我现把这一年的工作总结一下以及将新一年计划列一下。 大概3月份左右,XXXXApp第一期基本开发完成比较稳定的版本。在此之前,我主要负责参考XXXXApp的Android客户端的开发工作。XXXX第一期开发的难度系数相对比较低,开发起来还是相对的容易,所学到的基础知识基本上可以开发出来。我个人认为当时的开发效率还是比较低的,这里说的是整个项目的开发效率,不是个人负责工作的完成效率,换句话来说是团队的整体开发效率不高,没有达到高效。这个也许是团队协调与沟通交流还存在不足的地方。XXXXApp实际上基本可以满足用户的使用(表面),但是项目的代码管理(本质)比较杂乱、扩展性差、健壮性也不错、兼容性也不算好。这无疑导致开发的工作量大大的增加。产生这些问题的原因有团队的项目开发经验缺乏,有自己个人的开发水平有限、技能不足。简言之,我的专业技能还不够强。 在3月份之前,公司聘请了外包团队与我们的团队一起开发问答App。公司的目的培训公司的团队,让我们学习外包团队的技能。在外包团队的参与和指导下问答App开发工作相当顺利,团队的分工清晰、交流充分、协调都比较好。问答App的工作接近尾声,意味着XXX

相关文档