经典71道Android试题及答案
本⽂为开发者奉献了70道经典Android⾯试题加答案--重要知识点⼏乎都涉及到了,你还等啥,赶紧收藏吧!!
  1. 下列哪些语句关于内存回收的说明是正确的? (b)
A、程序员必须创建⼀个线程来释放内存
  B、内存回收程序负责释放⽆⽤内存
  C、内存回收程序允许程序员直接释放内存
  D、内存回收程序可以在指定的时间释放内存对象
  2. 下⾯异常是属于Runtime Exception 的是(abcd)(多选)
A、ArithmeticException
  B、IllegalArgumentException
  C、NullPointerException
  D、BufferUnderflowException
  3. und(11.5)等于多少(). und(-11.5)等于多少(c)
A、11 ,-11
B、11 ,-12
C、12 ,-11
D、12 ,-12
  4. 下列程序段的输出结果是:(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、true
B、false
C、1
D、011.activity
  5. 对⼀些资源以及状态的操作保存,最好是保存在⽣命周期的哪个函数中进⾏(d) A、onPause() B、onCreate() C、 onResume() D、onStart()
  6. Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选) A、Serializable B、charsequence C、Parcelable D、Bundle
  7. android 中下列属于Intent的作⽤的是(c)
A、实现应⽤程序间的数据共享
  B、是⼀段长的⽣命周期,没有⽤户界⾯的程序,可以保持应⽤在后台运⾏,⽽不会因为切换页⾯⽽消失
  C、可以实现界⾯间的切换,可以包含动作和动作数据,连接四⼤组件的纽带
  D、处理⼀个应⽤程序整体性的⼯作
repeatmasker  8. 下列属于SAX解析xml⽂件的优点的是(b)
A、将整个⽂档树在内存中,便于操作,⽀持删除,修改,重新排列等多种功能
  B、不⽤事先调⼊整个⽂档,占⽤资源少
  C、整个⽂档调⼊内存,浪费时间和空间
  D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会
  消失
  9. 下⾯的对⾃定style的⽅式正确的是
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>
  10. 在android中使⽤Menu时可能需要重写的⽅法有(ac)。(多选)
A、onCreateOptionsMenu()
  B、onCreateMenu()
  C、onOptionsItemSelected()
  D、onItemSelected()
  11. 在SQL Server Management Studio 中运⾏下列T-SQL语句,其输出值(c)。 SELECT @@IDENTITY
  A、可能为0.1
  B、可能为3
  C、不可能为-100
  D、肯定为0
  12. 在SQL Server 2005中运⾏如下T-SQL语句,假定SALES表中有多⾏数据,执⾏查询之后的结果是(d)。
BEGIN TRANSACTION A
  Update SALES Set qty=30 WHERE qty<30
  BEGIN TRANSACTION B
  Update SALES Set qty=40 WHEREqty<40
  Update SALES Set qty=50 WHEREqty<50
  Update SALES Set qty=60 WHEREqty<60
  COMMIT TRANSACTION B
  COMMIT TRANSACTION A
  A、SALES表中qty列最⼩值⼤于等于30
  B、SALES表中qty列最⼩值⼤于等于40
  C、SALES表中qty列的数据全部为50
  D、SALES表中qty列最⼩值⼤于等于60
  13. 在android中使⽤SQLiteOpenHelper这个辅助类时,可以⽣成⼀个数据库,并可以对数据库版本进⾏管理的⽅法可以是(ab)
A、getWriteableDatabase()
  B、getReadableDatabase()delphi有没有全中文的版本
  C、getDatabase()
  D、getAbleDatabase()
  14. android 关于service⽣命周期的onCreate()和onStart()说法正确的是(ad)(多选题)
A、当第⼀次启动的时候先后调⽤onCreate()和onStart()⽅法
  B、当第⼀次启动的时候只会调⽤onCreate()⽅法
  C、如果service已经启动,将先后调⽤onCreate()和onStart()⽅法
  D、如果service已经启动,只会执⾏onStart()⽅法,不在执⾏onCreate()⽅法
  15. 下⾯是属于GLSurFaceView特性的是(abc)(多选)
