移动应用开发 实验报告9 Android数据存储技术-SD卡存储
一、实验目的 熟悉java.io.File、java.io.FileOutputStream、java.io.PrintStream; 熟悉android中的SD卡存储。 |
二、实验内容 使用SharedPreferences完成数据的存储功能,将指定的数据以文件形式存放在SD卡内 |
三、实验原理 1.利用Activity提供的文件操作方法。此方法的所有文件路径只能是“\data\data\<package name>\file\文件名称” 2.利用Java IO流执行操作。此类操作的文件可以是任意路径。需要授予权限。 |
四、实验代码及结果 package com.example.Luz;
import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream;
import com.example.Luz.R;
import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.widget.Toast;
public class MainActivity extends Activity { private static final String FILENAME = "Luz_file.txt" ; private static final String DIR = "Luz_data" ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File file = new File(Environment.getExternalStorageDirectory() + File.separator + DIR + File.separator + FILENAME); if(!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } PrintStream out = null; try { out = new PrintStream(new FileOutputStream(file)) ; out.println("huzhou university,2018082107,Luz") ; } catch (Exception e) { e.printStackTrace(); } finally { if(out != null) { out.close(); } } }else { Toast.makeText(this, "保存失败,SD卡不存在!", Toast.LENGTH_LONG).show() ; } }
}
|
五、试验分析(思考) 程序先使用Environment类的getExternamStorageState()方法判断是否存在SDcard,如果存在,则使用追加的方式像SD卡写入\ Luz_data文件夹与Luz_file.txt文件,如果不存在,则使用Toast组件向用户提示错误信息. |