数据存储
2016-03-24 23:27
260 查看
一、数据存储的几种方式
1.文件存储
2.share Preference存储
3.数据库SQLite
4.网络存储
二、文件存储
适合用于存储一些简单的数据或二进制数据,具体步骤如下
三、SharedPreference存储
SharedPreference是使用键值对的方式存储数据,支持多种数据类型,依然适用于简单数据存储。
四、数据库存储,明天看完了再写( ^_^ )
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中的数据 } }
四、数据库存储,明天看完了再写( ^_^ )