1、怎样安全退出调用了多个Activity的Application?
1)抛异常强制退出
通过抛异常,使程序Force Close
2)记录打开的Activity
每打开一个,记录下来。需要退出时,关闭每一个
3)发送广播
在需要结束时,发送广播,每个Activity接收关闭
4)递归推出
新打开Activity时使用startActivityForResult(),添加标志,在onActivityResult中处理,递归关闭
5)写一个Activity基类来控制(推荐)
2、Activity样式设置
android:theme=”“@android:style/Theme.Dialog 窗口
android:theme=”“@android:style/Theme.Translucent 半透明
3、Android的数据存储方式
1)SharedPreference方式
2)文件存储方式
3)SQLite
4)Content Provider
5)网络存储
4、Android常用布局
1)RelativeLayout
2)LinearLayout
3)FrameLayout
4)TableLayout
5)AbsoluteLayout
5、从Activity A启动Activity B,当Activity B时怎么返回Activity A?
如果Activity A被系统回收,会自动通过onSaveInstanceState()来保存状态,当从B返回A,会启用A的含有saveInstanceState参数的onCreate()方法
如果Activity没有被系统回收,则调用onResume()方法
6、Content Provider如何实现数据共享
创建一个自己的Content Provider或者将数据放到已经存在的Content Provider,前提是要拥有相同的数据类型与写入的权限。
7、如何将SQLite数据库(.db文件)与apk文件一起发布?
可以将.db文件复制到res aw目录中,所有在res aw目录中的文件不会被压缩,可以直接提取。
8、如何打开res aw目录中的数据库文件?
并不能直接打开,需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中。然后再打开该数据库文件。
复制的基本方法是使用getResource.openRawResource方法获得res aw目录中资源的InputStream对象,然后将该InputStream对象中的数据写入其他目录中相应文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法来打开任意目录中的SQLite数据库文件。