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)完成。
分享到:
相关推荐
在这个"android Sharedpreference的例子代码"中,我们将深入探讨如何使用SharedPreference进行数据操作。 一、SharedPreference基本概念 SharedPreference实质上是一个XML文件,存储在应用的私有目录下,数据以键值...
通过合理的使用`SharedPreference`,我们可以为用户提供个性化的体验,同时降低服务器的负担,因为许多数据可以直接在本地存储和读取。 综上所述,`SharedPreference`是Android开发中一个非常实用的工具,它提供了...
了解并熟练使用SharedPreference可以帮助开发者更高效地管理应用的配置信息,同时提高应用的性能和用户体验。在编写代码示例时,通常会包括创建、读取、更新、删除SharedPreference数据的完整流程,以展示其基本功能...
要使用SharedPreference,你需要创建一个SharedPreferences对象,然后通过这个对象进行数据的读写操作。 以下是一个简单的例子,展示如何在登录界面实现记住密码功能: 1. **创建SharedPreferences对象**: ```...
SharedPreference方面的内容还算是比较简单易懂的,在此还是主要贴上效果与代码,最后也是附上源码。 首先是输入账号admin,密码123,选择记住密码登陆。 登陆后就直接跳转页面。 随后再次打开app可以发现已经...
以下是一个简单的例子,展示了如何使用SharedPreference: ```java // 获取SharedPreferences实例 SharedPreferences preferences = getSharedPreferences("GameSave", MODE_PRIVATE); SharedPreferences.Editor ...
在本文中,我们将深入探讨如何在Android应用中有效地使用SharedPreference,并提供几个实用的例子。 首先,我们需要导入`android.content.SharedPreferences`和`android.content.Context`库。这两个库在处理...
在这个例子中,“base64 sharedpreference保存图像”展示了如何将图像数据转换为Base64编码字符串,并存储在Shared Preferences中,以便后续读取和显示。 Base64是一种常见的二进制数据编码方式,它可以将任何二...
以下是如何使用`UserDefaults`的例子: ```swift let defaults = UserDefaults.standard defaults.set(value, forKey: "key") ``` 两者都是为了实现跨应用会话的数据保留,但它们并不直接支持跨平台通信。然而,当...
`PreferenceActivity`通常配合`PreferenceScreen`和各种`Preference`子类(如`CheckBoxPreference`, `EditTextPreference`, `SwitchPreference`等)一起使用。 **使用步骤:** 1. 创建XML布局文件:在res/xml目录下...
此外,还有SharedPreference用于轻量级数据存储。 5. **BroadcastReceiver**:理解广播接收器的概念,学习如何注册、发送和接收系统或自定义广播。 6. **服务(Service)**:了解后台运行的服务,如音乐播放服务,...
在这个"SP实现登陆例子"中,我们将探讨如何使用SharedPreference来保存用户的登录信息,以便在用户下次打开应用时能够自动记住登录状态。 首先,我们需要了解SharedPreference的基本概念。SharedPreference是一个...
- 数据存储:了解SharedPreference、SQLite数据库和文件存储的基本用法。 2. **CH04:事件处理与用户交互** - 触摸事件:学习如何处理View的点击、滑动等触摸事件。 - 键盘输入:理解EditText控件的使用以及软...
3. **数据缓存**:为了提高用户体验,客户端可能缓存商品信息,如使用SQLite数据库存储商品详情,或使用SharedPreference保存用户登录状态。 4. **事件监听与处理**:通过监听用户操作,比如点击事件,执行相应的...
4. 尽量减少在Activity之间传递大量数据,考虑使用SharedPreference、SQLite数据库或ContentProvider等持久化存储方案。 5. 避免在静态变量或单例中持有Activity引用,可能导致内存泄漏。 总之,管理多个Activity是...
在"安卓PreferenceScreen使用详细Demo"中,MyPlayer可能是项目的名称,它可能包含了如何将PreferenceScreen应用于实际应用中的例子,如音乐播放器的设置界面。通过实践这个Demo,开发者可以更好地理解和掌握如何构建...
在这个例子中,`isDarkModeEnabled`是一个getter,它直接返回`SharedPreferences`中的布尔值。而`setIsDarkModeEnabled`是一个setter,用于更新对应的键值。这样,我们就可以像操作普通属性一样操作`...
11. **数据存储**:除了SQLite数据库,源码可能还会涉及SharedPreference、文件存储以及存储访问框架(SAF)的使用。 12. **图形与动画**:可能包含自定义视图绘制、Canvas的使用、属性动画和视图动画的实现。 13....
8. **SharedPreference**: SharedPreference是Android中轻量级的数据持久化方法,常用来存储用户设置。示例可能会展示如何读写SharedPreferences,进行键值对的存取操作。 9. **AlertDialog**: AlertDialog是...
同时,对于网络通信,可能需要了解如何使用Retrofit、OkHttp等库进行数据请求和响应处理,以及如何将数据持久化到SQLite数据库或使用SharedPreference。 总的来说,"安桌学习范例"涵盖的Android开发不仅涉及基础...