編輯:Android開發實例
在前一篇文章已經講過Android的數據存儲:SharedPreferences 詳情請見: http://www.fengfly.com/plus/view-212772-1.html .今天把SharedPrefrences的數據共享性體現出來。
Q: SharedPreferences 如何體現數據共享?或者說如何才能讀,寫其它應用的SharedPreferences呢?
答:有二種方式可以訪問並且進行讀寫其它應用的SharedPreferences.
Context anther_app = createPackageContext("your_app_package_name",int flags);
SharedPreferences spfPreferences = anther_app.getSharedPreferences(fileName, int MODE);
通常采用這種方式進行數據共享不推薦,Android專門提供一套API來用於數據共享:ContentProvide 這個以後在講。
2. Q: SharedPreferences默認只能存儲基本數據類型及String或Set,可以存儲復雜的對象數據類型嗎?
答:可以。 SharedPreferences默認之所以只能存儲基本數據類型及String或Set,是因為它提供的putXXX系列方法有限,如果要存復雜類型的數據,可以這樣操作。
- Person p = new Person();
- p.setName("dylan");
- p.setAge(24);
- p.setAddress("China");
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- ObjectOutputStream oos = new ObjectOutputStream(baos);
- oos.writeObject(p);
- SharedPreferences spfPreferences = getSharedPreferences(fileName, MODE_PRIVATE);
- //把Person轉換成byte數組。
- String p_base64 = new String(Base64.encodeBase64(baos.toByteArray()));
- SharedPreferences.Editor editor = spfPreferences.edit();
- editor.putString("person",p_base64);
- editor.commit();
這種方法就是添加一層包裝把對象轉換成byte數組並且進行Base64編碼,到最後還是調用了putString方法。
文件的存儲:
文件的存儲很簡單,基本上就是IO流的操作,查看此文了解IO流:http://www.fengfly.com/plus/view-212748-1.html
文件的存儲需要這二個類: InputStream,OutputStream
1 InputStream ins = openFileInput(String filename) ; 2 // filename: The name of the file to open; can not contain path separators 3 4 OutputStream ons = openFileOutput(String filename,int mode);
我們知道手機內存存儲是有限的,那麼如何存放在SDCard中去呢?
1. 判斷手機是否安裝sdcard。如果返回true,則有安裝!!!
Environment.getExternalStorageState.equals(Environment.MEDIA_MOUNTED);
2. 為AndroidManifest.xml添加uses-permission
3. Environment.getExternalStorageDirectory獲取SD卡的目錄;也可以使用:/mnt/sdcared
Note: /mnt目錄: linux默認掛載外部設備都會掛到這個目錄下面,如將sd卡掛載上去後,會生成一個/mnt/sdcard 目錄。有時候會看到/sdcard目錄,其實這個目錄與/mnt/sdcard目錄是一樣的,因為/sdcard是個軟鏈接(類似Windows的桌面快捷方式)而以;
4. 完全的IO流操作。
(效果如上圖所示) 其實很簡單: 比方說上面的容器是一個ListView 代碼如下: <ListView android:id=@+id/listView
•android-support-v4.jar,這是谷歌官方給我們提供的一個兼容低版本Android設備的軟件包,裡面包囊了只有在Android3.0
當開發基於軟件模式的游戲時,通過縮放視頻緩沖區來適應顯示尺寸是最棘手的問題之一。當面對眾多不同的分辨率時(比如開放環境下的Android),該問題會變得更加麻煩,
本文實例總結了Android編程中圖片特效處理方法。分享給大家供大家參考,具體如下: 這裡介紹的Android圖片處理方法包括: 轉換 - drawa