Android(安卓)存储
16lz
2021-01-26
android存储
内部存储:
ARM内存:运行内存,相当于电脑的内存
ROM内存:存储内存,相当于电脑的硬盘
开发是不需要权限
外部存储:
SD卡相当于电脑的移动硬盘
2.2之前,存储路径sdcard
4.3之前,存储路径mnt/sdcard
4.3开始,存储路径storage/sdcard
需要权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>内部存储
<?xml version="1.0" encoding="utf-8"?>
package chat.ncsyeyy.com.yeyynbcc;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.CheckBox;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.InputStreamReader;/** * android 的存储 * 内部存储 * RAM内存:运行内存,相当于电脑的内存 * ROM内存:存储内存,相当电脑的硬盘 * 外部存储 * SD卡相当于电脑的移动硬盘 */public class MainActivity extends AppCompatActivity { private EditText etName; private EditText etPass; private CheckBox cb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etName = (EditText) findViewById(R.id.et_name); etPass = (EditText) findViewById(R.id.et_pass); cb = (CheckBox) findViewById(R.id.cb); readAccount(); }// 读文件 private void readAccount() {// File file=new File("data/data/chat.ncsyeyy.com.yeyynbcc/info.txt");// 返回一个File对象,其路径是data/data/chat.ncsyeyy.com.yeyynbcc/files// File file=new File(getFilesDir(),"info.txt");// 返回一个File对象,其路径是data/data/chat.ncsyeyy.com.yeyynbcc/cache// getCacheDir()缓存文件夹,内存不足会被删掉 File file=new File(getCacheDir(),"info.txt"); if (file.exists()){ try { FileInputStream fis=new FileInputStream(file);// 把字节流转换成字符流 BufferedReader br=new BufferedReader(new InputStreamReader(fis));// 读取txt文件里的用户名和密码 String text=br.readLine(); String []s=text.split("__"); etName.setText(s[0]); etPass.setText(s[1]); } catch (Exception e) { e.printStackTrace(); } } }// 写文件 public void login(View view) { String name=etName.getText().toString(); String pass=etPass.getText().toString(); if (cb.isChecked()){// 写文件// data/data/chat.ncsyeyy.com.yeyynbcc内部存储的路径// File file=new File("data/data/chat.ncsyeyy.com.yeyynbcc/info.txt"); File file=new File(getFilesDir(),"info.txt"); FileOutputStream fos= null; try { fos = new FileOutputStream(file); fos.write((name+"__"+pass).getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show(); } public void waibu(View view) { Intent intent=new Intent(); intent.setClass(MainActivity.this,WaiBuActivity.class); startActivity(intent); }}
外部存储
package chat.ncsyeyy.com.yeyynbcc;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.widget.CheckBox;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.InputStreamReader;/** * Created by yeyy on 2016/7/8. * 外部存储: * SD卡相当于电脑的移动硬盘 * 2.2之前,文件路径sdcard * 4.3之前,文件路径mnt/sdcard * 4.3开始,storage/sdcard */public class WaiBuActivity extends Activity { private EditText etName; private EditText etPass; private CheckBox cb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.waibu); etName = (EditText) findViewById(R.id.et_name); etPass = (EditText) findViewById(R.id.et_pass); cb = (CheckBox) findViewById(R.id.cb); readAccount(); } // 读文件 private void readAccount() {// File file=new File("sdcard/info.txt");// 返回一个File对象,其路径是sd卡的真实路径 File file = new File(Environment.getExternalStorageDirectory(), "info.txt"); if (file.exists()) { try { FileInputStream fis = new FileInputStream(file);// 把字节流转换成字符流 BufferedReader br = new BufferedReader(new InputStreamReader(fis));// 读取txt文件里的用户名和密码 String text = br.readLine(); String[] s = text.split("__"); etName.setText(s[0]); etPass.setText(s[1]); } catch (Exception e) { e.printStackTrace(); } } } // 写文件 public void login(View view) { String name = etName.getText().toString(); String pass = etPass.getText().toString(); if (cb.isChecked()) {// MEDIA_UNKNOWN 不能识别sd卡// MEDIA_REMOVED 没有sd卡// MEDIA_UNMOUNTED sd卡存在但是没有挂载// MEDIA_CHECKING sd卡正在准备// MEDIA_MOUNTED sd卡已经挂载,可用// 判断sd卡 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {// 写文件 File file = new File(getFilesDir(), "info.txt"); FileOutputStream fos = null; try { fos = new FileOutputStream(file); fos.write((name + "__" + pass).getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } }else { Toast.makeText(this,"sd卡不可用哦",Toast.LENGTH_LONG).show(); } Toast.makeText(WaiBuActivity.this, "登录成功", Toast.LENGTH_LONG).show(); }}
更多相关文章
- 小米开源文件管理器MiCodeFileExplorer-源码研究(9)-入口分析
- android studio如何连接夜神模拟器
- win7 Android(安卓)ADB Interface驱动 找不到指定文件的解决办法
- 使用Android(安卓)Studio打包生成Jar包
- Android(安卓)处理内存泄露的方法
- Android(安卓)数据存储——shared preferences
- Urban Airship Android(安卓)Client - Helium Push
- Android(安卓)反编译资料整理
- Android(安卓)编译系统 (一)