- 浏览: 42774 次
- 性别:
- 来自: 济南
最新评论
-
kensunhu:
正是我想要的。典型的app ui布局。谢谢!
android UI - 仿威信tab样式 -
007007jing:
bing_zz 写道兄弟加油!谢谢
android2.3 api demo 学习系列(7)--App/Activity/Hello World -
bing_zz:
兄弟加油!
android2.3 api demo 学习系列(7)--App/Activity/Hello World
android保存数据有很多种方式,其中最简单的就是使用SharedPreferences。Shared Preferences存储的是key/value键值对。支持的数据类型为:boolean、long、float、int、string、stringset。SharedPreferences在保存UI的state上最为常用方便。(application之间不能使用SharedPreferences,仅限在同一个application内activity之间共享一些数据)
1、创建布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="4dip" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:paddingBottom="4dip" android:text="@string/app_activity_persistent_state_msg"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:paddingBottom="4dip" android:text="@string/app_activity_persistent_state_save"/> <EditText android:id="@+id/app_activity_persistent_state_saved_edit" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/green" android:text="@string/app_activity_persistent_state_save" android:freezesText="true"> <requestFocus /> </EditText> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:paddingTop="8dip" android:paddingBottom="4dip" android:text="@string/app_activity_persistent_state_cancel"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/red" android:text="@string/app_activity_persistent_state_cancel"> </EditText> </LinearLayout>
2、在activity的onPause方法内保存数据
@Override protected void onPause() { super.onPause(); SharedPreferences.Editor editor = getPreferences(this.MODE_PRIVATE).edit(); editor.putString("text", mEditText.getText().toString()); editor.putInt("selection-start", mEditText.getSelectionStart()); editor.putInt("selection-end", mEditText.getSelectionEnd()); editor.commit(); }
3、在activity的onResume方法内还原数据
@Override protected void onResume() { super.onResume(); SharedPreferences prefs = getPreferences(0); String restoredText = prefs.getString("text", null); if (restoredText != null) { mEditText.setText(restoredText, TextView.BufferType.EDITABLE); int selectionStart = prefs.getInt("selection-start", -1); int selectionEnd = prefs.getInt("selection-end", -1); if (selectionStart != -1 && selectionEnd != -1) { mEditText.setSelection(selectionStart, selectionEnd); } } }
效果图:
-----------------------------------------------------------------------------------------------------------------------
接下来我们来看看sdk中关于SharePreferences的相关介绍
SharedPreferences
类提供了基本的保存key-value对来原始数据. 你可以使用SharedPreferences
保存此类数据: booleans, floats, ints, longs, and strings. 数据将会被保存到用户的session中(即使应用程序被终止)。
在应用程序中如果想使用 SharedPreferences
可以使用下面的两个方法:
-
getSharedPreferences(String name, int mode)
- 如果你想用到多个preferences,请使用该方法并指定名称. -
getPreferences(int mode)
- 如果只需要一个preferences,应该使用该方法.
使用SharePreferences写入数据的步骤:
- Call
edit()
to get aSharedPreferences.Editor
. - Add values with methods such as
putBoolean()
andputString()
. - Commit the new values with
commit()
同样对应的存在get方法来读取数据
示例:
public class Calc extends Activity { public static final String PREFS_NAME = "MyPrefsFile"; @Override protected void onCreate(Bundle state){ super.onCreate(state); . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean silent = settings.getBoolean("silentMode", false); setSilent(silent); } @Override protected void onStop(){ super.onStop(); // We need an Editor object to make preference changes. // All objects are from android.context.Context SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("silentMode", mSilentMode); // Commit the edits! editor.commit(); } }
发表评论
-
android2.3 api demo 学习系列(23)--App/Notification/StatusBarNotification
2012-07-07 19:51 1385apidemo-StatusBarNotification里面 ... -
android2.3 api demo 学习系列(22)--App/Notification/Notifying Service Controller
2012-07-06 14:56 1720因为还没有看到service的demo,这里先不对servic ... -
android2.3 api demo 学习系列(21)--App/Notification/Incoming Message
2012-07-06 11:55 2508现在我们开始学习android的Status Bar Noti ... -
android2.3 api demo 学习系列(20)--App/Menu
2012-07-06 09:58 1156现在来学习下menu的相关 ... -
android2.3 api demo 学习系列(19)--App/Intent and Launcher Shortcuts
2012-07-06 09:36 1102第一个demo:Intent,根据指定的类型,枚举出所有符合条 ... -
android2.3 api demo 学习系列(18)--App/Dialog
2012-07-06 09:13 1013今天主要学习Dialog: 1、一般的dialog ... -
android2.3 api demo 学习系列(17)--App/Alarm/AlarmController and Alarm Service
2012-07-03 17:12 2194本次学习将apidemo中得两个demo:AlarmContr ... -
android2.3 api demo 学习系列(16)--App/Activity/Translucent and Blur activity
2012-07-03 11:47 1907本次同样是将apidemo中得两个demo合并起来学习:Tra ... -
android2.3 api demo 学习系列(15)--App/Activity/SetWallpaper
2012-07-03 11:00 1134本次示例我们整合了apidemo里面的两个demo:SetWa ... -
android2.3 api demo 学习系列(14)--App/Activity/Screen Orientation
2012-07-03 09:50 3128下面我们来学习下Screen Orientaiton的demo ... -
android2.3 api demo 学习系列(13)--App/Activity/Save & Restore
2012-07-02 17:29 1493前面文章android2.3 api demo 学习系 ... -
android2.3 api demo 学习系列(12)--App/Activity/Reorder Activitys
2012-07-02 16:45 1001Reorder Activitys Demo主要是实现打开ac ... -
android2.3 api demo 学习系列(11)--App/Activity/Redirection
2012-07-02 15:52 872APIDEMO里面的redirection示例本身并没有新技术 ... -
android2.3 api demo 学习系列(10)--App/Activity/RecevieResult
2012-07-02 14:48 1005在先前的文章 activity之间跳转传值 已经学习过这方面的 ... -
android2.3 api demo 学习系列(9)--App/Activity/QuickContactsDemo
2012-07-01 19:46 1002现在我们来学习如何使用Content Provider来访问a ... -
android2.3 api demo 学习系列(7)--App/Activity/Hello World
2012-06-29 14:03 1109学习android当然不能少了HelloWorld,接下来我们 ... -
android2.3 api demo 学习系列(6)--App/Activity/ForwardActivity
2012-06-29 13:50 840本次学习activity的跳转 1、构建intent ... -
android2.3 api demo 学习系列(5)--App/Activity/Dialog
2012-06-29 11:42 1010前面我们已经学习了Custom Dialog 和 Custom ... -
android2.3 api demo 学习系列(4)--App/Activity/Custom Title
2012-06-29 11:26 1114android的标题栏默认是由android:lable定义的 ... -
android基础知识---Providing Resources
2012-06-29 10:42 811android的可使用的资源文件,google建议我们在开发应 ...
相关推荐
implementation 'moe.shizuku.preference:preference-dialog-android:' //implementation 'moe.shizuku.preference:preference-dialog-appcompat:' // if you want to use appcompat version dialog //...
标题中的"Android-Support-Preference-V7-Fix-master"表明这是一个针对Android支持库中Preference-V7组件的修复项目。在Android开发中,Support Library(现在称为AndroidX库)是谷歌提供的一系列兼容库,用于帮助...
本项目"Android应用源码之Preference_Demo"是一个毕业设计示例,它深入展示了如何在Android应用程序中创建和管理用户偏好设置。通过分析这个源码,我们可以学到以下几个关键知识点: 1. **Preference组件**: - `...
android-support-v7-preference.jar
android-support-v4-v7-v13-v14-v17(官方最新完整版),官方最新版的,压缩包内包含android-support-v4、android-support-v7-appcompat,android-support-v7-cardview,android-support-v7-gridlayout,android-support-...
10. **总结**:Preference_Demo示例项目旨在帮助开发者理解和掌握Android中的设置界面实现,通过这个例子,可以学习到如何创建、配置和管理设置项,以及如何处理用户输入,从而提升应用的用户体验。
Preference通常在XML布局文件中定义,并通过`<preference-headers>`标签在设置活动中声明。例如: ```xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory ...
android-support-v7-preference,我是编译Ijkplayer的时候需要用到。这个是6.0之后的.
### Android API Demo 知识点概述 #### 一、概览 本文档旨在全面解析 Android API Demo 中的各种案例,通过具体实例深入理解 Android 开发中的关键技术和应用实践。该文档覆盖了从简单的用户界面设计到复杂的后台...
Android Build 时报错: java.io.IOException: Could not parse XML from android/accounts/annotati...Android构建时报错: app:lintVitalRelease[Fatal Error] :3:214: 与元素类型 “item” 相关联的 “name” ...
本Demo旨在展示如何在Android应用中使用Preference来实现用户设置的保存与读取。 首先,我们需要在布局文件(通常是res/xml/preference.xml)中定义Preference视图。这个XML文件包含了各种Preference类型的节点,如...
4. **BGP(Border Gateway Protocol)**: "Configuring IBGP and EBGP Sessions, Local Preference and.doc"涵盖了内部BGP(IBGP)和外部BGP(EBGP)的配置,以及本地优先级的设定。BGP是互联网上广泛使用的外部网关...
此DEMO内含基本的android preference framework的简单介绍,包括CheckboxPreference, RingtonePreference, EditTextPreference以及ListPreference。主要探究了一下android 怎么通过使用preference从而达到对用户定制...
在Android开发中,Preference是用于构建用户界面的一种重要组件,特别是在设置界面的实现上。它提供了许多预定义的UI元素,如开关按钮、选择列表、输入框等,使得开发者能够快速构建具有交互性的配置界面。本篇文章...
使用前操作 1、把dll文件放在%JAVA_HOME%\bin下(注意系统是32位... 2、如果是在eclipse下开发,需要重新引入jdk(Preference/Java/Installed JREs) 3、开发时将jacab.jar包放在项目lib下并add到liabraries中即可。
Socialoid-Preference-Library Custom preference view for preference screens on Android. Each social icon is selectable in the normal view. If the user clicks on the title, the dialog appears which is ...
Android Support Library V4,简称`android-support-v4`,是Android开发者广泛使用的库,旨在提供对Android早期版本的兼容性,同时包含许多先进的特性,使得应用能够运行在从Android 2.1 (API级别7)到最新的Android...
《Android中的Preference Demo详解》 在Android开发中,Preference是一个重要的组件,用于创建用户界面,让用户可以方便地进行设置和偏好选择。Preference Demo是展示如何使用Preference进行UI设计的一个实例,它...
Android Support Library是一系列的库,旨在帮助开发者实现向后兼容,同时提供新的API功能,即使目标SDK版本较低的设备也能使用。它包含多个模块,如AppCompat、CardView、RecyclerView等,每个模块都有特定的功能和...