数据存储

来源:互联网 发布:怎么查看淘宝等级手机 编辑:程序博客网 时间:2024/06/05 08:29

一、数据存储的几种方式
1.文件存储
2.share Preference存储
3.数据库SQLite
4.网络存储
二、文件存储
适合用于存储一些简单的数据或二进制数据,具体步骤如下

package com.example.mysharedpreference;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.TextUtils;import android.widget.EditText;import android.widget.Toast;public class Filesave  extends Activity{    private EditText edit;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.filesave);        edit=(EditText) findViewById(R.id.edit);        String inputString = load();//获取保存的数据        if(!TextUtils.isEmpty(inputString) ){            edit.setText(inputString);            edit.setSelection(inputString.length());//将光标移动到文本末尾位置以便于继续输入。            Toast.makeText(this, "猪头", Toast.LENGTH_LONG).show();        }    }    private String load() {        FileInputStream in =null;        BufferedReader reader =null;        StringBuilder content = new StringBuilder();        try {            in = openFileInput("data");//该方法用于从文件中读取数据,参数为要读取的文件名            //该方法返回一个FileInputStream对象,得到这个对象后依然用Java流读取数据即可。            reader = new BufferedReader(new InputStreamReader(in));            String line ="";            try {                while( (line=reader.readLine() )!= null ){                    content.append(line);                           }            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            if(reader != null){                try {                    reader.close();                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            }        }        return content.toString();    }    @Override    protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        String inputString = edit.getText().toString();        save(inputString);    }    private void save(String inputString) {        // TODO Auto-generated method stub        FileOutputStream out =null;        BufferedWriter writer =null;        try {            out = openFileOutput("data", Context.MODE_PRIVATE);//该方法将数据存储到指定的文件中,            //该方法两个参数,第一个是文件名,不包含路径,第二个参数是文件的操作模式,Mode_Private和Mode_Append            //两种,第一种是当同样文件名时写入的内容将会覆盖原来文件内容,第二种模式是会在原来文件后面追加。            //该方法返回一个FileOutputStream对象,得到该对象后运用Java流的方式将数据写入文件中。            writer =new BufferedWriter(new OutputStreamWriter(out));//        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

三、SharedPreference存储

SharedPreference是使用键值对的方式存储数据,支持多种数据类型,依然适用于简单数据存储。

package com.example.mysharedpreference;import android.support.v7.app.ActionBarActivity;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.preference.PreferenceManager;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;public class MainActivity extends ActionBarActivity {    private TextView text;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        text = (TextView) findViewById(R.id.text);        SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(this);        //先获得SharedPreferences对象。        Editor edit = pre.edit();        //再调用.edit()来获得SharedPreferences。Editor对象        edit.putString("name", "杨振");        //向对象中添加数据,使用键值对的方法。在此我手动先添加了一个数据,则当打开应用是会自动读取到该数据        edit.commit();        //数据添加完后提交,完成数据存储。        text.setText(pre.getString("name", "hhh")+"是猪头");        //通过getString("键",“默认值”)的方法获取SharedPreferences中的数据    }}

四、数据库存储,明天看完了再写( ^_^ )

0 0