- 浏览: 121552 次
文章分类
- 全部博客 (65)
- web验证码 (0)
- 工具类 (4)
- android基础 (17)
- android通信 (1)
- JFreeChart (1)
- java基础 (5)
- android控件 (4)
- FusionCharts (1)
- android Layout (1)
- json (2)
- HTTP协议 (1)
- cmd (1)
- struts (3)
- Spring (1)
- java网络编程 (3)
- Linux (1)
- DB (5)
- Open Source (1)
- css (0)
- javascript (7)
- jquery (0)
- Socket (1)
- ajax (1)
- 整合开发 (1)
- UDP协议 (1)
最新评论
-
hy18710385392:
亲:import com.nudms.server.nurse ...
java实现打印PDF文件解决方案 -
osacar:
MyPDFPrintPage这个类能提供下?
java实现打印PDF文件解决方案 -
井底之龙:
请问楼主定义的保存Button从开始到最后都没有从xml文件中 ...
Android之SharedPreferences的使用 保存用户设置 -
lohasle:
liangzb0614 写道你好,求一个MyPDFPrintP ...
java实现打印PDF文件解决方案 -
liangzb0614:
你好,求一个MyPDFPrintPage 类!拜托了liang ...
java实现打印PDF文件解决方案
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最 终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。
这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和 J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、 透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。当然,如果你愿意保存其他的东西,也没有什么限制。只 是在性能上不知道会有什么问题。
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下。
以下是一个小demo
activity_main.xml
string.xml
main.activity
PreferencesService.class
这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和 J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、 透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。当然,如果你愿意保存其他的东西,也没有什么限制。只 是在性能上不知道会有什么问题。
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下。
以下是一个小demo
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/name"/> <EditText android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/age"/> <EditText android:id="@+id/age" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="number"/> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="save" android:text="@string/save"/> </LinearLayout>
string.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">ShardPerference</string> <string name="menu_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="name">姓名</string> <string name="age">年龄</string> <string name="save">保存</string> </resources>
main.activity
package com.shardperference.example; import java.io.IOException; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast; import com.shardperference.service.PreferencesService; public class MainActivity extends Activity { private EditText edit_name, edit_age; private PreferencesService ps; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit_name = (EditText)findViewById(R.id.name); edit_age = (EditText)findViewById(R.id.age); ps = new PreferencesService(this); initData(); } private void initData(){ Map<String, String> data = ps.initData(); String name = data.get("name"); int age = Integer.parseInt(data.get("age")); edit_name.setText(name); edit_age.setText(age + ""); } public void save(View view){ String name = edit_name.getText().toString(); int age = Integer.valueOf(edit_age.getText().toString()); try { ps.save(name, age); Toast.makeText(MainActivity.this, "save success", Toast.LENGTH_LONG).show(); } catch (IOException e) { Toast.makeText(MainActivity.this, "save error", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } }
PreferencesService.class
package com.shardperference.service; import java.io.IOException; import java.util.HashMap; import java.util.Map; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; public class PreferencesService { private Context context; public PreferencesService(Context context) { this.context = context; } public void save(String name, int age) throws IOException{ SharedPreferences sp = context.getSharedPreferences("preferences", Context.MODE_PRIVATE); Editor editor = sp.edit(); editor.putString("name", name); editor.putInt("age", age); editor.commit(); } public Map<String, String> initData(){ Map<String, String> data = new HashMap<String, String>(); SharedPreferences sp = context.getSharedPreferences("preferences", Context.MODE_PRIVATE); data.put("name", sp.getString("name", "")); data.put("age", String.valueOf(sp.getInt("age", -1))); return data; } }
评论
1 楼
井底之龙
2014-05-18
请问楼主定义的保存Button从开始到最后都没有从xml文件中加载到java代码中去,后面的public void save(View view)和 public void save(String name, int age)怎么就直接实现了呢?这两个函数就不需要Button按钮的载体么???
发表评论
-
Android 中OpenGL的使用
2013-06-18 22:48 2366android为openGL ES支持提供了GLSurface ... -
android 之GestureOverlayView手势识别
2013-05-28 00:18 2317android 之GestureOverlayView ... -
android 之ViewPager左右滑动切换界面
2013-05-26 23:49 2466这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包 ... -
android手机内存中的文件操作
2013-05-18 08:47 1272android为手机存储范围内的文件操作提供了openFile ... -
使用contentprovider共享生词本数据
2013-04-06 10:49 1138摘自李刚<疯狂android>备份学习使用 首先 ... -
contentprovider--读取写入联系人数据
2013-04-05 17:39 1571本文主要使用contentprovider实现读取写入联系人数 ... -
android读写XML
2013-01-08 11:08 950详细代码看附件! 布局文件: <RelativeL ... -
android检测网络是否正常
2012-05-17 23:18 1777按照惯例,先上图后代码 在实际开发中,尤其是在网络应用 ... -
Android Handler详解
2012-05-16 10:55 1359/*** * Handler的定义: ... -
android之OnScrollListener 下拉刷新
2012-05-12 20:47 2720先看看效果图吧 1.首先创建一个头部xml文件 < ... -
android之WebView的使用
2012-05-09 23:50 1189为了先体验一下效果,截了一个图 main.xml < ... -
android之PopupWindow
2012-05-03 15:57 2497用的豌豆荚截图,本来是个动画的,每个过程都有几张,大概 ... -
android之OnGestureListener实现图片的左右滑动
2012-04-24 22:07 3346先来看看效果图吧 welcome_glide.xml ... -
android解析json(2)
2012-04-17 23:57 1415两种android解析json的例子 第一个事件是androi ... -
JSON在android中的应用(1)
2012-04-16 23:47 1250android框架已经为我们集成了解析json的包 先一个简 ... -
android实现淡入淡出欢迎界面
2012-03-03 21:34 4399本例子会实现想手机QQ和酷狗那样的淡入淡出的欢迎界面 im ...
相关推荐
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-...比较经典的使用方式例如用户输入框对过往登录账户的存储。 详细介绍请参考博文:http://blog.csdn.net/stoppig/article/details/39157337
在实际开发中,如果遇到要让用户设置一些偏好参数的,那我们这时就可以使用SharedPreferences。
实现SharedPreferences保存和获取数据
采用SharedPreferences保存用户偏好设置参数,适合小白上路
最近Android项目需要一个自动登录功能,完成之后,特总结一下,此功能依靠SharedPreferences进行实现。 SharedPreferences简介 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value...
android SharedPreferences用户信息存储
简单的安卓登陆界面,适合新手学习,SharedPreferences保存用户数据,SQL数据库操作等。
如果程序中需要保存用户设置的信息,我们可以选择保存到数据库或文件中,但如果是少量的配置信息,Android为我们提供了更加方便的保存方法:SharedPreferences,使用SharedPreferences保存的文件在对应的的应用程序...
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。 Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、...
在每个Android软件都会使用到SharedPreferences,将密码保存在本地,但是由于没有对密码进行加密,只要用户对手机进行root,获取了权限就很容易得到密码,为了防止密码外露,每个Android软件都要对SharedPreferences...
应用程序在运行的时候,可能会随着用户的使用而保持该用户的配置信息,如上次播放时的eq设置,音量设置,上网的cookies信息等等,这些小量 的信息可以通过SharedPreferences来保持,通过SharedPreferences保持的数据...
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为...使用 SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package
(1) 掌握Android的SharedPreferences的使用 (2) 掌握在Android中使用SQLite的方法 二、实验内容及步骤 任务:根据下述要求实现对应程序 1、 根据所给界面1完成登入功能,用户名为admin,密码为123456,如果用户名...
因此,我们来学习一下Android的另外一种存储方式,SharedPreferences存储,它是一种数据持久化的方式,它比文件存储更加简单易用。 将数据存储到SharedPreferences中 不同于文件存储的方式,SharedPreferences是使用...
1.1 SharedPreferences的使用 1.2 实战演练——用户注册密码的保存 个人学习助手项目-注册功能的实现 SharedPreferences的使用 The use of the SharedPreferences SharedPreferences是Android平台上一个轻量级的...
前情提要2 :动态页面-简单保存QQ密码(数据存储:文件存储、SharedPreferences) 【https://blog.csdn.net/weixin_44949135/article/details/104965413】 验证QQ密码 ,在前情提要2的基础上,实现了如下功能: ...
用SharedPreferences保存用户偏好设置参数,17_创建数据库与完成数据添删改查,18_在SQLite中使用事务,19_采用 ListView实现数据列表显示,20_采用ContentProvider对外共享数据,21_监听ContentProvider中数据的...
Android 项目是使用 Android 操作系统和相关开发工具开发的一款移动应用程序。Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对...