Android之外部存儲(SD卡)

*手機的外部存儲空間,這個我們可以理解成電腦的外接移動硬盤,U盤也行。所有的Android設備都有兩個文件存儲區域:“內部”和“外部”存儲器。這兩個名稱來自早期的Android,當時大多數設備都提供內置的固定的內存(內置存儲器)即ROM中的內部存儲,外加一個可移動的存儲介質,如micro SD卡(外部存儲器)。但也有些設備把固定不變的存儲空間分成“內部”和“外部”兩部分,這樣即使沒有可移動的存儲介質,也總會有兩個存儲空間,并且不管外部存儲器是可移動的,還是固定的,API的行為是相同的。

*?路徑: /mnt/sdcard/

*Environment類

getExternalStorageDirectory(); // 獲取sd卡的路徑

getExternalStorageState(); // 獲取sd卡的狀態

Environment.MEDIA_MOUNTED // 掛載狀態

Environment.MEDIA_UNMOUNTED // 卸載狀態


*?需要添加讀寫SD卡的權限
??????? <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
????????<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

?

// 檢查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 EditText	etPwd;private EditText	etQQ;private CheckBox	cbRemPwd;@Overrideprotected 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();}}}}

?


?

轉載于:https://www.cnblogs.com/loaderman/p/6430785.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371477.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371477.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371477.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通用并發對象池

在本文中&#xff0c;我們將介紹如何在Java中創建對象池。 近年來&#xff0c;JVM的性能成倍增加&#xff0c;大多數類型的對象幾乎都變得多余&#xff0c;從而提高了對象池的性能。 從本質上講&#xff0c;對象的創建不再像以前那樣昂貴。 但是&#xff0c;有些對象在創建時肯…

圓周率的代碼表示,以及對其的理解。

轉載的簡書&#xff0c;for 記錄以及記憶。 http://www.jianshu.com/p/7208e4a58310 Thanks again&#xff01; 轉載于:https://www.cnblogs.com/xiapeng0701/p/7538281.html

華為NOVa8Pr0是用鴻蒙系統嗎,華為Nova8即將發布,采用麒麟芯片,高端平板適配鴻蒙系統...

大家好&#xff0c;我是老孫自從華為Mate40系列發布后&#xff0c;下一步新機動態備受外界關注&#xff0c;華為究竟會不會繼續生產手機呢&#xff1f;答案是肯定&#xff0c;華為Nova8系列將于本月發布&#xff0c;華為P50系列也在積極籌備&#xff0c;而且都少不了麒麟芯片&a…

使用路標的Scala和Java的Twitter REST API

如果您已閱讀此博客上的其他文章&#xff0c;您可能會知道我喜歡創建各種數據集的可視化。 我剛剛開始一個小項目&#xff0c;在這里我想可視化來自Twitter的一些數據。 為此&#xff0c;我想直接從Twitter檢索有關關注者的信息和個人資料信息。 我實際上開始尋找一組所有推特帳…

大話設計模式讀書筆記--11.抽象工廠模式

定義 抽象工廠模式定義: 提供一個創建一系列相關或相關依賴對象的接口,而無需指定他們具體的類 抽象工廠模式通常是用于創建一族產品&#xff0c;并且這族產品分不同的等級&#xff1b;不同的具體工廠類生產不同等級的一族產品 比如下圖(來源于網絡) 兩廂車和三廂車稱為兩個不同…

在線壓縮html,JS代碼壓縮 - javascript代碼壓縮 - jsmin在線js壓縮工具

輸入代碼&#xff1a;// is.js// (c) 2001 Douglas Crockford// 2001 June 3// The -is- object is used to identify the browser. Every browser edition// identifies itself, but there is no standard way of doing it, and some of// the identification is deceptive. T…

Primefaces dataTable設置某個cell的樣式問題

設置primefaces dataTable的源網段列的Cell可以編輯&#xff0c;當回車鍵保存時&#xff0c;判斷是否輸入的網段合法&#xff0c;如果不合法就顯示警告信息&#xff0c;并將這個不合法的數據用紅色表示。問題是&#xff0c;怎么給這一個cell設定樣式。通過給標簽設定ID然后在后…

鴨子在Java中打字? 好吧,不完全是

根據維基百科&#xff0c;鴨子的打字是&#xff1a; 動態類型的類型&#xff0c;其中對象的方法和屬性確定有效的語義&#xff0c;而不是其從特定類或特定接口的實現繼承 用簡單的話 當我看到一只鳥走路像鴨子&#xff0c;游泳像鴨子&#xff0c;嘎嘎像鴨子一樣時&#xff0c…

前端學習路線