A、管理⼀个surface,这个surface就是⼀块特殊的内存,能直接排版到android的视图view上。
  B、管理⼀个EGL display,它能让opengl把内容渲染到上述的surface上。
  C、让渲染器在独⽴的线程⾥运作,和UI线程分离。
  D、可以直接从内存或者DMA等硬件接⼝取得图像数据
  16. 下⾯在l⽂件中注册BroadcastReceiver⽅式正确的
A、<receiver android:name="NewBroad">
<intent-filter>
<action
android:name="android.provider.action.NewBroad"/>
<action>
</intent-filter>
</receiver>
B、<receiver android:name="NewBroad">
<intent-filter>
android:name="android.provider.action.NewBroad"/>
</intent-filter>
</receiver>
C、<receiver android:name="NewBroad">
<action
android:name="android.provider.action.NewBroad"/>
<action>
</receiver>
D、<intent-filter>
<receiver android:name="NewBroad">
<action>
android:name="android.provider.action.NewBroad"/>
<action>
</receiver>
</intent-filter>
  17. 关于ContenValues类说法正确的是(a)
A、他和Hashtable⽐较类似,也是负责存储⼀些名值对,但是他存储的名值对当中的
  名是String类型,⽽值都是基本类型
  B、他和Hashtable⽐较类似,也是负责存储⼀些名值对,但是他存储的名值对当中的
  名是任意类型,⽽值都是基本类型
  C、他和Hashtable⽐较类似,也是负责存储⼀些名值对,但是他存储的名值对当中的
  名,可以为空,⽽值都是String类型
  D、他和Hashtable⽐较类似,也是负责存储⼀些名值对,但是他存储的名值对当中
  的名是String类型,⽽值也是String类型
  18. 我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的⽅法是(a)
A、onDestroy()
  B、onClear()
  C、onFinish()
  D、onStop()
  19. 下⾯退出Activity错误的⽅法是(c)
A、finish()
  B、抛异常强制退出
  C、it()
  D、onStop()
  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⽬录的作⽤是什么b
A、放置应⽤到的图⽚资源。tcp协议的全称是什么
  B、主要放置多媒体等数据⽂件
  C、放置字符串,颜⾊,数组等常量数据
  D、放置⼀些与UI相应的布局⽂件,都是xml⽂件
  23. 关于res/raw⽬录说法正确的是(a)A、这⾥的⽂件是原封不动的存储到设备上不会转换为⼆进制的格式
  B、这⾥的⽂件是原封不动的存储到设备上会转换为⼆进制的格式
  C、这⾥的⽂件最终以⼆进制的格式存储到指定的包中
css的三种类型  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。
reducescores的意思30. android的数据存储的⽅式sharedpreference,⽂件,SQlite,contentprovider,⽹络。
31. 当启动⼀个Activity并且新的Activity执⾏完后需要返回到启动它的Activity来执⾏的回调函数是start
ActivityResult()。
32. 请使⽤命令⾏的⽅式创建⼀个名字为myAvd,sdk版本为2.2,sd卡是在d盘的根⽬录下,名字为scard.img,并指定屏幕⼤⼩HVGA.____________________________________。
33. 程序运⾏的结果是:_____good and gbc__________。
public classExample{
  String str=new String("good");
  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+" and ");
  Sytem.out.print(ex.ch);
mysql语句的执行顺序  }
  public void change(String str,char ch[]){
  str="test ok";
  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 ="diaryOpenHelper.db";
  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 ="create tablediary"+
  "("+
  "_idinteger primary key autoincrement,"+
  "topicvarchar(100),"+
  "contentvarchar(1000)"+
  ")";
  db.execSQL(sql);
  }
  //若数据库版本有更新,则调⽤此⽅法
  public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion)
  {
  String sql ="drop table ifexists diary";
  db.execSQL(sql);
  Create(db);
  }
  }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。