1001班Android试题答案(1)
Android面授班一单元机试答案

一、现场得分题:1、配置java环境变量,cmd下输入javac得到相关指令得分。
(5’)参考答案:Step1 安装JDK,并记录其安装目录Step1 鼠标右键单击我的电脑->属性(win7->高级系统设置)打开系统属性面板Step2 选中高级选项卡->环境变量Step3 在系统环境变量中增加JA V A_HOME其值为JDK的安装目录Step4 在修改系统环境变量中的path在其前端添加%JA V A_HOME%\bin;Step5 在系统环境变量中增加classpath其值为%JA V A_HOME%\jre\lib\rt.jar;.;2、用记事本编写HelloWorld.java编译运行后可在cmd下输出HelloWorld.(5’)参考答案:step1:创建HelloWorld.java文件并编写如下内容:public class HelloWorld{public static void main(String[]args){System.out.println(“HelloWorld”);}}step2:打开cmd->javac HelloWorld.javastep3: java HelloWorld3、在cmd下创建、编译、运行android项目,在模拟器上输出HelloAndroid(10’)step1 分别将sdk下的tools,platform-tools及ant下的bin目录配至系统环境变量的path中step2 cmd->android list targets 得到android2.2的编号step3 android create project --target <target-id> --name MyFirstApp --path <path-to-workspace>/MyFirstApp --activity MainActivity --package com.example.myfirstappstep3 进入项目的根目录执行ant debugstep4 adb install bin/MyFirstApp-debug.apk二、单元项目核心功能题:1、使用MediaPlayer播放raw/a.mp3文件。
Android从入门到精通100题(含答案和解析)

Android从入门到精通100题(含答案和解析)Android 100题----根据《Android从入门到精通》(一)判断题1. 在Eclipse中开发Android应用,需要安装插件AVD来辅助开发。
(×)【ADT(Android Develop Tools);AVD(Android Virtual Device)安卓虚拟设备即模拟器】P20 2. 在Android项目开发时,当res包中的资源发生变化时,需要同时手动修改对应的R文件中的静态内部类中的常量。
(×)P273. Assets包用于保存原始资源文件,其中的文件会编译到.apk中,并且原文件名会被保留。
可以使用URI来定位该文件夹中的文件,然后使用AssetManager类以流的方式来读取文件内容。
(√) 4. Drawable子包只用来保存图片资源。
(×)【还会保存XML文件】P2425. Mksdcard命令可以快速创建NTFS磁盘镜像,启动模拟器时加载该磁盘镜像,可以模拟真实设备的SD卡。
(×)【FAT32】P486. 使用Mksdcard命令创建的模拟器的SD卡,其最小为9MB,最大为1024GB。
(×)【1023GB】P497. 在TableLayout中,可以设置相应的属性使列被隐藏(android:collapseColumns)、收缩(android:shrinkColumns)或拉伸(android:stretchColumns),列序号从0开始,多个列序号之间用“|”分隔。
(×)【列号以“,”分隔】P708. DatePicker对象获取到的月份需要加1,才能表示真正的月份。
(√)P1079. 进度条组件(ProcessBar)中的方法incrementProgressBy(int diff)用于设置进度条的增加或减少。
当参数值大于1时,表示进度增加;小于1时,表示进度减少。
android底层试题答案

android底层试题答案一、填空题1. Android系统的底层是基于________内核的,它是一种开源的操作系统。
答案:Linux2. 在Android中,所有的应用都是通过________运行时环境来执行的。
答案:Dalvik3. Android四大组件包括:活动(Activity)、广播接收器(BroadcastReceiver)、服务(Service)和________。
答案:内容提供者(ContentProvider)4. Android中使用________来描述用户界面的布局。
答案:XML5. 在Android应用开发中,使用________可以管理应用程序的生命周期。
答案:LifecycleOwner二、选择题1. Android中用于后台长期运行的任务应该使用哪种服务?A. 启动服务B. 绑定服务C. 系统服务D. 异步服务答案:D2. 下列哪个文件是Android工程的配置文件?A. build.gradleB. AndroidManifest.xmlC. MainActivity.javaD. strings.xml答案:B3. 在Android中,用于处理并发操作的是哪一部分?A. 主线程B. 渲染线程C. Java线程池D. JNI层答案:C4. 以下哪个是Android中用于版本控制的命令行工具?A. SDK ManagerB. AVD ManagerC. GitD. Gradle答案:C5. 在Android应用中,如何获取当前设备的屏幕宽度?A. getResources().getDisplayMetrics().widthPixelsB. getWindowManager().getDefaultDisplay().getWidth()C. View.MeasureSpec.getSize(getWidth())D. Configuration.screenWidthDp答案:B三、简答题1. 请简述Android中的沙箱机制。
安卓面试题及答案详解版

