解决Android横竖屏切换数据丢失问题

标签: android 切换 数据 | 发表时间:2012-04-01 14:38 | 作者:conowen
出处:http://blog.csdn.net

Android横竖屏切换时,当前的Activity会被销毁,然后Activity上面的数据将会全部丢失。

如Listview上面每个item的checkbox,横竖屏切换时,复选框就丢失所有选中信息。



解决方案1、

在Androidmanifest.xml的activity标签中加入

android:configChanges="orientation|keyboardHidden"


  <activity
            android:configChanges="orientation|keyboardHidden"
            android:label="sqltest"
            android:name=".SqlData"
            
        </activity>



解决方案2、

强制限制activity在横屏状态或者竖屏状态,不让activity进行横竖屏切换

landscape表示横屏

portrait表示竖屏

  <activity
            
            android:label="sqltest"
            android:name=".SqlData"
            android:screenOrientation="landscape" >
        </activity>



解决方案3、

在Activity里面通过复写

onConfigurationChanged方法,实现在不同的屏幕状态下的处理方式。

@Override
	public void onConfigurationChanged(Configuration newConfig) {
		// TODO Auto-generated method stub
		super.onConfigurationChanged(newConfig);
		/*
		 * 横竖屏检测
		 */
		if (this.getResources().getConfiguration().orientation

		== Configuration.ORIENTATION_LANDSCAPE) {

			// 当前为横屏
			//实现代码

		}

		else if (this.getResources().getConfiguration().orientation

		== Configuration.ORIENTATION_PORTRAIT) {

			// 当前为竖屏
			//实现代码

		}

		/*
		 *  实体键盘状态检测
		 */

		if (newConfig.hardKeyboardHidden

		== Configuration.HARDKEYBOARDHIDDEN_NO) {

			// 实体键盘处于推出状态
			//实现代码

		}

		else if (newConfig.hardKeyboardHidden

		== Configuration.HARDKEYBOARDHIDDEN_YES) {

			// 实体键盘处于合上状态
			//实现代码

		}

	}





作者:conowen 发表于2012-4-1 22:38:40 原文链接
阅读:20 评论:0 查看评论

相关 [android 切换 数据] 推荐:

解决Android横竖屏切换数据丢失问题

- - CSDN博客推荐文章
Android横竖屏切换时,当前的Activity会被销毁,然后Activity上面的数据将会全部丢失. 如Listview上面每个item的checkbox,横竖屏切换时,复选框就丢失所有选中信息. 在Androidmanifest.xml的activity标签中加入. 强制限制activity在横屏状态或者竖屏状态,不让activity进行横竖屏切换.

spring数据源动态切换

- - 企业架构 - ITeye博客
     原文->http://exceptioneye.iteye.com/blog/1698064.       在Spring 2.0.1中引入了AbstractRoutingDataSource, 该类充当了DataSource的路由中介, 能有在运行时, 根据某种key值来动态切换到真正的DataSource上.

android 横竖屏切换生命周期详解

- - CSDN博客推荐文章
  曾经遇到过一个面试题,让你写出横屏切换竖屏Activity的生命周期. 现在给大家分析一下他切换时具体的生命周期是怎么样的:. 1、新建一个Activity,并把各个生命周期打印出来. 2、运行Activity,得到如下信息. 3、按crtl+f12切换成横屏时. 4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log.

Android 数据持久化

- - CSDN博客推荐文章
在Android中,实现数据持久化主要有四种方式:Preferences,文件I/O,SQLite数据库,ContentProvider组件. 在我们 RUI中上述的几种方法都要涉及,其中LauncherProvider.java文件属于第四种,提供对数据库的一些操作,下面将重点介绍使用ContentProvider来实现数据持久化,其它方法将做简要介绍.

Android--用JSON解析数据

- - CSDN博客移动开发推荐文章
gson-1.7.1.jar,Gson在Android3.0以上才能直接使用,在3.0以下想使用可以从外部导入jar包. 下载链接: http://download.csdn.net/detail/zlqqhs/5075995. 新建工程,新建一个libs文件夹,将gson-1.7.1.jar复制到libs文件夹中.

Spring主从数据库的配置和动态数据源切换原理

- - 廖雪峰的官方网站
在大型应用程序中,配置主从数据库并使用读写分离是常见的设计模式. 在Spring应用程序中,要实现读写分离,最好不要对现有代码进行改动,而是在底层透明地支持. Spring内置了一个 AbstractRoutingDataSource,它可以把多个数据源配置成一个Map,然后,根据不同的key返回不同的数据源.

Android数据库导出工具—ADEL

- - FreebuF.COM
ADEL(Android Data Extractor Lite)这款工具可自动导出Android 2.x移动设备的SQLite数据库,并且释放下载文件中的存储内容. 以下数据库会被ADEL导出 telephone and SIM-card information (e. IMSI and serial number) telephone book and call lists, calendar entries, SMS messages, GPS locations from different sources on the smartphone.

Android数据库升级实例

- - BlogJava-qileilove
  Andoird的SQLiteOpenHelper类中有一个onUpgrade方法. 经过实践,解决了我一连串的疑问:. 帮助文档里说的“数据库升级”是指什么.   你开发了一个程序,当前是1.0版本. 到1.1版本时,你在数据库的某个表中增加了一个字段. 那么软件1.0版本用的数据库在软件1.1版本就要被升级了.

浅谈Android数据库版本升级及数据的迁移

- - CSDN博客推荐文章
Android开发涉及到的数据库采用的是轻量级的SQLite3,而在实际开发中,在存储一些简单的数据,使用SharedPreferences就足够了,只有在存储数据结构稍微复杂的时候,才会使用数据库来存储. 而数据库表的设计往往不是一开始就非常完美,可能在应用版本开发迭代中,表的结构也需要调整,这时候就涉及到数据库升级的问题了.

Google公布Android数据,年增长250%,每天激活85万台Android设备

- - 36氪
今天,Google高级副总裁Andy Rubin在其 官方博客上公布了Android最近的增长数据,称Android已经成为一个高速增长的生态系统. Android设备的今年增长了250%,全球共有3亿台Android设备. 平均每天有85万台新设备被激活,其中圣诞节周激活设备数量就有370万台,去年12月中旬平均每天的激活设备还只有70万台.