android常用面试题及答案

1. 请描述下Activity的声明周期。
onCreate->onStart->onRemuse->onPause->onStop->onRestart->onDestroy



2. 如果后台的Activity由于某种原因被系统回收,如何在回收之前保存当前状态。
onSaveInstanceState().
程序中的某一个Activity A 在运行时,主动或被动的运行另一个新的Activity B,这个时候A会执行onSaveInstanceState()。B完成以后又回来找A,这个时候有两种情况:一是A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数savedInstanceState;而没被回收的就直接执行onResume(),跳过onCreate()。



3. 如何将一个Activity设置成窗口样式。
在AndroidManifext.xml中Activity定义处添加
android:theme="@android:style/Theme.Dialog" 或
android:theme="@android:style/Theme.Translucent"。




4. 如何退出Activity?如何安全退出已调用多个Activity的Application?
1.Activity.finish();
也可以用killProcess()和System.exit()这样的方法
2.用ActivityManager的restartPackage方法



5. 请介绍下android大众常用的五种布局。
FrameLayout(框架布局)
只可以有一个控件,并且不能设计这个控件的位置,控件会放在左上角
LinearLayout(线性布局)
一行只能控制一个控件的线性布局,所以当有很多控件需要在一个界面中列出时,可以用LinearLayout布局
AbsoluteLayout(绝对布局)
可以放置多个控件,并且可以自己定义控件的x,y的位置
RelativeLayout(相对布局)
比如要在一行上显示多个控件,这时就要用到相对布局
TableLayout(表格布局)
将子元素的位置分配到行或列中,一个TableLayout由许多的TableRow组成


6. 请介绍下android的数据存储方式。
SharedPreferences方式
用来存储”key-value paires”格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型,可以通过它保存一些上次用户所做的修改操作
文件存储方式
它通过FileInputStream和FileOutputStream对文件进行操作。但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件,如果要共享数据就用Content Providers
SQLite数据库方式
Android提供的一个标准的数据库,支持SQL语句
内容提供器(Content provider)方式
是所有应用程序之间数据存储和检索的桥梁,它的作用是使得各个应用程序之间实现数据共享
网络存储方式
通过网络来存储和获取数据


7。请介绍下ContentProvider是如何实现


数据共享的。
Android提供了ContentProvider,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据完全暴露出去,而且ContentProviders是以类似数据库中表的方式将数据暴露,也就是说ContentProvider就像一个“数据库”。

你可能喜欢

  • Android面试题
  • JAVA编程题全集及答案
  • Objective-C
  • Java笔记
  • Android开发教程
  • 试卷及答案
  • 应届生面试题

android常用面试题及答案相关文档

最新文档

返回顶部