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();    }}














更多相关文章

  1. 小米开源文件管理器MiCodeFileExplorer-源码研究(9)-入口分析
  2. android studio如何连接夜神模拟器
  3. win7 Android(安卓)ADB Interface驱动 找不到指定文件的解决办法
  4. 使用Android(安卓)Studio打包生成Jar包
  5. Android(安卓)处理内存泄露的方法
  6. Android(安卓)数据存储——shared preferences
  7. Urban Airship Android(安卓)Client - Helium Push
  8. Android(安卓)反编译资料整理
  9. Android(安卓)编译系统 (一)

随机推荐

  1. APP横竖屏不切换,不重走生命周期
  2. Android欢迎界面动画与跳转
  3. android-监听来电和去电
  4. Android(安卓)animation-list动画
  5. android相关技术文档汇总
  6. Android中WebView获取网页中标题 ,内容,
  7. android 延时 不用另起线程或timertask
  8. android体系架构
  9. Android中有用的组件被选中和按下去的变
  10. Android通过RSA加密解密实现License