SharePreference存储技术在android中主要应用于保存一些简单信息,提高用户体验性,通常用于保存用户登录信息中,下面是一个使用SharePreference存储的小示例。代码如下:
首先是部局文件:
<?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="姓名" android:textSize="20dp" /> <EditText android:id="@+id/etName" android:layout_width="150dp" android:layout_height="wrap_content" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="爱好" android:textSize="20dp" /> <EditText android:id="@+id/etHabit" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <CheckBox android:id="@+id/cbEmployee " android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="是否工作" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="单位性质" android:textSize="20dp" /> <RadioGroup android:id="@+id/rgCompanyType" android:layout_width="fill_parent" android:layout_height="wrap_content"> <RadioButton android:id="@+id/rbCompany1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="国营" /> <RadioButton android:id="@+id/rbCompany2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="私营" /> <RadioButton android:id="@+id/rbCompany3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="股份制" /> </RadioGroup> </LinearLayout>
主程序代码:
import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.CompoundButton.OnCheckedChangeListener; public class Main extends Activity implements OnCheckedChangeListener { //定义存在文件名称 private final String PREFERENCE_NAME = "survey"; private EditText name; private EditText habit; private CheckBox cbEmployee; private RadioGroup rgCompanyType; private RadioButton rbCompany1; private RadioButton rbCompany2; private RadioButton rbCompany3; @Override protected void onStop() { /** * 关闭程序调用,保存信息 */ SharedPreferences mySharedPreferences = getSharedPreferences( PREFERENCE_NAME, Activity.MODE_PRIVATE); SharedPreferences.Editor editor = mySharedPreferences.edit(); //获取要保持信息,进行存储 editor.putString("name", name.getText().toString()); editor.putString("habit", habit.getText().toString()); editor.putBoolean("employee", cbEmployee.isChecked()); editor.putInt("companyTypeId", rgCompanyType.getCheckedRadioButtonId()); //提交事务 editor.commit(); super.onStop(); } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { rbCompany1.setEnabled(isChecked); rbCompany2.setEnabled(isChecked); rbCompany3.setEnabled(isChecked); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); name = (EditText) findViewById(R.id.etName); habit = (EditText) findViewById(R.id.etHabit); cbEmployee = (CheckBox) findViewById(R.id.cbEmployee); rgCompanyType = (RadioGroup) findViewById(R.id.rgCompanyType); rbCompany1 = (RadioButton) findViewById(R.id.rbCompany1); rbCompany2 = (RadioButton) findViewById(R.id.rbCompany2); rbCompany3 = (RadioButton) findViewById(R.id.rbCompany3); //为单选按钮设置监听 cbEmployee.setOnCheckedChangeListener(this); /** * 获取SharedPreferences对象用于存储操作 * @parma name 文件名称 * @parma mode */ SharedPreferences sharedPreferences = getSharedPreferences( PREFERENCE_NAME, Activity.MODE_PRIVATE); /** * 设置初始默认值 * sharedPreferences调用get()方法获取对象中的值 * 第一个参数为取值的key,第二个参数为默认值 */ name.setText(sharedPreferences.getString("name", "")); habit.setText(sharedPreferences.getString("habit", "")); cbEmployee.setChecked(sharedPreferences.getBoolean("employee", false)); rgCompanyType.check(sharedPreferences.getInt("companyTypeId", -1)); onCheckedChanged(cbEmployee, cbEmployee.isChecked()); } }
发表评论
-
android中退出整个app应用程序
2012-07-19 13:45 1864可以通过一个列表来维护所有的activity,在需要退出的时候 ... -
有关Activity的Launch mode 以及Intent的setFlags(转载)
2012-05-15 15:02 0Activity有四种加载模式 ... -
android 开发的性能原则
2012-02-29 09:51 0手机的开发由于受到性能,电池等硬件的瓶颈,所以在开发应用的时候 ... -
android开发的9个原则
2011-11-15 14:43 9851:如果要使用全局文件,可以把变量放入Applacat ... -
Android开发之编程中15个很有用的代码片段
2011-11-15 14:23 9771:查看是否有存储卡插入 String status ... -
keytool生成数字证书
2011-11-01 14:03 1104JDK中keytool常用命令-genkey 在用户主目录中创 ... -
android中的http访问方式
2011-09-27 16:40 1649Android网络编程之Http通信 原创作品,允许 ... -
android开发综合应用之打分应用
2011-09-21 16:44 1685该程序是一个listView跟ratingbar综合的应用示例 ... -
android 开发之ratingbar
2011-09-21 16:25 2167RatingBar组件是一个打分组件,主要用于对应用打分,下面 ... -
android开发之Spinner组件
2011-09-21 08:54 2587Spinner组件组要用显示一个下拉列表,在使用中需要用到适配 ... -
eclipse中查看android的SDK源代码
2011-09-15 15:32 857原理: http://log4think.com/brow ... -
android开发之contentprovider(转)
2011-09-14 17:27 983ContentProvider的作用: 1、为存储和获取数据 ... -
设置android模拟器上网(转)
2011-08-31 11:10 1147很多网友也问到为啥自己在家的PC机可以上网,而运行在PC机上面 ... -
android基础开发之二intent(意图)用法
2011-08-29 15:27 2305android中不同的activity之间的切换主要是通过in ... -
android基础开发之一setContentView用法
2011-08-29 15:05 14685android开发中如果想实现布局页面的跳转可以使用setCo ... -
android连接真实手机
2011-08-29 10:09 1259用实现用真机调试你的程序,整个操作相当的方便简单 1、首先用 ... -
android中各种permissiond详解(转)
2011-08-29 10:04 1133Android应用程序在使用很多功能的时候必须在Mainife ...
相关推荐
在Android应用开发中,SharedPreference是一种轻量级的数据存储机制,用于存储小量的键值对数据,通常用于实现用户设置或应用配置的持久化。在这个"mooc_android_lesson20_SharedPreference登录功能"的课程中,我们...
【Android开发基础实例】是专为初学者设计的一系列Android编程教程,涵盖了Android开发的核心概念和技术。这个资源包包含了多个示例项目,旨在通过实践帮助学习者深入理解Android开发的关键知识点。 1. **...
介绍 学习Android开发的代码,基于AndroidStudio View_Demo是Android基础控件和布局,包括TextView,Edittext,ImageView,Button,RadioButton,Checkbox,ProgressBar和拖动条。 Adapter_Demo 是Adapter相关的代码...
首先,Android SDK是Android应用开发的基础工具集,它提供了必要的API库、调试工具、模拟器等,使得开发者能够在不同的平台上进行Android应用的构建和测试。这份源码集合中可能涵盖了从基础组件到高级功能的各种实例...
首先,Android游戏编程的基础是Java语言,因为Android系统主要基于Java进行开发。你需要熟悉Java的基本语法、面向对象编程概念,以及异常处理等基础知识。此外,理解Android SDK(软件开发工具包)的使用至关重要,...
源代码部分涵盖了从第二章到第十六章,这意味着我们可以学习到从基础到进阶的Android开发知识。以下是这些章节源代码所涉及的关键知识点: 1. **第二章:Android开发环境搭建** - 这一章通常会介绍如何安装并配置...
在Android平台上,Kotlin语言已经成为了开发者们首选的编程语言之一,尤其在开发电商项目时,Kotlin的优势更为显著。本项目"Android-kotlin开发商用的电商项目"旨在利用Kotlin的强大特性和Android SDK来构建一个高效...
1. **Android基础知识**:在学习源码之前,你需要了解Android的基本概念,包括Android系统架构、Activity生命周期、Intent机制等。源码中可能包含了如何启动Activity、处理Intent请求以及在不同生命周期方法中进行...
1. **Android基础知识**:书中源码会涵盖Android的基本架构,包括Activity、Service、BroadcastReceiver、ContentProvider等核心组件的使用。通过这些源码,你可以了解如何创建和管理应用的生命周期,以及如何在不同...
1. **Android2D游戏开发.txt**:这个文件可能包含了关于如何在Android平台上创建2D游戏的基础知识。这通常包括使用Android的SurfaceView或Canvas进行绘图,理解帧率控制,以及处理游戏循环的基本概念。 2. **输入法...
1. **Android基础知识**:这可能包括Android系统架构、开发环境的搭建(如Android Studio的安装与配置)、Android应用程序的基本组件(Activity、Service、BroadcastReceiver、ContentProvider)以及布局设计(XML...
《Android基础》课程标准是一门针对计算机及软件技术相关专业学生的专业核心课程,旨在培养学生使用Android技术进行应用程序开发的能力,同时培养良好的编程规范和职业习惯。课程内容分为知识目标、职业能力目标、...
1. **Android基础知识**:面试可能会包含Android系统架构、Activity生命周期、Intent机制、BroadcastReceiver、Service、ContentProvider等核心组件的理解与使用。 2. **布局与UI设计**:面试者可能需要熟悉XML布局...
4. **数据存储**:Android提供了多种数据存储方式,如SharedPreference用于轻量级偏好设置,SQLite数据库用于结构化数据,以及文件系统和ContentProvider等。理解这些存储方式的适用场景和使用方法是关键。 5. **...
《Android开发实战经典》这本书是Android开发者们的重要参考资料,它涵盖了Android应用开发的多个关键...这样的学习方式不仅有助于理论知识的理解,还能提升实际开发能力,为成为一名合格的Android开发者打下坚实基础。
《Google Android SDK开发范例大全(第2版)_源代码(全)》是一部全面介绍Android应用开发的实战性书籍,其配套源代码涵盖了从第三章到第十章的全部实例。这些章节深入浅出地讲解了Android SDK开发的关键技术和实践方法...
《Android应用源码之安卓高级开发教程》是一个包含313个案例的综合教程资源,旨在帮助开发者深入理解和掌握Android高级开发技术。这个压缩包文件包含了一系列以版本号命名的子文件,如10.1.rar到10.2.19.rar,这可能...
1. **Android应用基础**:学习这个项目前,开发者应具备基本的Android应用开发知识,包括Android Studio的使用、布局管理(如LinearLayout, RelativeLayout, ConstraintLayout等)、Activity和Fragment的生命周期、...