Android开发学习---sharedpreference的使用
在前面文章中,为了使数据回显,使用的技术思路是,首先,将数据持久化写到ROM或者SDCard中,其中name和password以":"分隔;然后,将数据记取出来,再用split方法将数据切割,分割后的数据再set到输入框中.整个过程可谓是相当麻烦,一不小心就会报空指针的错误,而且很容易忘记写参数.下面将学习一个叫SharedPreference东西.SharedPreference主要用来保存参数.
1.效果:
2.实现代码
package com.amos.sharedpreference; import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener {
String tag = "MainActivity";
EditText et_name;// 用户名
EditText et_password;// 密码
Button bt_login;// 登录按钮
CheckBox cb_password;// 单选框 // 用来保存参数的接口
SharedPreferences sharedPreference; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化
et_name = (EditText) this.findViewById(R.id.et_name);
et_password = (EditText) this.findViewById(R.id.et_password);
bt_login = (Button) this.findViewById(R.id.bt_login);
cb_password = (CheckBox) this.findViewById(R.id.cb_password); // 初始化参数配置
sharedPreference=this.getSharedPreferences("spconfig", MODE_PRIVATE);
if(sharedPreference.getBoolean("issetup", false)){
et_name.setText(sharedPreference.getString("name", ""));
et_password.setText(sharedPreference.getString("password", ""));
} // 注册监听事件
bt_login.setOnClickListener(this); } @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_login:
String name = et_name.getText().toString().trim();
String password = et_password.getText().toString().trim();
System.out.println("name:"+name);
System.out.println("password:"+password);
// 定义用来保存参数的接口
Editor edit = sharedPreference.edit();
edit.putString("name", name);
edit.putString("password", password);
edit.putBoolean("issetup", true);
//清空编辑器
//edit.clear(); // 当有两个编辑器(Editor)进行编辑同一个sharedPreference时,最后一个提交的将会生效
edit.commit(); default:
break;
} } }
sharedpreference的使用是相当方便,这里同样会将用户名密码保存下来,但这里不同点在于,通过sharedPreference会生成规整的xml的文件,这里主要用到的是Edit类中的方法去put值到相应的位置.一般情况下其它配置也是会保存到sharedPreference中,如setting:
3.补充
1).使用openFileInput('...')读取数据.
前面文章中将密码写到rom文件中主要采用的是openFileOutput('XXX/xxx').
这里同样可以类似的通过openFileInput('xx/xxx')进行读取文件.比较简单,这里不再举例.
2).使用命令生成sdcard
t-bundle-linux-x86_64-/sdk/tools$ ./mksdcard
mksdcard: create a blank FAT32 image to be used with the Android emulator
usage: mksdcard [-l label] <size> <file> if <size> is a simple integer, it specifies a size in bytes
if <size> is an integer followed by 'K', it specifies a size in KiB
if <size> is an integer followed by 'M', it specifies a size in MiB
if <size> is an integer followed by 'G', it specifies a size in GiB Minimum size is 9M. The Android emulator cannot use smaller images.
Maximum size is bytes, 1073741823K, 1048575M or 1023G
amosli@amosli-pc:/media/f91a4cca-0b96-4c30-b140-7918a196de3e/amosli/java/soft/adt-bundle-linux-x86_64-/sdk/tools$
3).更新ADT(android development tools )
方法一:将 https://dl-ssl.google.com/android/eclipse/ 链接加入到, Help > Install New Software > add url
方法二:直接下载zip包ADT-22.6.3.zip (https://dl.google.com/android/ADT-22.6.3.zip),不用解压.步骤与add url类似,官方介绍如下.
- Download the ADT Plugin zip file (do not unpack it):
Package Size MD5 Checksum ADT-22.6.3.zip 14590813 bytes 3982259fd2cc81e53bbbe05dcd6529a7 - Start Eclipse, then select Help > Install New Software.
- Click Add, in the top-right corner.
- In the Add Repository dialog, click Archive.
- Select the downloaded ADT-22.6.3.zip file and click OK.
- Enter "ADT Plugin" for the name and click OK.
- In the Available Software dialog, select the checkbox next to Developer Tools and click Next.
- In the next window, you'll see a list of the tools to be downloaded. Click Next.
- Read and accept the license agreements, then click Finish.
也可以直接从百度网盘中下载(推荐):http://pan.baidu.com/s/1i3rAc2D
Android开发学习---sharedpreference的使用的更多相关文章
- Android开发学习之路-RecyclerView滑动删除和拖动排序
Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...
- Android开发学习路线图
Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
- Android开发学习之LauncherActivity开发启动的列表
Android开发学习之LauncherActivity开发启动的列表 创建项目:OtherActivity 项目运行结果: 建立主Activity:OtherActivity.java [jav ...
- 最实用的Android开发学习路线分享
Android开发学习路线分享.Android发展主导移动互联发展进程,在热门行业来说,Android开发堪称火爆,但是,虽然Android有着自身种种优势,但对开发者的专业性要求也是极高,这种要求随 ...
- Android开发学习必备的java知识
Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...
- Android开发学习之路--基于vitamio的视频播放器(二)
终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了.在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的 ...
- Android开发学习之路--Android Studio cmake编译ffmpeg
最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...
随机推荐
- 解决windows 2003 无法安装vss2005的问题
1.打开vss2005 进行安装提示 未安装 sp1 2.下载了sp1 英文版本,与服务器语言对不上,删除,再下个 简体中文版 3.提示 无法识别 key,百度搜索 Windows XP/2003序 ...
- 移动web开发实践-css3(1)盒模型display:-webkit-box;的使用
提到移动布局不得不提到盒模型display:-webkit-box;这个属性,在移动布局中浮动已经不在重要,相反自适应成为主要的需求,所以display:-webkit-box;变得尤为重要. box ...
- [react native] react-native-tab-navigator在子Component中隐藏
因为文档只列出了TabBarIOS, 不支持Android,所以github上找到这个组件. 先说下我的页面构造: 入口文件 —> 注册组件(包含Navigator, 跳转到欢迎页)—> ...
- OC Runtime
OC 是面向运行时的语言.Runtime就是系统在运行的时候的一些机制,其中最主要的是消息发送机制.OC语言与其他语言(如C语言)在函数(方法)的调用有很大的不同.C语言,函数的调用在编译的时候就已经 ...
- java8之接口增强
Java8是由oracle公司于2014年3月正式发布,它是继java5 以来最重要的发布版本.Java8包含了很多新的特性,可以简化开发,提升代码的可读性. Java8的一些重要新特性包括: l 接 ...
- adb常用命令
adb命令的主要用途 1. 运行android设备的shell(命令行). 2.管理模拟器或android设备的映射端口. 3. 安装和卸载应用程序. 4.计算机和android设备之间的上传 ...
- Replace Pioneer 注册
批量文本替换工具,Replace Pioneer 注册:http://www.mind-pioneer.com
- @Resource、@Autowired、@Qualifier的注解注入及区别
在Java代码中可以使用 @Resource 或者 @Autowired 注解方式来进行注入. 虽然 @Resource 和 @Autowried 都可以完成依赖注入,但是他们是有区别的. 一: @ ...
- avalon全选效果分析讲解
全选功能就是 1.点击全选控制循环元素是否选中.(点击全选,下面的所有元素选中,再次点击 所有元素取消选中.) 2.点击循环元素控制全选.(如果当前元素是未选中状态则全选不选中,如果当前元素是选中状态 ...
- Elasticsearch升级1.5版本暴露jdk的bug
把测试环境的Elasticsearch升级到1.5.1版本,启动的时候报错: [root@node2 elasticsearch-1.5.1]# bin/service/elasticsearch s ...