课程咨询 :010-62126400

  • 四道经典android问答题推荐

    发布:达内Android培训      来源:北京达内      时间:2015-07-21

  • 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填空题及答案

下一篇:安卓工程师面试题实测

最新开班日期  |  更多

Android--零基础全日制班

Android--零基础全日制班

开班日期:6月30日

Android--零基础周末班

Android--零基础周末班

开班日期:6月30日

Android--高端全日制班

Android--高端全日制班

开班日期:6月30日

Android--高端周末班

Android--高端周末班

开班日期:6月30日

  • 地址:北京市朝阳区潘家园松榆北路7号院11号楼建业苑写字楼6层(潘家园桥东,统一优玛特超市6层)
  • 网址:http://bj.android.tedu.cn 联系电话:010-62126400 
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56