20. 下面属于android的动画分类的有(ab)(多项) A、Tween B、Frame C、Draw D、Animation
21. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是(d) A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.
B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念.
C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念.
D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.
22. Android项目工程下面的assets目录的作用是什么bA、放置应用到的图片资源。 B、主要放置多媒体等数据文件
C、放置字符串,颜色,数组等常量数据
D、放置一些与UI相应的布局文件,都是xml文件
23. 关于res/raw目录说法正确的是(a)A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式
B、这里的文件是原封不动的存储到设备上会转换为二进制的格式 C、这里的文件最终以二进制的格式存储到指定的包中 D、这里的文件最终不会以二进制的格式存储到指定的包中
24. 下列对android NDK的理解正确的是(abcd )A、 NDK是一系列工具的集合 B、 NDK 提供了一份稳定、功能有限的 API 头文件声明。 C、使“Java+C”的开发方式终于转正,成为官方支持的开发方式
D、 NDK 将是 Android 平台支持 C 开发的开端 二.文件存储方式 三.SQLite数据库方式
四.内容提供器(Content provider)方式 二、Android面试填空题
25. android中常用的四个布局是framlayout,linenarlayout,relativelayout和
tablelayout。26. android的四大组件是activiey,service,broadcast和contentprovide。27. java.io包中的objectinputstream和objectoutputstream类主要用于对对象(Object)的读写。28. android中service的实现方法是:startservice和bindservice。29. activity一般会重载7个方法用来维护其生命周期,除了onCreate(),onStart(),onDestory() 外还有
onrestart,onresume,onpause,onstop。30. android的数据存储的方式sharedpreference,文
件,SQlite,contentprovider,网络。31. 当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是startActivityResult()。32. 请使用命令行的方式创建一个名字为myAvd,sdk版本为2.2,sd卡是在d盘的根目录下,名字为scard.img,并指定屏幕大小HVGA.____________________________________。33. 程序运行的结果是:_____good and gbc__________。public classExample{ String str=new String(\ char[]ch={'a','b','c'};
public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+\ Sytem.out.print(ex.ch); }
public void change(String str,char ch[]){ str=\ ch[0]='g';
} }
34. 在android中,请简述jni的调用过程。(8分)1)安装和下载Cygwin,下载 Android NDK
2)在ndk项目中JNI接口的设计 3)使用C/C++实现本地方法 4)JNI生成动态链接库.so文件
5)将动态链接库复制到java工程,在java工程中调用,运行java工程即可 35. 简述Android应用程序结构是哪些?(7分)Android应用程序结构是:
Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、Application Framework(开发框架包)、Applications (核心应用程序)
36. 请继承SQLiteOpenHelper实现:(10分) 1).创建一个版本为1的“diaryOpenHelper.db”的数据库,
2).同时创建一个“diary”表(包含一个_id主键并自增长,topic字符型100 长度, content字符型1000长度)
3).在数据库版本变化时请删除diary表,并重新创建出diary表。 publicclass DBHelper extends SQLiteOpenHelper{
public final static String DATABASENAME =\ public final static int DATABASEVERSION =1; //创建数据库
public DBHelper(Context context,Stringname,CursorFactory factory,int version) {
super(context, name, factory,version);
}
//创建表等机构性文件
public void onCreate(SQLiteDatabase db) {
String sql =\ \
\ \ \ \
db.execSQL(sql); }
//若数据库版本有更新,则调用此方法
public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion) {
String sql = \ db.execSQL(sql); this.onCreate(db); } }
37. 页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。(10分)答案
publicclass ProgressBarStu extends Activity { private ProgressBar progressBar = null;
protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.progressbar); //从这到下是关键
progressBar = (ProgressBar)findViewById(R.id.progressBar); Thread thread = new Thread(newRunnable() { @Override public void run() {
int progressBarMax =progressBar.getMax(); try {
while(progressBarMax!=progressBar.getProgress()) {
intstepProgress = progressBarMax/10; intcurrentprogress = progressBar.getProgress(); progressBar.setProgress(currentprogress+stepProgress); Thread.sleep(1000); }
} catch(InterruptedException e) { // TODO Auto-generatedcatch block e.printStackTrace(); } } });