AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>                                                                                        
Actvity 部分:
<?xml version="1.0" encoding="utf-8"?>            
源码部分:package com.example.sddemo;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import android.Manifest;import android.content.pm.PackageManager;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.RandomAccessFile;public class MainActivity extends AppCompatActivity {    private static final String TAG = MainActivity.class.getSimpleName();    private static final String FILE_NAME="Arctan.txt";    private static final int writeCode = 0x123;    private static final int readCode = 0x456;    private Button btRead;    private Button btWrite;    private EditText editW;    private EditText editR;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btRead = findViewById(R.id.btRead);        btWrite = findViewById(R.id.btWrite);        editR = findViewById(R.id.read);        editW = findViewById(R.id.write);        Log.d(TAG, "onCreate: "+Environment.getExternalStorageDirectory());        btWrite.setOnClickListener(new View.OnClickListener(){            @Override            public void onClick(View v) {                requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},                                MainActivity.writeCode);            }        });        btRead.setOnClickListener(view->requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},                        MainActivity.readCode));        //        Log.d(TAG, "onCreate: "+ Environment.getExternalStorageDirectory());    }    private String read(){        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){            File sdDir = Environment.getExternalStorageDirectory();            try{                FileInputStream fis = new FileInputStream(sdDir.getCanonicalPath()+"/"+FILE_NAME);                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis));                StringBuilder sb = new StringBuilder();                String line = null;                while((line=bufferedReader.readLine())!=null){                    sb.append(line);                }                return sb.toString();            }catch (IOException e){                Log.d(TAG, "read:catch");                e.printStackTrace();            }        }        return null;    }    private void write(String content){        File sdDir = Environment.getExternalStorageDirectory();        try{            Log.d(TAG, "write: path "+sdDir.getCanonicalPath());            File targetFile = new File(sdDir.getCanonicalFile()+"/"+FILE_NAME);            RandomAccessFile raf = new RandomAccessFile(targetFile,"rw");            raf.seek(targetFile.length());            raf.write(content.getBytes());            raf.close();        }catch (IOException e){        }    }    @Override    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {        Log.d(TAG, "onRequestPermissionsResult: peris "+Integer.toHexString(requestCode)+" pac "+ PackageManager.PERMISSION_GRANTED);        if(requestCode == MainActivity.writeCode){            if(grantResults != null && grantResults[0]==PackageManager.PERMISSION_GRANTED ){                Log.d(TAG, "onRequestPermissionsResult: writeCode");                write(editW.getText().toString());            }else{                Toast.makeText(MainActivity.this,R.string.write_warning,Toast.LENGTH_LONG).show();            }        }else if(requestCode == MainActivity.readCode){            if(grantResults != null && grantResults[0]==PackageManager.PERMISSION_GRANTED ){                Log.d(TAG, "onRequestPermissionsResult: readCode");                editR.setText(read());            }else{                Toast.makeText(MainActivity.this,R.string.read_warning,Toast.LENGTH_LONG).show();            }        }    }}

更多相关文章

  1. android studio debug framework
  2. android MediaPlayer 错误代码(error code)总结
  3. PointerLocationView 源码分析
  4. android仿苹果Iphone桌面源码
  5. Android(安卓)开发艺术探索 源码地址
  6. Android(安卓)源码编译so,jar
  7. Android中倒计时代码
  8. ubuntu下Android源码下载编译运行,单独编译运行
  9. 转行Android后第一次面试某鹅被坑,那些一毕业就进大厂的程序员,有

随机推荐

  1. [置顶] Android下通过pocketsphinx实现离
  2. Android(安卓)5.0 权限管理导致的apk安装
  3. 【Android(安卓)Training - 06】分享数据
  4. 改变Android状态栏字体为黑色
  5. Android(安卓)数据持久化(SQLite数据存储)
  6. Android仿微信文章悬浮窗效果的实现代码
  7. 图像处理-矩阵变换
  8. Android(安卓)drawable resource error:No
  9. Android线程与并行,AsyncTask(AsyncTask回
  10. 关于监听Android的静音键以及音量按键