安卓面试题及答案详解版1. 问题:什么是Android操作系统?答案: Android操作系统是一种基于Linux内核的开源操作系统,主要用于触屏移动设备,如智能手机和平板电脑。
它由Google公司开发并发布,允许设备制造商和开发者自由地修改和分发。
2. 问题:请解释Android的架构。
答案: Android架构从下到上分为四个层次:- 应用层:包含用户界面和应用程序。
- 应用框架层:提供应用程序开发接口(API)。
- 运行时环境层:包括Android核心库和Android运行时环境。
- Linux内核层:提供底层的硬件抽象层、内存管理、进程管理等功能。
3. 问题: Android应用是如何打包的?答案: Android应用通常使用APK(Android Package)格式进行打包。
APK文件是一个压缩文件,包含应用的代码、资源、资产、库和AndroidManifest.xml文件。
4. 问题:什么是Activity?答案: Activity是Android应用程序中的基本构建块,用于定义用户界面和用户交互。
每个Activity都是一个独立的屏幕,用户可以与之交互。
5. 问题:请解释Intent的概念。
答案: Intent是Android中用于请求操作的抽象描述符。
它可以用于启动Activity、启动服务或广播信息。
Intent可以显式地指定目标组件,也可以隐式地通过Intent Filter来匹配。
6. 问题:如何在Android中处理网络请求?答案:在Android中处理网络请求通常使用HTTP客户端库,如OkHttp或Retrofit。
这些库提供了简化的API来发送HTTP请求和接收响应。
7. 问题:解释Android中的Context对象。
答案: Context是Android中一个非常关键的类,它允许访问应用程序环境的全局信息。
Context可以用于启动Activity、获取资源、启动服务等。
国开android智能手机形考1答案

A. LinuxB. Chrome OSC. UnixD. Windows反馈正确答案是:Linux题目2不正确获得7.00分中的0.00分标记题目题干如果需要给一个UI的组件设置背景图片,则在Java代码中访问到定义的图片资源bg_pic.png的方法是( )选择一项:A. R. string. bg_picB. R.drawable. bg_picC. R.color.bg_picD. Drawable. bg_pic反馈正确答案是:R.drawable. bg_pic题目3正确获得6.00分中的6.00分标记题目题干在Android应用中需要添加访问互联网的权限配置(Permission),可以再配置文件( )中进行设置选择一项:A. strings.xmlB. project.properitesC. values.xmlD. AndriodManifest.xml反馈正确答案是:AndriodManifest.xml题目4不正确获得6.00分中的0.00分标记题目题干Activity中,( )方法在初始化的时候调用。
选择一项:A. onCreate( )B. onDestroy( )C. OnRestart( )D. onStart( )反馈正确答案是:onCreate( )题目5不正确获得6.00分中的0.00分标记题目题干在Activity中,( )方法在资源或者对象被销毁的时候调用选择一项:A. OnRestart( )B. onPause( )C. onStop( )D. onDestroy( )反馈正确答案是:onDestroy( )题目6不正确获得6.00分中的0.00分标记题目题干在用户自定义的Activity中,通过( )方法可以关闭Activity。
选择一项:A. finish( )B. startActivity ( )C. onDestroy( )D. OnStop ( )反馈正确答案是:finish( )题目7不正确获得6.00分中的0.00分标记题目题干当界面从A跳转到B,并希望从Activity B中通过Internet返回信息到A中,则A需要实现( )方法来获取返回的结果信息选择一项:A. startActivityForResultB. setResultC. onResultActivityD. startActivity反馈正确答案是:onResultActivity题目8不正确获得7.00分中的0.00分标记题目题干Android智能手机平台是基于( )程序语言来进行应用开发的选择一项:A. JavascriptB. C#C. JavaD. Objective-C反馈正确答案是:Java题目9不正确获得7.00分中的0.00分标记题目题干下面( )智能手机平台是开放源代码的。
移动互联应用技术《Android考题(第1套)》

