Android开发——补充SharedPreferences存储(跨Activity存取数据)
来源:互联网 发布:淘宝店主最后说两句 编辑:程序博客网 时间:2024/06/04 18:05
平安夜晚上我们自学了简单的SharedPreferences存储,今天课上老师又讲了一遍,我们又学了一招,跨Activity存取数据。不过我们把前面的几种存储这样系统学过来就觉得这个也不是很难嘛,可以接受。
我们两个Activity那么就有两个布局文件,一个用来保存和获取数据,一个用来取别人的数据。
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" tools:context="com.example.datasave.MainActivity" > <EditText android:id="@+id/main_et_writedata" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请写入数据" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="写入" android:onClick="write"/> <EditText android:id="@+id/main_et_readdata" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请读取数据" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="读取" android:onClick="read"/></LinearLayout>取数据的就写一个TextView就好。
MainActivity.java
package com.example.datasave4;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.RandomAccessFile;import com.example.datasave.Utils.ToastUtil;import android.app.Activity;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.widget.EditText;/** * @author Squid *从SD卡上读写数据 */public class MainActivity extends Activity {private final String FILE_NAME = "squid4.txt";// 文件名private EditText mEt_writeData, mEt_readData;private SharedPreferences sp;//声明SharedPreferences对象@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mEt_writeData = (EditText) findViewById(R.id.main_et_writedata);mEt_readData = (EditText) findViewById(R.id.main_et_readdata);}// 写入按钮的监听public void write(View view) {//实例化SharedPreferences对象/* * 1.MODE_APPEND:追加形式 * 2.MODE_PRIVATE:只能本应用程序访问 * 3.MODE_WORLD_READABLE:其他程序进行读取 * 4.MODE_WORLD_WRITEABLE:其他程序可以进行写入 */String content=mEt_writeData.getText().toString();sp=getSharedPreferences(FILE_NAME, MODE_APPEND);Editor edit=sp.edit();edit.putString("content", content);/*//key值相同时覆盖,不是追加edit.putString("content", "123");*/edit.putString("username", "squid");edit.putString("password", "squid");edit.putBoolean("isLogin", false);//同步,将数据提交到内存的同时,提交到磁盘上edit.commit();/*//不是同步的,先提交到内存,在提交到磁盘上edit.apply();*/mEt_writeData.setText("");ToastUtil.showToast(this, "保存成功");}// 读取按钮的监听public void read(View view) {/* * 第一个参数:key值 * 第二个参数:如果取不到key值对应的Value值则为默认值 */String content=sp.getString("content", "");String contents=sp.getString("contents",""+"========");boolean isLogin = sp.getBoolean("isLogin", false);String info=content+contents+isLogin+"";mEt_readData.setText(info);ToastUtil.showToast(this, "读取成功");}}TestActivity.java
package com.example.datasave4;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;/** * @author Squid *只能进行六大基本数据的存储 */public class TestActivity extends Activity {private TextView mTv_showText;private SharedPreferences sp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);mTv_showText=(TextView)findViewById(R.id.test_tv_showText);sp=getSharedPreferences("squid4.txt", MODE_APPEND);String content=sp.getString("content", "");sp.edit().putString("contents", content).commit();mTv_showText.setText(content);}}
还有一个封装好的toast
package com.example.datasave.Utils;import android.content.Context;import android.widget.Toast;/** * @author Squid * */public class ToastUtil {/** * 显示的Toast内容 * @param context:上下文环境 * @param text:需要显示的内容 */public static void showToast(Context context,String text){Toast.makeText(context, text, Toast.LENGTH_SHORT).show();}}
我们想存数据的时候先用MainActivity,在manifest文件把程序的入口设置为MainActivity;想要读取数据的时候,在manifest文件把程序的入口设置为MainActivity。
1 0
- Android开发——补充SharedPreferences存储(跨Activity存取数据)
- android 数据存取——SharedPreferences
- Android开发笔记(二十九)使用SharedPreferences存取数据
- android:实现activity跳转,activity数据存储(SharedPreferences)
- android开发———数据存储之SharedPreferences
- Android数据存储——SharedPreferences存储
- Android 存取数据之SharedPreferences
- android utils SharedPreferences存取数据
- Android:使用SharedPreferences存取数据
- Android初级开发(六)——1、SharedPreferences数据存储
- Android——SharedPreferences数据存储
- Android——数据存储之SharedPreferences
- Android数据存储——SharedPreferences
- Android存储数据方法——SharedPreferences
- Android数据存储 —— SharedPreferences
- Android——SharedPreferences存储数据方式
- Android数据存储——SharedPreferences
- Android数据存储之——SharedPreferences
- UVA455
- jQuery知识结构图
- C++ 引用 “&”
- (4)javascript模块化之AMD规范
- 快速排序法
- Android开发——补充SharedPreferences存储(跨Activity存取数据)
- ubuntu解压命令全览
- [SPOJ1812]LCS2 - Longest Common Substring II(后缀自动机)
- eclipse的color主题配置
- python测试图片是否存在
- nginx 学习笔记 - 配置HTTPS服务器
- BZOJ 1036: [ZJOI2008]树的统计Count (树链剖分+线段树)
- 写作神器——Latex
- http协议之request案例一:获取浏览器类型