SharedPreference 的使用的例子

SharedPreference 的使用的例子

1)新建项目,项目名称:DemoSharedPreferences
2.在继承自Activity的类中编写代码,如下所示:
/*
* Copyright (C) Mesada Technologies Co., Ltd. 2005-2010.
* All rights reserved.
*
* This software is the confidential and proprietary information
* of Mesada Technologies Co., Ltd. ("Confidential Information").
* You shall not disclose such Confidential Information and shall
* use it only in accordance with the terms of the license agreement
* you entered into with Mesada.
*/
package com.mesada.demo;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
* This is a demo about SharedPreferences.
*
* @author Xiaolong Long
* @date 2010-12-30
* @version 1.0
*/
public class MainActivity extends Activity implements OnClickListener {
private static final String TAG = "MainActivity";
private static final boolean mIsPrintInfo = true;

// public static final int MODE = Context.MODE_PRIVATE;
public static final int MODE = Context.MODE_WORLD_READABLE
+ Context.MODE_WORLD_WRITEABLE;

public static final String PREFS_NAME = "MyPrefsFile"; // Desired preferences file.
public static final String KEY_USERNAME = "USERNAME";
public static final String KEY_PWD = "PASSWORD";

EditText mUserNameView;
EditText mPasswordView;
Button mLogin;
Button mCancel;

@Override
protected void onCreate(Bundle savedInstanceState) {
if (mIsPrintInfo)
Log.i(TAG, "onCreate()...");

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupControlers();

mLogin.setOnClickListener(this);
mCancel.setOnClickListener(this);
}

@Override
protected void onStart() {
super.onStart();

// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE);

// String userName = settings.getString(KEY_USERNAME, "姚明");
// String userPwd = settings.getString(KEY_PWD, "123456");

String userName = settings.getString(KEY_USERNAME, "");
String userPwd = settings.getString(KEY_PWD, "");
mUserNameView.setText(userName);
mPasswordView.setText(userPwd);
}

@Override
protected void onStop() {
if (mIsPrintInfo)
Log.i(TAG, "onStop()...");
super.onStop();

// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(KEY_USERNAME, String.valueOf(mUserNameView.getText()));
editor.putString(KEY_PWD, String.valueOf(mPasswordView.getText()));
// Commit the edits!
editor.commit();
}

/**
*
* Find the views that were identified by the id attributes from the XML.
*
* @param
* @return
* @date 2010-12-30
* @author Xiaolong Long
*/
private void setupControlers() {
if (mIsPrintInfo)
Log.i(TAG, "setupControlers()...");

mUserNameView = (EditText) findViewById(R.id.userName);
mPasswordView = (EditText) findViewById(R.id.userPwd);
mLogin = (Button) findViewById(R.id.login);
mCancel = (Button) findViewById(R.id.cancel);
}

public void onClick(View v) {
if (mIsPrintInfo)
Log.i(TAG, "onClick()...");

// Returns this view's identifier.
int id = v.getId();
switch (id) {
case R.id.login:
Toast.makeText(MainActivity.this, getString(R.string.do_nothing),
Toast.LENGTH_SHORT).show();
break;
case R.id.cancel:
finish();
break;
default:
break;
}
}
}
3)main.xml 中的代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/msg_enter_username" />
<EditText
android:id="@+id/userName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></EditText>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/msg_enter_pwd"></TextView>
<EditText
android:id="@+id/userPwd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:password="true">
</EditText>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="right">
<Button
android:id="@+id/login"
android:text="@string/login"
android:layout_width="145px"
android:layout_height="wrap_content"></Button>
<Button
android:id="@+id/cancel"
android:text="@string/cancel"
android:layout_width="145px"
android:layout_height="wrap_content"></Button>
</LinearLayout>
</LinearLayout>
4)完成。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值