赞
踩
全面掌握SharePreferences和android里的IO
- import android.app.Activity;
- import android.content.SharedPreferences;
- import android.os.Bundle;
-
- public class PermissionActivity extends Activity {
- private final int[] MODES=new int[]{
- Activity.MODE_PRIVATE,//默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Activity.MODE_APPEND
- Activity.MODE_WORLD_READABLE,//表示当前文件可以被其他应用读取,
- Activity.MODE_WORLD_WRITEABLE,//表示当前文件可以被其他应用写入;
- //如果希望文件被其他应用读和写,可以传入:Activity.MODE_WORLD_READABLE+Activity.MODE_WORLD_WRITEABLE
- Activity.MODE_APPEND//该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
- };
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- for(int i=0;i<MODES.length;i++){
- SharedPreferences mySharedPreferences=getSharedPreferences("data_"+String.valueOf(i+1),MODES[i]);
- SharedPreferences.Editor editor=mySharedPreferences.edit();
- editor.putString("name",String.valueOf(i+1));
- editor.commit();
- }
- }
- }
- Activity.MODE_PRIVATE,//默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Activity.MODE_APPEND
- Activity.MODE_WORLD_READABLE,//表示当前文件可以被其他应用读取,
- Activity.MODE_WORLD_WRITEABLE,//表示当前文件可以被其他应用写入;
- //如果希望文件被其他应用读和写,可以传入:Activity.MODE_WORLD_READABLE+Activity.MODE_WORLD_WRITEABLE
- Activity.MODE_APPEND//该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
2.Context下还提供其他的方法
- package org.crazyit.io;
-
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import java.io.RandomAccessFile;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Environment;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
-
- /**
- *
- * @author qiyue
- *
- */
- public class SDCardTest extends Activity
- {
- final String FILE_NAME = "/crazyit.bin";
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 获取两个按钮
- Button read = (Button) findViewById(R.id.read);
- Button write = (Button) findViewById(R.id.write);
- // 获取两个文本框
- final EditText edit1 = (EditText) findViewById(R.id.edit1);
- final EditText edit2 = (EditText) findViewById(R.id.edit2);
- // 为write按钮绑定事件监听器
- write.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View source)
- {
- // 将edit1中的内容写入文件中
- write(edit1.getText().toString());
- edit1.setText("");
- }
- });
-
- read.setOnClickListener(new OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- // 读取指定文件中的内容,并显示出来
- edit2.setText(read());
- }
- });
- }
-
- private String read()
- {
- try
- {
- // 如果手机插入了SD卡,而且应用程序具有访问SD的权限
- if (Environment.getExternalStorageState().equals(
- Environment.MEDIA_MOUNTED))
- {
- // 获取SD卡对应的存储目录
- File sdCardDir = Environment.getExternalStorageDirectory();
- // 获取指定文件对应的输入流
- FileInputStream fis = new FileInputStream(
- sdCardDir.getCanonicalPath() + FILE_NAME);
- // 将指定输入流包装成BufferedReader
- BufferedReader br = new BufferedReader(new
- InputStreamReader(fis));
- StringBuilder sb = new StringBuilder("");
- String line = null;
- // 循环读取文件内容
- while ((line = br.readLine()) != null)
- {
- sb.append(line);
- }
- // 关闭资源
- br.close();
- return sb.toString();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- return null;
- }
-
- private void write(String content)
- {
- try
- {
- // 如果手机插入了SD卡,而且应用程序具有访问SD的权限
- if (Environment.getExternalStorageState().equals(
- Environment.MEDIA_MOUNTED))
- {
- // 获取SD卡的目录
- File sdCardDir = Environment.getExternalStorageDirectory();
- File targetFile = new File(sdCardDir
- .getCanonicalPath() + FILE_NAME);
- // 以指定文件创建 RandomAccessFile对象
- RandomAccessFile raf = new RandomAccessFile(
- targetFile, "rw");
- // 将文件记录指针移动到最后
- raf.seek(targetFile.length());
- // 输出文件内容
- raf.write(content.getBytes());
- // 关闭RandomAccessFile
- raf.close();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。