*手机的外部存储空间,这个我们可以理解成电脑的外接移动硬盘,U盘也行。所有的Android设备都有两个文件存储区域:“内部”和“外部”存储器。这两个名称来自早期的Android,当时大多数设备都提供内置的固定的内存(内置存储器)即ROM中的内部存储,外加一个可移动的存储介质,如micro SD卡(外部存储器)。但也有些设备把固定不变的存储空间分成“内部”和“外部”两部分,这样即使没有可移动的存储介质,也总会有两个存储空间,并且不管外部存储器是可移动的,还是固定的,API的行为是相同的。

* 路径: /mnt/sdcard/

*Environment类

getExternalStorageDirectory(); // 获取sd卡的路径

getExternalStorageState(); // 获取sd卡的状态

Environment.MEDIA_MOUNTED // 挂载状态

Environment.MEDIA_UNMOUNTED // 卸载状态

* 需要添加读写SD卡的权限

// 检查SD卡是不插入和拔出

public boolean isSdMounted(View view) {

String staus = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(staus)) {

System.out.println("插入了SD卡");

return true;

} else if (Environment.MEDIA_UNMOUNTED.equals(staus)) {

System.out.println("SD卡被拔出了");

return false;

}

return false;

}

// 获取SD卡的路径

public String getSdPath(View v) {

File file = Environment.getExternalStorageDirectory();

String path = file.getAbsolutePath();

return path;

}

// 获取SD卡可用空间

@SuppressLint("NewApi")

public long getSdFreeSpace(View v) {

File file = Environment.getExternalStorageDirectory();

return file.getFreeSpace();

// 格式化大小

}

package com.example.qq;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.InputStreamReader;

import android.os.Bundle;

import android.app.Activity;

import android.text.TextUtils;

import android.view.Menu;

import android.view.View;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity {

private EditTextetPwd;

private EditTextetQQ;

private CheckBoxcbRemPwd;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

etPwd = (EditText) findViewById(R.id.et_pwd);

etQQ = (EditText) findViewById(R.id.et_qq);

cbRemPwd = (CheckBox) findViewById(R.id.cb_rem_pwd);

readData();

}

/**

* 从文件中读取数据显示在界面上

*/

