`

Android 持久状态

 
阅读更多
当你编辑某Text视图时可能会打断当前编辑切换到另外的活动中,如果要持久你的编辑状态那么应该在Activity.onPause()里面做文章,  例如:
@Override
protected void onPause() {
    super.onPause();
    SharedPreferences.Editor editor = getPreferences(0).edit();
    editor.putString("text", mSavedEditText.getText().toString());
    editor.putInt("selection-start", mSavedEditText.getSelectionStart());
    editor.putInt("selection-end", mSavedEditText.getSelectionEnd());
    editor.commit();
}




当试图重新获得焦点时 需在Activity.onResume中操作 如下:
@Override
    protected void onResume() {
        super.onResume();
        SharedPreferences prefs = getPreferences(0); 
        String restoredText = prefs.getString("text", null);
        if (restoredText != null) {
            mSavedEditText.setText(restoredText, TextView.BufferType.EDITABLE);

            int selectionStart = prefs.getInt("selection-start", -1);
            int selectionEnd = prefs.getInt("selection-end", -1);
            if (selectionStart != -1 && selectionEnd != -1) {
                mSavedEditText.setSelection(selectionStart, selectionEnd);
            }
        }
    }

分享到:
评论

相关推荐

    详解Android开发数据持久化之文件存储(附源码)

    持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换, Android系统中主要提供了3种方式用于简单地实现数据持久化功能, 即文件存储, SharePreference存储, 以及数据库存储. 当然你也可以将数据...

    Android 常用六大框架

    (10) 网络状态检测模块:当网络状态改变时,对其进行检 6、LoonAndroid 项目地址:https://github.com/gdpancheng/LoonAndroid 主要有以下模块: (1) 自动注入框架(只需要继承框架内的application既可) (2) ...

    Android持久化保存cookie的方法

    在解析网页信息的时候,需要登录后才能访问,所以使用httpclient模拟登录,然后把cookie保存下来,以供下一次访问使用,这时就需要持久化cookie中的内容。 在之前先科普一下基础知识: 什么是Cookies? Cookies是...

    精通ANDROID 3(中文版)1/2

    9.4 使用首选项保存状态  9.5 参考资料  9.6 小结  第10章 探索安全性和权限  10.1 理解Android安全性模型  10.1.1 安全性概念概述  10.1.2 为部署签名应用程序  10.2 执行运行时安全性检查  10.2.1...

    compose-remember-preference:Jetpack Compose库,用于持久地记住状态(基于DataStore首选项)

    Jetpack Compose库,用于基于DataStore首选项持久地记住状态。 入门 库通过Maven Central分发。 要使用它,您需要在模块build.gradle添加以下依赖build.gradle : dependencies { implementation ' dev.burnoo:...

    Android中的Activity生命周期总结

    概述 有图有真相,所以先上图: 上图是从Android官网截下的Activity的生命周期流程图,结构...活动状态一般是指该Activity正处于屏幕最显著的位置上显示,即该Activity是在Android活动栈的最顶端。 一般地当Activi

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。 WebStorage HTML新增的本地存储解决...

    精通Android 3 (中文版)2/2

    9.4 使用首选项保存状态  9.5 参考资料  9.6 小结  第10章 探索安全性和权限  10.1 理解Android安全性模型  10.1.1 安全性概念概述  10.1.2 为部署签名应用程序  10.2 执行运行时安全性检查  10.2.1...

    Android Droid Wall 3G Wi-Fi手机防火墙 APP源代码.rar

    Droid Wall是一个类似于 Linux 下的 iptables 的 Android 手机防火墙软件,界面运行效果请参见演示截图所示。本防火墙APP可以限制某些应用访问数据网络,包括 2G/3G 以及 Wi-Fi。这个源代码项目共包括了以下模块: ...

    Android聊天项目D3Xmpp.zip

    下面说xmpp类的作用 XmppConnectionListerner是xmpp的连接状态的listener,比如断线等XmppMessageInterceptor是发出消息的listener,在此拦截并持久化聊天纪录XmppMessageListener是收到消息的listener,在此拦截并...

    开源中国项目

    android 持久化的状态选择器,自定义dialog,fragmentTabhost的用法, swipeLayoutRefresh的用法,封装网络请求框架,自定义过渡状态视图

    android-priority-jobqueue:专为Android编写的Job Queue,可轻松安排在后台运行的作业(任务),从而提高UX和应用程序稳定性

    该项目已弃用! 感谢使用过Android Priority Job... 如果您使用的是v1,请参见此处的迁移指南: dependencies { compile ' com.birbit:android-priority-jobqueue:2.0.1 '}主构建状态Android优先作业队列(作业管理

    实验一Android环境构建与Activity生命周期.doc

    了解项目的基本文件目录结构,了解Activity周期中的4种状态。 【过程】 (1)建立新项目,实现Hello World; 1)打开Eclipse,选择File -> New -> Android Project. 2)填写project name(helloword),然后选择选择...

    Android作业框架Trigger.zip

    Trigger 的特性单个作业支持多个条件组合内部条件:充电中\无法检测网络状态\设备空闲支持作业持久化,这意味着可在设备重启时触发支持作业截止时间可根据配置在后台或者主线程中运行作业示例代码:Job job = ...

    基于Android的在线商城大作业.zip

    数据库使用:为了存储用户信息、商品数据等,项目可能会集成SQLite数据库或使用Room持久性库。这样可以在本地模拟数据的存储和读取,而无需依赖真实的后端服务器。第三方服务集成:项目可能集成了第三方服务,如...

    Android面试题(详细答案).doc

     11.activity对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d)  A、onPause() B、onCreate() C、 onResume() D、onStart()  Intent传递数据时,下列的数据类型哪些可以被传递(abcd)...

    StarWarsSearch-MVI:《星球大战》样本android项目展示了如何使用View组件在“片段和活动”中呈现UI。 使用Android Jetpack,具有MVI(单向数据流)的干净架构,匕首,DFM导航和带有StateFlow的kotlin协程

    演示者,用于在配置更改中持久保存视图状态 将传统的视图点击侦听器转换为Kotlin流并进行 房间-提供超过SQLite的抽象层 改造-键入安全的http客户端并开箱即用支持协程。 Moshi -JSON解析器,用于解析实体在数据层上...

    Android编程开发之NotiFication用法详解

    本文实例讲述了Android编程开发之NotiFication用法。分享给大家供大家参考,具体如下: notification就是通知的意思,安卓中指通知栏,一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,...

    OpenBug-Android:OpenBug 优秀开源项目汇总

    状态栏和虚拟键 快速开发框架 数据交互 持久化存储 蓝牙通信 权限请求框架 网络请求框架 作者 项目 JiangHaiYang01 Retrofit 与 协程结合 断点下载 上传,网络缓存 JiangHaiYang01 Retrofit 与 RxJava 完美结合,...

    [《第一行Android代码》读书笔记] 第7章 跨程序共享数据——探究内容提供器

    ​ 数据持久化技术,包括文件存储、SharedPreferences存储以及数据库存储,都只能在当前应用程序中访问。跨程序数据共享需要用到另一种技术——内容提供器。 7.1 内容提供器简介 ​ 内容提供器(Content Provider...

Global site tag (gtag.js) - Google Analytics