中软国际Android考题姓名____ ____ 学校____________ 专业____________________ _____________________电子邮件__________________________________________考前须知:考试时间12021,总分值100分。
请使用钢笔或者圆珠笔填写试题答案。
请在规定处填写您的答案,选择题在试卷前部答题卡中填写答案,程序题答案请写在答题纸上。
请不要在试卷上涂写与试题无关的的标记。
选择题局部答题卡:(一)单项选择题〔每题2分,共30分〕1)Dalvi虚拟机属于Android系统架构中的哪一层〔〕A、应用层B、应用框架层C、系统运行库层D、Linu内核层2)Android中内容提供者,通知管理器等属于Android系统架构中的哪一层〔〕A、应用层B、应用框架层C、系统运行库层D、Linu内核层3)Android中的短信、管理、浏览器等属于Android系统架构中的哪一层〔〕A、应用层B、应用框架层C、系统运行库层D、Linu内核层4 Android工程的音频文件如果不生成id号,并能同工程一起打包进安装文件可以放入下面哪个目录中〕A、res/assetsB、res/drawable-mdsgmsgmsgmsg6 用Camera Aanifest内使用权限,通常由以下三项〔〕A<uses-ission android:name = "" />B <uses-feature android:name = "" />C<uses-feature android:name = "" />D<uses-ission android:name=""/>7 Android全局定时器AlarmManager中,注册一个重复类型的定时器的方法是?A void cancele, e,long interval,e,long interval, l时用到的类有A e="name"&file/"D"<H3>可能是我</H3>的方法是〔〕A,runB,eecute C,doInBacground D,onPostEecute(二)简答题〔每题5分,共25分〕1.如何启用Service,如何停用Service。
经典Android面试题x100

Android开发工程师经典面试题(附参考答案)‣下列哪些语句关于内存回收的说明是正确的? (B)A、 程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象‣下面异常是属于Runtime Exception 的是(ABCD)(多选)A、ArithmeticExceptionB、IllegalArgumentExceptionC、NullPointerExceptionD、BufferUnderflowException‣Math.round(11.5)等于多少.?Math.round(-11.5)等于多少?(C)A、11 ,-11B、11 ,-12C、12 ,-11D、12 ,-12‣对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(D) A、onPause() B、onCreate() C、 onResume() D、onStart()‣Intent传递数据时,下列的数据类型哪些可以被传递(ABCD)(多选)A、SerializableB、charsequenceC、ParcelableD、Bundle‣下列程序段的输出结果是:(B)void complicatedexpression_r(){int x=20, y=30;boolean b;b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;System.out.println(b);}A、trueB、falseC、1D、011.activity‣Android 中下列属于Intent的作用的是(C)A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作‣下列属于SAX解析xml文件的优点的是(B)A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能B、不用事先调入整个文档,占用资源少C、整个文档调入内存,浪费时间和空间D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会 消失‣下面退出Activity错误的方法是(C)A、finish()B、抛异常强制退出C、System.exit()D、onStop()‣下面的对自定style的方式正确的是(A)A、 <resources><style name="myStyle"><itemname="Android:layout_width">fill_parent</item></style></resources>B、 <style name="myStyle"><itemname="Android:layout_width">fill_parent</item></style>C、 <resources><itemname="Android:layout_width">fill_parent</item></resources>D、 <resources><stylename="Android:layout_width">fill_parent</style></resources>‣在Android中使用Menu时可能需要重写的方法有(AC)(多选)A、onCreateOptionsMenu()B、onCreateMenu()C、onOptionsItemSelected()D、onItemSelected()‣在SQL Server Management Studio 中运行下列T-SQL语句,其输出值(C)。
Android应用开发复习 题集附答案

