考试辅导

android笔试题及其参考答案【汇总】

android笔试题及其参考答案

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

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

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

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

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

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

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

Android应用程序结构是:

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

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

如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?

onSaveInstanceState()

当你的程序中某一个Activity A在运行时,主动或被动地运行另一个新的Activity B,这个时候A会执行onSaveInstanceState()。B完成以后又会来找A,这个时候就有两种情况:一是A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数savedInstanceState;而没被收回的就直接执行onResume(),跳过onCreate()了。

如何将一个Activity设置成窗口的样式。

在AndroidManifest.xml 中定义Activity的地方一句话android:theme="@android:style/Theme.Dialog"或android:theme="@android:style/Theme.Translucent"就变成半透明的

请介绍下Android中常用的五种布局。

FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)

请介绍下Android的数据存储方式。

一.SharedPreferences方式

二.文件存储方式

三.SQLite数据库方式

四.内容提供器(Content provider)方式

五. 网络存储方式

请介绍下ContentProvider是如何实现数据共享的。

创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。

请解释下Android程序运行时权限与文件系统权限的区别。

运行时权限Dalvik( android授权)

文件系统 linux 内核授权

系统上安装了多种浏览器,能否指定某浏览器访问指定页面面?请说明原由。

通过直接发送Uri把参数带过去,或者通过manifest里的intentfilter里的data属性

什么情况会导致Force Close ?如何避免?能否捕获导致其的异常?

答:一般像空指针啊,可以看起logcat,然后对应到程序中 来解决错误

IntentService有何优点?

答:IntentService 的好处

Acitivity的进程,当处理Intent的时候,会产生一个对应的Service

Android的进程处理器现在会尽可能的不kill掉你

非常容易使用

横竖屏切换时候activity的生命周期?

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

如何将SQLite数据库(dictionary.db文件)与apk文件一起发布?

解答:可以将dictionary.db文件复制到Eclipse Android工程中的res aw目录中。所有在res aw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。可以将dictionary.db文件复制到res aw目录中

大家都在看