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" >
 
<EditText
android:id="@+id/userName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Please input your username" />
 
<EditText
android:id="@+id/passWord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Please input your password"
android:inputType="textPassword" />
 
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="login"
android:textSize="30sp" />
 
</LinearLayout>

activity_second.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" >
 
<TextView
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
 
<Button
android:id="@+id/btn_showinfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showIfo" />
 
</LinearLayout>

MainActivity.java

package com.example.testsharedpreferencesdemo001;
 
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
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.EditText;
 
public class MainActivity extends Activity
{
 
SharedPreferences sharedPreferences;
Editor editor;
EditText userName, passWord;
Button login;
 
@SuppressLint("CommitPrefEdits")
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userName = (EditText) findViewById(R.id.userName);
passWord = (EditText) findViewById(R.id.passWord);
 
login = (Button) findViewById(R.id.btn_login);
login.setOnClickListener(myOnClickListener);
 
sharedPreferences = this.getSharedPreferences("login_info",
MODE_PRIVATE);
 
String stored_username = sharedPreferences.getString("username", "");
String stored_password = sharedPreferences.getString("password", "");
userName.setText(stored_username);
passWord.setText(stored_password);
editor = sharedPreferences.edit();
editor.putString("username", userName.getText().toString());
editor.putString("password", passWord.getText().toString());
 
}
 
OnClickListener myOnClickListener = new OnClickListener()
{
 
@Override
public void onClick(View v)
{
String sUserName = userName.getText().toString();
String sPassWord = passWord.getText().toString();
 
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("username", sUserName);
intent.putExtra("password", sPassWord);
 
startActivity(intent);
 
}
};
}

SecondActivity.java

package com.example.testsharedpreferencesdemo001;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
public class SecondActivity extends Activity
{
String userName;
String passWord;
TextView info;
Button btn_showInfo;
 
@Override
protected void onCreate(Bundle savedInstanceState)
{
 
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_second);
 
info = (TextView) findViewById(R.id.info);
btn_showInfo = (Button) findViewById(R.id.btn_showinfo);
btn_showInfo.setOnClickListener(new OnClickListener()
{
 
@Override
public void onClick(View v)
{
Toast.makeText(SecondActivity.this, userName + ";" + passWord,
Toast.LENGTH_LONG).show();
}
});
Intent intent = this.getIntent();
userName = intent.getStringExtra("username");
passWord = intent.getStringExtra("password");
System.out.println(userName);
System.out.println(passWord);
 
}
 
}

MainActivity



点击按钮,跳转到SecondActivty,再次点击按钮showinfo



点击“返回键”

回到MainAcitivy
可以看到用户名与密码均保留着


SharedPrefernces使用实例讲解的更多相关文章

  1. float实例讲解

    float实例讲解 float是个强大的属性,在实际前端开发过程中,人们经常拿它来进行布局,但有时,使用的不好,也麻烦多多啊. 比如,现在我们要实现一个两列布局,左边的列,宽度固定:右边的列,宽度自动 ...

  2. S3C2440上RTC时钟驱动开发实例讲解(转载)

    嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤.一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便.如有错误之处,谢请指正. 共享资源,欢迎转载:http:/ ...

  3. 实例讲解Oracle数据库设置默认表空间问题

    实例讲解Oracle数据库设置默认表空间问题   实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在O ...

  4. 基于tcpdump实例讲解TCP/IP协议

    前言 虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲 ...

  5. makefile基础实例讲解 分类: C/C++ 2015-03-16 10:11 66人阅读 评论(0) 收藏

    一.makefile简介 定义:makefile定义了软件开发过程中,项目工程编译链.接接的方法和规则. 产生:由IDE自动生成或者开发者手动书写. 作用:Unix(MAC OS.Solars)和Li ...

  6. 实例讲解Linux系统中硬链接与软链接的创建

    导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...

  7. spring事务传播机制实例讲解

    http://kingj.iteye.com/blog/1680350   spring事务传播机制实例讲解 博客分类:   spring java历险     天温习spring的事务处理机制,总结 ...

  8. 实例讲解MySQL联合查询

    好了终于贴完了MySQL联合查询的内容了,加上上一篇一共2篇,都是我转载的,实例讲解MySQL联合查询.那下面就具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: ...

  9. Html代码seo优化最佳布局实例讲解

    搜索引擎对html代码是非常优化的,所以html的优化是做好推广的第一步.一个符合seo规则的代码大体如下界面所示. 1.<!–木庄网络博客–> 这个东西是些页面注释的,可以在这里加我的& ...

随机推荐

  1. 【原】ZenCoding中常用的CSS3样式

    用ZenCoding这么久了,总结下常用CSS3的写法,方便以后查找: Property Alias @media print {} @m box-sizing:border-box; bxz:bb ...

  2. 经典DOS游戏皇帝攻略(曾经的回忆)

    最完美攻略>>>>> -------------------------------------------------------------------------- ...

  3. Linux下mysql新建账号及权限设置

    http://www.cnblogs.com/eczhou/archive/2012/07/12/2588187.html 1.权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连 ...

  4. 应用多个icon的对比

    在给应用设计图标的时候,可能会遇到这样的需求,应用图标有老版和新版两种,而又想在桌面上同时显示这两个图标以对比效果. 一个应用本身只有一个自己的icon,在AndroidManifest.xml文件中 ...

  5. Android两个独立的应用跳转实现方式小结

    在Android应用实现过程中,有时候会遇到应用之间相互跳转的情况,比如跳转至系统设置界面.WiFi设置界面.或者其它的用户实现的应用主界面等等.这里总结了几种常见的打开其它应用activity的方式 ...

  6. 开发之UI篇

    首先这里介绍一个软件一个插件,它们的主要功能是方便开发者看UI(如尺寸,颜色,大小等),两个配合使用 一. Sketch软件 1.Sketch  看ui图,还可以切图 2.Sketch 如何切图: 1 ...

  7. offsetParent详解

    offsetParent与parentNode一样,都是获取父节点,但是offsetParent却有很大的不同之处: offsetParent找有定位的父节点,没有定位默认是body,ie7以下定位在 ...

  8. avalon.js路由

    之前自己写了一个AJAX加载页面的方法:有时候一个页面里面会分区域加载不同的东西(div,html),但是IE的回退按钮,就失去任何意义了: 这两天研究了一下avalon.js的路由: 需要准备: 1 ...

  9. AIO 简介

    from:http://blog.chinaunix.net/uid-11572501-id-2868654.html   Linux的I/O机制经历了一下几个阶段的演进: 1. 同步阻塞I/O: 用 ...

  10. 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试

    from:http://m.blog.csdn.net/article/details?id=51075023 在VS2015中先创建C#项目,然后再创建要编写的动态库DLL项目,这样做的好处是整个解 ...