private void readData() {

File file = new File("/mnt/sdcard/waibu.txt");

try {

FileInputStream fis = new FileInputStream(file);

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

String text = br.readLine();

String[] content = text.split("==");

String qq = content[0];

String pwd = content[1];

//把QQ号码和密码显示在文本输入框

etQQ.setText(qq);

etPwd.setText(pwd);

br.close();

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 1. 获取用户输入的QQ号码和密码

* 2. 做非空判断

* 3. 如果用户勾选了复选框,用文件存储密码

*/

public void gelogin(View v){

//System.out.println("点击了按钮");

String pwd = etPwd.getText().toString().trim();

String qq = etQQ.getText().toString().trim();

if(TextUtils.isEmpty(pwd) || TextUtils.isEmpty(qq)){

Toast.makeText(this, "亲,请输入QQ号码或者密码哦 :) ", 0).show();

return;

}

//判断用户是否勾选复选框

boolean checked = cbRemPwd.isChecked();

if (checked) {

//用文件存储密码

try {

File file = new File("/mnt/sdcard/waibu.txt");

FileOutputStream fos = new FileOutputStream(file);

String text = qq+"=="+pwd;

fos.write(text.getBytes());

//释放资源

fos.close();

Toast.makeText(this, "密码存储成功,/mnt/sdcard/waibu.txt", 0).show();

} catch (Exception e) {

e.printStackTrace();

Toast.makeText(this, "存储失败了 :( ", 0).show();

}

}

}

}

存储当时android,Android之外部存储(SD卡)相关推荐

  1. android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决

    1.相关代码: 加入权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ...

  2. android 清空数组缓存,Android数据持久化之读写SD卡中内容的方法详解

    本文实例讲述了Android数据持久化之读写SD卡中内容的方法.分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput.openFileInput虽然都能通过流对象O ...

  3. android 扫描手机内存和SD卡,获取手机的视频、音频文件。把获取不到的文件扫描出来

    网上查了下android手机扫描内存或者SD卡里面的音频或者视频文件,进行显示.但是有些视频或者音频扫描不出来.有其中一个原因是当你添加了一个视频或者音频文件后,手机自身没有重新进行扫描.只有手机重启 ...

  4. android模拟器找不到sd卡,在Android模拟器bluestacks中打开虚拟SD卡的方法的详细说明...

    安装Android模拟器后,每个人都可以在计算机上的Android手机上玩一些游戏,但不是全部. 由于某些游戏带有数据包,我该如何使用Android模拟器运行带有数据包的游戏?以下5068QQ游戏将告 ...

  5. android 源码分析 内置 sd storage,Android开罐头———外部存储与内部存储完全解析...

    context.getExternalFilesDir(),Environment.getExternalStorageDirectory(),傻傻分不清?到底什么算安卓手机的external sto ...

  6. android 存储无法写入,在Android中的外部存储中写入文件

    我想在外部存储sdCard中创建一个文件并写入它.我已经通过互联网搜索并尝试但没有得到结果,我已经在Android Manifest文件中添加了权限,我在模拟器上这样做,我正在尝试下面的代码和获取ER ...

  7. 【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )

    文章目录 一.外部存储设备文件 二.sbin 命令程序目录 三.dev 字符设备目录 一.外部存储设备文件 /sdcard 文件是一个链接 , 相当于快捷方式 , 其实际的目录是 /storage/s ...

  8. android Q版本外部存储问题以及获取空间大小问题

    Q版本: 1.在manifest 文件中添加权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST ...

  9. android系统能内存卡,手机SD卡可以作为内置存储吗? 安卓6.0将支持microSD卡作为内置存储...

    过去不少厂商为了引导用户选择存储空间更大更昂贵的机型,纷纷取消了外置存储卡的功能.然而大部分用户自始至终都更青睐支持外置存储卡的手机,这也迫使手机厂商调整策略.现在就连一向排斥外置存储卡的谷歌也在安卓 ...

  10. Android文件存储与读取(手机内存、SD卡)

    1.activity_main.xml文件中 <!-- 保存数据到手机内存中 --><Buttonandroid:id="@+id/btnSave"android ...

最新文章

  1. 遗传:微生物组数据分析方法与应用
  2. Elasticsearch索引(company)_Centos下CURL增删改
  3. IE浏览器与非IE浏览器JS日期兼容性问题处理
  4. 异构图-GTN(Graph Transformer Networks)
  5. Alpha版(内部测试版)发布
  6. oracle vm中的xp添加共享文件夹
  7. Java EE 8:社区想要什么?
  8. Chrome 69正式版浏览器遭批 恢复完整显示域名
  9. opc怎么在计算机上测试,OPC测试
  10. 中央气象台天气预报api调用
  11. 安装Ubuntu 12.04
  12. php 执行shell命令的函数
  13. 小米笔记本linux指纹,小米笔记本Air13.3寸指纹版(128GB) u盘装系统win10步骤
  14. html修改鼠标手势,css设置鼠标手势的方法
  15. UVM-factory机制
  16. python多变量相关性分析_两个变量与因变量相关性分析_spss多变量相关性分析
  17. Paused before potential out-of-memory crash页面崩溃
  18. python学习笔记_week19
  19. 打印机乱码解决方案(未验证)
  20. WEB前端面试常见的问题及答案

热门文章

  1. 【英语学习】【医学】有机化学 - 烷的命名
  2. diskgenius 单文件_电脑数据恢复及分区管理软件DiskGenius 英文专业版
  3. 在vscode运行js 输出会合并_前端系列——JS的运行与输出
  4. windows操作系统_windows操作系统如何格式化u盘【操作方法】
  5. Openssl证书管理
  6. OpenGL中投影矩阵(Projection Matrix)详解
  7. python特征选择后显示选取的特征名_python实现求特征选择的信息增益
  8. npoi excel 复制行_Excel的格式刷功能你真的会用吗?这样刷更加方便快捷
  9. [OpenGL ES 02]OpenGL ES渲染管线与着色器
  10. UE4 Packaging and Cooking Games