讀取和存儲
㈠ 數據存儲和讀取該怎麼實現
Android應用開發中,給我們提供了5種數據的存儲方式
1 使用SharedPreferences存儲數據
2 文件存儲數據
3 SQLite資料庫存儲數據
4 使用ContentProvider存儲數據
5 網路存儲數據
不同的業務邏輯,或者需求,用不同的實現方式,以下是這幾中數據存儲方式的說明用及法:
第一種: 使用SharedPreferences存儲數據
SharedPreferences是Android平台上一個輕量級的存儲類,主要是保存一些常用的配置比如窗口狀態,一般在Activity中 重載窗口狀態onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常規的Long長 整形、Int整形、String字元串型的保存。
以下為示例代碼:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//獲取SharedPreferences對象
Context ctx = MainActivity.this;
SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE);
//存入數據
Editor editor = sp.edit();
editor.putString("STRING_KEY", "string");
editor.putInt("INT_KEY", 0);
editor.putBoolean("BOOLEAN_KEY", true);
editor.commit();
//返回STRING_KEY的值
Log.d("SP", sp.getString("STRING_KEY", "none"));
//如果NOT_EXIST不存在,則返回值為"none"
Log.d("SP", sp.getString("NOT_EXIST", "none"));
}
}
第二種: 文件存儲數據
關於文件存儲,Activity提供了openFileOutput()方法可以用於把數據輸出到文件中,具體的實現過程與在J2SE環境中保存數據到文件中是一樣的。
文件可用來存放大量數據,如文本、圖片、音頻等。
默認位置:/data/data/ >/files/***.***。
代碼示例:
public void save(){
try {
FileOutputStream outStream=this.openFileOutput("a.txt",Context.MODE_WORLD_READABLE);
outStream.write(text.getText().toString().getBytes());
outStream.close();
Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
return;
}
catch (IOException e){
return ;
}
}
第三種: SQLite資料庫存儲數據
SQLite是輕量級嵌入式資料庫引擎,它支持 SQL 語言,並且只利用很少的內存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla, PHP, Python)都使用了 SQLite。
SQLite 由以下幾個組件組成:SQL 編譯器、內核、後端以及附件。
SQLite 通過利用虛擬機和虛擬資料庫引擎(VDBE),使調試、修改和擴展 SQLite 的內核變得更加方便。
讀取文件示例:
public void load(){
try {
FileInputStream inStream=this.openFileInput("a.txt");
ByteArrayOutputStream stream=new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int length=-1;
while((length=inStream.read(buffer))!=-1) {
stream.write(buffer,0,length);
}
stream.close();
inStream.close();
text.setText(stream.toString());
Toast.makeText(MyActivity.this,"Loaded",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e){
return ;
}
}
第四種 使用ContentProvider存儲數據 ContentProvider其實也是通過資料庫的方式來存儲數據的,因此這里不再做詳細介紹
第五種 網路存儲數據 也就是說將數據保存在伺服器,android上只需要通過httpclient發起一個請求,向伺服器獲取數據即可
火台,驛馬,電報機,電話等。人類儲存信息的工具有:牛骨﹑竹
㈡ 怎麼讓手機的APP讀取手機狀態和儲存許可權
你好
一、手機存儲許可權是下載手機軟體,保證軟體能在手機上正常使用的的一種許可權。
二、設置。
1、設置默認存儲位置。打開設置,選擇存儲,選擇默認存儲位置,設置到需要的位置。
2、打開需要設置的軟體,會自動彈出許可權提示設置,選擇就OK。
3、打開許可權設置軟體,設置允許設置或修改存儲位置就可以了。
三、開啟手機的許可權,需要使用專門的root工具,可以使用電腦版的應用寶進行操作,它是專門root手機的工具,成功率很高,幾分鍾就能成功。將手機連接電腦,打開軟體,匹配手機的型號後,點擊裡面的一鍵root的圖標,根據軟體的提示操作對手機進行root。
內部存儲指的是運行內存,就相當於電腦的硬碟系統分區C盤+內存條。是安裝系統,提供程序運行的場所的。
手機存儲,指的是手機內置的的存儲空間,也叫內置SD卡。就是相當於電腦的C盤以外的分區,可以安裝程序,也可以存儲音樂、視頻、各種文件。
建議把用戶程序安裝到內置SD卡,這樣系統和軟體的大部分臨時文件會自動存儲到SD卡,系統穩定,速度快,也比較省電。
手機內存部儲存指的是也就是運行內存---ram,一般1-4G左右;手機存儲空間指的是rom,大小因手機而異,例如蘋果的8G,16G,32G就是這種內存,也稱手機存儲,是手機自帶的,不可擴展。
隨機存取存儲器(random access memory,RAM)又稱作"隨機存儲器",是與CPU直接交換數據的內部存儲器,也叫主存(內存)。它可以隨時讀寫,而且速度很快,通常作為操作系統或其他正在運行中的程序的臨時數據存儲媒介。
ROM 是 ROM image(只讀內存鏡像)的簡稱,常用於手機定製系統玩家的圈子中。 一般手機刷機的過程,就是將只讀內存鏡像(ROM image)寫入只讀內存(ROM)的過程。 常見的 ROM image 有 img、zip 等格式,前者通常用 fastboot 程序通過數據線刷入(線刷),後者通常用 recovery 模式從 sd刷入(卡刷),故 img 鏡像也被稱為線刷包,zip 鏡像也被稱為卡刷包。 國內的定製系統開發者,經常會陷入自己的產品究竟是應該稱為 OS還是 UI的爭論,為了避免此類爭論和表示謙虛,會自稱為 ROM。很多定製系統玩家也會統一將定製系統稱為 ROM。
安卓系統的許可權有2種,一種是許可權管理,另一種是授權管理。1、許可權管理:這個是應用程序,讀取手機用戶的聯系人、簡訊、地理位置等等有關信息的許可權,比如用戶在使用導航時,如果不允許導航軟體讀取地理位置信息,則無法完成和使用。2、授權管理:這是用戶對系統應用程序進行讀寫操作的權利,安卓系統的就是root許可權,獲取root許可權後,用戶就可以對系統的以及第三方的應用進行讀寫操作,比如卸載、移動等等。
手機設置裡面的內部存儲和手機存儲是什麼意思?有什麼不同_ …… 》 內部存儲指的是運行內存,就相當於電腦的硬碟系統分區C盤+內存條.是安裝系統,提供程序運行的場所的. 手機存儲,指的是手機內置的的存儲空間,也叫內置SD卡.就是相當於電腦的C盤以外的分區,可以安裝程序,也可以存儲音樂、視頻、各種文件. 建議把用戶程序安裝到內置SD卡,這樣系統和軟體的大部分臨時文件會自動存儲到SD卡,系統穩定,速度快,也比較省電.
手機的內部存儲與手機存儲分別指的是什麼?_ …… 》 手機存儲指的是手機存儲卡,一般是microsd(tf卡),內部存儲是指你的手機自帶的存儲空間,內部存儲是手機自帶的存儲空間不能調節的,你可以在安裝軟體的時候選擇手機卡存儲就可以將軟體安裝在手機卡上不會佔用手機內存.
安卓手機的內部存儲空間和手機存儲是什麼?_ …… 》 1. 內部存儲-就是指手機出廠時自身的存儲空間,也可以說是ROM,就是手機系統固件和軟體默認安裝的地方.在沒獲得root許可權之前無法對這裡面的東西進行隨意讀寫.比如蘋果的16G版,內部存儲就是指16G裡面除了手機系統外的另外的存儲空間.2. 手機存儲-通常是指手機內置的SD卡,其實跟擴展的SD卡功能一樣,只是這是設置在手機主板上的,不能隨意更改,是固定的空間,跟手機系統是不在一起的.當手機需要恢復出廠設置時,不會動到手機存儲上的東西.
手機存儲 內部存儲空間 RAM分別是什麼,有什麼不同 …… 》 內部存儲空間ROM是安裝存儲軟體(如操作系統、殺毒軟仲、音頻視頻等)相當於電腦的硬碟.
安卓手機的「內部存儲空間」「內置存儲卡」「外置存儲卡」分別是什麼?_ …… 》 它們是用來持久保存數據(文件)的存儲空間,跟手機的內存(RAM,掉電數據就沒了)一點兒關系都沒有.能顯示這三個存儲分類的安卓手機一般內置一塊eMMC卡(4GB到32GB不等),這塊卡一部分被劃出來當ROM裝系統(即所謂的/...
內部存儲、手機存儲的區別?_ …… 》 內部存儲、手機存儲的區別:一、機身內存(ROM)1、手機的內部存儲空間(過去幾年主要是存儲卡,現在基本上是機箱了),其設置方式通過存儲晶元直接安裝在設備內部,可以支持和維護設備的正常運行.2、通常安裝軟體,下載數據,...
手機儲存許可權怎麼設置_ …… 》 Android支持外部存儲(case-insensitive filesystem with immutable POSIX permission classes and modes). 外部存儲可以通過物理介質提供(如SD卡),也可以通過將內部存儲中的一部分封裝而成,設備可以有多個外部存儲實例. 訪問外部...
手機默認儲存是內部儲存空間,怎樣設置成sd卡? …… 》 三星手機默認存儲文件到擴展卡的操作方法:1.若使用照相機拍攝的圖片/視頻,可提前設置存儲路徑為外置sd卡.操作方法:打開照相機-設置-存儲器-內存卡 2.若是通過手機自帶瀏覽器下載文件(歌曲、視頻、圖片等),建議您在瀏覽器中更改存儲路徑:瀏覽器-菜單鍵-設定-高級設定-默認存儲器-下載路徑-external_sd.
內部存儲、手機存儲的區別?_ …… 》 一、機身內存(ROM) 手機的內部存儲空間,其設置方式通過存儲晶元直接安裝在設備內部,可以支持和維護設備的正常運行. 通常安裝軟體,下載數據,文件,緩存視頻,快照保存照片或類似數據,都是通過機箱內存存儲的,內存容量較大...
關於手機儲存,為什麼我的東西不能存儲到sd卡裡面,我的手機是金立800,手機有內部儲存空間,內部存_ …… 》 2.3的系統的話,是默認手機內部儲存的,沒有ROOT許可權的話是無法自由選擇儲存位置的,有些東西限制你必須得存到手機內部儲存里才可以用,要是4.0系統開始的話,是可以自由存儲手機內部與SD卡的,下載東西後點擊安裝會出現選擇安裝到手機內部儲存或SD卡的選項,你的手機要是2.3系統的話,只能ROOT破解之後才可以把軟體儲存到SD卡里,望採納
望採納祝你好運
㈢ 如何用SQL語句實現圖片的存儲和讀取
如:
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
//將控制項htmlRichTextBox_imgText裡面的內容全部當作圖片存儲
this.htmlRichTextBox_img.SaveFile(mstream, RichTextBoxStreamType.RichText);
//將流轉換成數組
byte[] bWrite = mstream.ToArray();
jzdoc.Entities.s_sample obj = new s_sample();
...................................
obj.img1 = bWrite;
..............................................
jzdoc.dbsvr.Default.Save<s_sample>(obj);
㈣ 硬碟是如何存儲和讀取零碎的文件的
如果數據量不是很大(G級別以下),文件不是特別零碎,可以直接存在硬碟上。
但是如果數據量已經/可能超過T級別,或者文件小且零碎,建議還是放在HDFS等分布式文件系統上。
我存儲爬蟲的html以及圖片數據,是通過HDFS的MapFile格式存儲的。MapFile是個已排序的鍵值對文件格式,我的鍵採用的是url的hash+採集時間,值就是文件內容。並且封裝了原生的MapFile.Reader實現了讀取和一定程度的緩存(目前只用了LRU)。
在HDFS提倡一次寫入,多次讀取的前提下,文件的更新只能是通過失效舊,使用新的策略。即把舊的元數據標記為失效,插入新的元數據,並把更新的文件寫入HDFS。讀取是通過新的元數據定位到文件。同時,要定期的清除已失效的文件,即把未失效的元數據讀出來,將對應的文件寫到新的MapFile,刪除舊的MapFile,即可實現物理刪除。
當然還可以使用HBase。HBase是面向列的,二進制存儲的,可橫向拓展的NoSQL。可以把不大於64M的數據作為單元格數據直接寫進去。但是有一定的學習成本,而且對集群的硬體要求比較
㈤ C++裡面存儲數據跟讀取數據
可以在文件當中設置一個標志符號,當去讀到該標志符號時,停止讀取數據,並關閉文件。1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。一般的C語言教程都有文件操作一章,可以找本教材進一步學習。2、常式:#includeint a;char b,c[100];int main(){ FILE * fp1 = fopen("input.txt", "r");//打開輸入文件 FILE * fp2 = fopen("output.txt", "w");//打開輸出文件 if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出 puts("不能打開文件!"); rturn 0; } fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數 b=fgetc(fp1);//從輸入文件讀取一個字元 fgets(c,100,fp1);//從輸入文件讀取一行字元串 printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數 fputs(c,fp2);//向輸出文件寫入一行字元串 fputc(b,fp2);//向輸出文件寫入一個字元 fprintf(fp2,"%d",a);//向輸出文件寫入一個整數 fclose(fp1);//關閉輸入文件 fclose(fp2);//關閉輸出文件,相當於保存 return 0;}