1. android如何保存整型數組
Android中數據的存儲有五種方式不同的應用及需求,會使用不同的方式去存儲數據。
1 使用SharedPreferences存儲數據
2 文件存儲數據
3 SQLite資料庫存儲數據
4 使用ContentProvider存儲數據
5 網路存儲數據
不同的業務邏輯,或者需求,用不同的實現方式,以下是這幾中數據存儲方式的說明用及法:
第一種: 使用SharedPreferences存儲數據
它的本質是基於XML文件存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息。
其存儲位置在/data/data/< >/shared_prefs目錄下。
第二種: 文件存儲數據
關於文件存儲,Activity提供了openFileOutput()方法可以用於把數據輸出到文件中,具體的實現過程與在J2SE環境中保存數據到文件中是一樣的。文件可用來存放大量數據,如文本、圖片、音頻等。
默認位置:/data/data/< >/files/***.***。
第三種: SQLite資料庫存儲數據
SQLite是輕量級嵌入式資料庫引擎,它支持 SQL 語言,並且只利用很少的內存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla, PHP, Python)都使用了 SQLite。
資料庫存儲在 data/< 項目文件夾 >/databases/ 下。
第四種: 使用ContentProvider存儲數據 ContentProvider其實也是通過資料庫的方式來存儲數據的,因此這里不再做詳細介紹。
第五種 :網路存儲數據 也就是說將數據保存在伺服器,android上只需要通過httpclient發起一個請求,向伺服器獲取數據即可。
2. Android 幾種拼接數組合並數組的方法
public class ContactIntegerArray {
public static int[] contact(int a[], int b[]){
int[] f = new int[a.length+b.length];
for(int i = 0 ; i < f.length; i++)
if(i < a.length)
f[i] = a[i];
else
f[i]= b[i-a.length];
return f;
}
public static void main(String[] args) {
int a[] = {1,3,4,7};
int b[] = {2,3,5};
int c[] =ContactIntegerArray.contact(a, b);
}
}
3. 求助:1.android怎麼把int型數組存入文件並保存在SD卡中 2.android怎麼從文件中讀取數據並存在數組中
用android自帶的JSON庫,
存檔過程
int[] numberArray = {1,3,5,6,9,233,3255};
JSONArraynumbers=new JSONArray();
for(int number : numberArray){
numbers.put(number);
}
String jsonString= numbers.toString();
FileOutputStream fileOut=null;
OutputStreamWriter outStream =null;
try
{
fileOut =new FileOutputStream(saveFilePath,false);
outStream =new OutputStreamWriter(fileOut);
outStream.write(jsonString);
}
catch(Exception e)
{
}
finally
{
try
{
if(null!=outStream)
outStream.close();
if(null!=fileOut)
fileOut.close();
}
catch(Exception e)
{
}
}
讀取過程差不多,new 一個FileInputStream 讀取其中內容。
然後用這個字元串來初始化JSONArray,就可以得到結果。
記得給應用程序加上讀寫SD卡的許可權。
4. android如何由數組保存成圖片並保存在SD卡上
Bitmap bm = BitmapFactory.decodeByteArray(byte[] data, int offset, int length);別忘了判斷數組是不是為空。
保存。。。。
public void saveFile(Bitmap bm, String fileName) throws IOException {
private final static String ALBUM_PATH
= Environment.getExternalStorageDirectory() + "/download_test/";
File dirFile = new File(ALBUM_PATH);
if(!dirFile.exists()){
dirFile.mkdir();
}
File myCaptureFile = new File(ALBUM_PATH + fileName);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
bos.flush();
bos.close();
}