四道经典android问答题推荐

作者:达内 更新时间:2014-06-13 15:38 来源:未知 点击:
四道经典android问答题推荐。

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

  2.简述Android应用程序结构是哪些?

  3. 请继承SQLiteOpenHelper实现:

  1).创建一个版本为1的“diaryOpenHelper.db”的数据库,

  2).同时创建一个 “diary” 表(包含一个_id主键并自增长,topic字符型100

  长度, content字符型1000长度)

  3).在数据库版本变化时请删除diary表,并重新创建出diary表。

  4.页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度

  显示工作。

  问答题答案

  1.jni的调用过程

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

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

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

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

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

  2.

  Android应用程序结构是:

  Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、Application

  Framework(开发框架包)、Applications (核心应用程序)

  3.

  public class DBHelper extends SQLiteOpenHelper {

  publicfinal static String DATABASENAME = "diaryOpenHelper.db";

  publicfinal static int DATABASEVERSION = 1;

  //创建数据库

  publicDBHelper(Context context,String name,CursorFactory factory,int version)

  {

  super(context,name, factory, version);

  }

  //创建表等机构性文件

  publicvoid onCreate(SQLiteDatabase db)

  {

  Stringsql ="create table diary"+

  "("+

  "_idinteger primary key autoincrement,"+

  "topicvarchar(100),"+

  "contentvarchar(1000)"+

  ")";

  db.execSQL(sql);

  }

  //若数据库版本有更新,则调用此方法

  publicvoid onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)

  {

  Stringsql = "drop table if exists diary";

  db.execSQL(sql);

  this.onCreate(db);

  }

  }

  4.

  public class ProgressBarStu extendsActivity {

  privateProgressBar progressBar = null;

  protectedvoid onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.progressbar);

  //从这到下是关键

  progressBar= (ProgressBar)findViewById(R.id.progressBar);

  Threadthread = new Thread(new Runnable() {

  @Override

  publicvoid run() {

  intprogressBarMax = 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-generated catch block

  e.printStackTrace();

  }

  }

  });

  thread.start();

  //关键结束

  }

  }

标签:
  • 上一篇:10道android填空题及答案
  • 下一篇:没有了
  • 相关阅读

    最新开班信息

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