第一部分 HTML 第一章 職業規劃和前景 職業方向規劃定位&#xff1a; web前端開發工程師 web網站架構師 自己創業 轉崗管理或其他 web前端開發的前景展望&#xff1a; 未來IT行業企業需求最多的人才 結合最新的html5搶占移動端的市場 自己創業做老板 隨著互聯網的普及we…

p1164【立方體求和】

題目&#xff1a; SubRaY有一天得到一塊西瓜,是長方體形的....SubRaY發現這塊西瓜長m厘米,寬n厘米,高h厘米.他發現如果把這塊西瓜平均地分成m*n*h塊1立方厘米的小正方體,那么每一小塊都會有一個營養值(可能為負,因為西瓜是有可能壞掉的,但是絕對值不超過200).現在SubRaY決定從這…

html生成自定義表格,自定義js的表格插件

場景&#xff1a;指定元素&#xff0c;生成自定義表格。目的&#xff1a;了解js的插件開發。html代碼&#xff1a;自定義表格插件var test new MyTable({elid:"mytable",//定義哪個div要生成表單thead:{//指定列名name:"姓名",age:"年齡",addr:…

使用JBehave,Gradle和Jenkins的行為驅動開發(BDD)

行為驅動開發 &#xff08;BDD&#xff09;是一個協作過程 &#xff0c;產品負責人&#xff0c;開發人員和測試人員可以合作交付可為企業帶來價值的軟件。 BDD是 測試驅動開發 &#xff08;TDD&#xff09; 的合理下一步 。 行為驅動的發展 本質上&#xff0c;BDD是一種交付…

手型顯示html,css各種手型集合(css禁止手型)

html>css各種手型集合(css禁止手型).auto { cursor: auto; }.deafult { cursor: default; }.none { cursor: none; }.context-menu { cursor: context-menu; }.help { cursor: help; }.pointer { cursor: pointer; }.p…

Maven Fluido Skin和Javadoc類圖

我使用Maven網站已有一段時間了&#xff0c;對此我感到非常滿意。 我不想在Maven 3之后更新我的項目&#xff0c;但是沒關系&#xff0c;Maven 3帶來了許多新奇的東西。 但是&#xff0c;有兩件事使我感到煩惱&#xff1a;缺乏美觀和現代的外觀&#xff0c;以及瀏覽復雜代碼的J…

ZooKeeper安裝,部署

實驗環境 192.168.1.10  Zookeeper1:2181, Zookeeper2:2182 192.168.1.11  ZooKeeper3:2181 依賴環境 JDK1.7 安裝&#xff0c;配置 1、下載解壓 # 192.168.1.10cd /data/server tar -zxv -f zookeeper-3.4.6.tar.gz ln -s zookeeper-3.4.6 zookeeper1ln -s zookeeper-3.4.…

咸寧省2021年模擬高考成績查詢怎么查,2021咸寧市地區高考成績排名查詢,咸寧市高考各高中成績喜報榜單...

距離2018年高考還有不到一個月的時間了&#xff0c;很多人在準備最后沖刺的同時&#xff0c;也在關心高考成績。2018各地區高考成績排名查詢,高考各高中成績喜報榜單尚未公布&#xff0c;下面是往年各地區高考成績排名查詢,高考各高中成績喜報榜單&#xff0c;想要了解同學可以…

保證主題,JMS規范和ActiveMQ的消息傳遞

最近&#xff0c;一個客戶要求我仔細研究ActiveMQ的“持久”消息的實現&#xff0c;它如何應用于主題以及在存在非持久訂閱者的故障轉移方案中會發生什么。 我已經了解到&#xff0c;JMS語義規定&#xff0c;即使面對消息代理提供者失敗&#xff0c;也只能保證主題的持久訂戶以…

java中的除法及求余運算特殊性。

1.如果除法運算符的兩個操作數都是整數類型&#xff0c;則計算結果也是整數&#xff0c;就是將自然除法的結果截斷取整&#xff0c;例如19/4的結果是4&#xff0c;而不是5。并且除數不能0&#xff0c;否則將引起除0異常 2.如果運算符的兩個操作數有1個是浮點數&#xff0c;或兩…

林海峰老師python課件密碼

egon4573轉載于:https://www.cnblogs.com/fengjunhua/p/7395591.html

國際旅游管理專業跨專業考計算機,旅游管理考研我想跨專業考旅游管理專業的研究 – 手機愛問...

2005-12-11我是學旅游管理的大一學生,聽人說這專業就這位兄弟提出的苦惱在大學生中很典型呀!其實你說的不盡然!旅游管理專業,是個很有前景的專業呀!怎么會沒有前途呀?你對自己的人生也太悲觀了吧?就是你說,學校不太好,這可能對自身在大學四年的發展有所限制,但這主要還是看自…