Android应用开发复习题集附答案Android应用开发复习题集附答案Android应用开发是一门具有广泛应用前景的技术,通过这个题集附答案的复习,将帮助你回顾和巩固相关知识点。
以下是一系列与Android应用开发相关的问题,并提供了详细解答。
一、Android基础知识1. 请简要描述Android系统的基本架构。
Android系统基本架构主要包括以下四个层次:- Linux内核层:提供硬件驱动、安全性等底层功能。
- 库和运行时环境层:包括C/C++库、Java库以及Dalvik虚拟机,提供给应用程序运行所需的环境。
- 应用框架层:提供开发Android应用所需的API,包括各种管理模块(Activity Manager、Package Manager等)。
- 应用层:包括各种内置应用以及第三方应用。
2. 解释Android Manifest文件的作用。
Android Manifest文件是每个Android应用都必须包含的文件,用于描述应用程序的基本信息和配置,包括应用程序的入口Activity、应用程序所需的权限、组件信息等。
3. 请简要介绍四大组件是什么,并举例说明应用场景。
四大组件包括:Activity、Service、BroadcastReceiver和ContentProvider。
- Activity: 代表应用界面的展示,比如登录界面、主界面等。
- Service: 用于执行后台任务,比如音乐播放等。
- BroadcastReceiver: 监听系统广播消息,比如监听网络状态变化等。
- ContentProvider: 用于不同应用程序之间共享数据,比如通讯录。
二、Android应用开发技术1. 请简要介绍Android应用的生命周期。
Android应用的生命周期由以下几个状态组成:创建(Created)、启动(Started)、恢复(Resumed)、暂停(Paused)、停止(Stopped)和销毁(Destroyed)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1 2 3 4 5 6 7 8 9
D ABCD C B A AC AB AD ABC
10 11 12 13 14 15 16 17 18
A A A C A
B D B A ABCD
二、填空题
1.Activity,Broadcast,Service,ContentProvide
2.startService ,bindService
3.onRestart(),onResume(),onPause(),onStop()
4.SharedPreferences存储,文件存储,SQLite存储,ContentProvider,网络存储
5.startActivityResult()
三、简答题(3题,每题6分,共18分)
1.在android中,请简述jni的调用过程。
(6分)
答:1)安装和下载Cygwin,下载Android NDK
2)在ndk项目中JNI接口的设计
3)使用C/C++实现本地方法
4)JNI生成动态链接库.so文件
5)将动态链接库复制到java工程,在java工程中调用,运行java工程即可
2.Android为什么要设计4大组件,他们之间的联系,不设计行不行?(6分)
答:主要是为了实现MVC模式,然而java中最难的模式也是这个,很少有产品能将这个模式做得很好
3.简述Android应用程序结构是哪些?(6分)
答:Android应用程序结构是:
Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、Application Framework(开发框架包)、Applications (核心应用程序)
4. 请继承SQLiteOpenHelper实现:(10分)
1).创建一个版本为1的“diaryOpenHelper.db”的数据库,
2).同时创建一个“diary”表(包含一个_id主键并自增长,topic字符型100 长度,content字符型1000长度)
3).在数据库版本变化时请删除diary表,并重新创建出diary表。
public class DBHelper extends SQLiteOpenHelper {
public final static String DA TABASENAME = "diaryOpenHelper.db";
public final static int DATABASEVERSION = 1;
//创建数据库
public DBHelper(Context context,String name,CursorFactory factory,int version)
{
super(context, name, factory, version);
}
//创建表等机构性文件
public void onCreate(SQLiteDatabase db)
{
String sql ="create table diary"+
"("+
"_id integer primary key autoincrement,"+
"topic varchar(100),"+
"content varchar(1000)"+
")";
db.execSQL(sql);
}
//若数据库版本有更新,则调用此方法
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
{
String sql = "drop table if exists diary";
db.execSQL(sql);
this.onCreate(db);
}
}
四、调用与被调用:我们的通信使者Intent(16分)
要说Intent了,Intent就是这个这个意图,应用程序间Intent进行交流,打个电话啦,来个
电话啦都会发Intent, 这个是Android架构的松耦合的精髓部分,大大提高了组件的复用性,比如你要在你的应用程序中点击按钮,给某人打电话,很简单啊,看下代码先:
Java代码
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + number));
startActivity(intent);
扔出这样一个意图,系统看到了你的意图就唤醒了电话拨号程序,打出来电话。
什么读联系人,发短信啊,邮件啊,统统只需要扔出intent就好了,这个部分设计地确实很好啊。
那Intent通过什么来告诉系统需要谁来接受他呢?
通常使用Intent有两种方法,第一种是直接说明需要哪一个类来接收代码如下:
Java代码
Intent intent = new Intent(this, MyActivity.class);
intent.getExtras().putString("id", "1");
startActivity(intent);
Intent intent = new Intent(this,
MyActivity.class);intent.getExtras().putString("id", "1");tartActivity(intent);
第一种方式很明显,直接指定了MyActivity为接受者,并且传了一些数据给MyActivity,
在MyActivity里可以用getIntent()来的到这个intent和数据。
第二种就需要先看一下AndroidMenifest中的intentfilter的配置了
Xml代码
<action
android:name="android.intent.action.VIEW"
/>
<action
android:value="android.intent.action.EDIT"
/>
<action
android:value="android.intent.action.PICK"
/>
<category
android:name="android.intent.category.DEFAULT"
/>
<data
android:mimeType="vnd.android.cursor.dir/vnd.google.note"
/>
</data>
</category>
</action>
</action>
</action>
这里面配置用到了action, data, category这些东西,那么聪明的你一定想到intent里也会有这些东西,然后一匹配不就找到接收者了吗?
action其实就是一个意图的字符串名称。
上面这段intent-filter的配置文件说明了这个Activity可以接受不同的 Action,当然相应的程序逻辑也不一样咯,提一下那个 mimeType,他是在ContentProvider里定义的,你要是自己实现一个ContentProvider就知道了,必须指定 mimeType才能让数据被别人使用。
不知道原理说明白没,总结一句,就是你调用别的界面不是直接new那个界面,而是通过扔出一个intent,让系统帮你去调用那个界面,这样就多么松藕合啊,而且符合了生命周期
被系统管理的原则。
想知道category都有啥,Android为你预先定制好的action都有啥等等,请亲自访问官方链接Intent
ps:想知道怎么调用系统应用程序的同学,可以仔细看一下你的logcat,每次运行一个程序的时候是不是有一些信息比如:
Starting activity: Intent
{ action=android.intent.action.MAINcategories={UNCHER}
flags=0x10200000comp={com.android.camera/com.android.camera.GalleryPicker} }。