南昌Android培训
达内南昌中心

0791-88193285

热门课程

四道经典android问答题推荐

  • 时间:2017-11-09
  • 发布:南昌达内
  • 来源:达内教育



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问答题推荐

10道android填空题及答案

常见Android面试题及答案

选择城市和中心
贵州省

广西省

海南省