达内准备的Android面试小测

作者:达内 更新时间:2014-06-13 15:10 来源:未知 点击:
以下是达内科技为大家出的几道测试题,也是Android开发常用面试题的一部分,你做好准备回答了么?

  1.如何将打开res aw目录中的数据库文件?

  答:在Android中不能直接打开res aw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中,然后再打开该数据库文件。复制的基本方法是使用getResources().openRawResource方法获得res aw目录中资源的 InputStream对象,然后将该InputStream对象中的数据写入其他的目录中相应文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法来打开任意目录中的SQLite数据库文件。

  2.activity一般会重载7个方法用来维护其生命周期,除了onCreate(),onStart(),onDestory() 外还有onrestart,onresume,onpause,onstop。

  3.在android中,请简述jni的调用过程。

  1)安装和下载Cygwin,下载 Android NDK

  2)在ndk项目中JNI接口的设计

  3)使用C/C++实现本地方法

  4)JNI生成动态链接库.so文件

  5)将动态链接库复制到java工程,在java工程中调用,运行java工程即可

  4.请继承SQLiteOpenHelper实现:

  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);

  this.onCreate(db);

  边看问题,边自己回答,感觉比你预期的成绩好么?如果不好的话,赶紧多多钻研对比下面的答案吧!

相关阅读

最新开班信息

3G-Android软件工程师就业班
北京潘家园中心 开课日期:9月29日
3G-Android软件工程师就业班
北京潘家园中心 开课日期:9月29日
3G-Android软件工程师周末班
北京潘家园中心 开课日期:9月29日
3G-Android软件工程师周末班
北京潘家园中心 开课日期:9月29日