-->
当前位置:首页 > 题库 > 正文内容

移动应用开发 实验报告9 Android数据存储技术-SD卡存储

Luz4年前 (2021-08-08)题库1258

一、实验目的

熟悉java.io.Filejava.io.FileOutputStreamjava.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() ;

        }

    }

   

}

 

image.png

image.png

 

五、试验分析(思考)

程序先使用Environment类的getExternamStorageState()方法判断是否存在SDcard,如果存在,则使用追加的方式像SD卡写入\ Luz_data文件夹与Luz_file.txt文件,如果不存在,则使用Toast组件向用户提示错误信息.


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。