編輯:關於Android編程
plist,即property list,是蘋果手機軟件開發中經常用到的存儲文件格式,其實質就是XML文件,但是它遵循一定的格式。比如包含一些指定的元素,如plist,array,string,key等。蘋果提供了解析該類文件的機制,可惜在安卓開發工具中卻沒有提供。經常遇到的情況是,在開發蘋果和安卓手機軟件的時候,要統一資源文件,這個時候,我們可以采用GitHub中提供的開源android-plist-parser解決方案。
比如我們要解析一個全國省市區的一個plist文件:
xml version="1.0" encoding="UTF-8"?>0 ... ... ... 北京市 0 北京市 東城區 西城區 朝陽區 豐台區 石景山區 海澱區 門頭溝區 房山區 通州區 順義區 昌平區 大興區 懷柔區 平谷區 密雲縣 延慶縣 0 ... ... ... 北京市 0 北京市 東城區 西城區 朝陽區 豐台區 石景山區 海澱區 門頭溝區 房山區 通州區 順義區 昌平區 大興區 懷柔區 平谷區 密雲縣 延慶縣
那麼如何在android中解析呢?
一:在GitHub上下載android-plist-parser
二:解壓下載的包,並導入android項目的類路徑裡。
三:解析該文件,並將解析信息打印在控制台。(因為該文件不算太小,因此在新線程中運行,防止主線程卡死)
new Thread(new Runnable() { @Override public void run() { PListXMLParser parser = new PListXMLParser(); // 基於SAX的實現 PListXMLHandler handler = new PListXMLHandler(); parser.setHandler(handler); try { parser.parse(getAssets().open("area.plist")); // area.plist是你要解析的文件,該文件需放在assets文件夾下 } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } PList actualPList = ((PListXMLHandler) parser.getHandler()).getPlist(); Dict root = (Dict) actualPList.getRootElement(); MapprovinceCities = root.getConfigMap(); for(int i=0; i province = provinceRoot.getConfigMap(); String provinceName = province.keySet().iterator().next(); System.out.println("省份為:" + provinceName); // 打印省份 Dict cityRoot = (Dict) province.get(provinceName); Map cities = cityRoot.getConfigMap(); for(int j=0;j provinceCities = root.getConfigMap(); for(int i=0; i cities = cityRoot.getConfigMap(); for(int j=0;j province = provinceRoot.getConfigMap(); String provinceName = province.keySet().iterator().next();
一.背景做視頻用到了就記錄下,從github(https://github.com/curtis2/SuperVideoPlayer 謝謝)上扒了一個項目的手勢調亮度和音
一、問題描述 使用BordercastReceiver和Service組件實現下述功能:1.當手機處於來電狀態,啟動監聽服務,對來電進行監聽錄音。2.設置電話黑名單,當
Android 使用開源庫加載網絡圖片,使用開源庫加載圖片。單擊listview彈出popupwindow彈出框詳情查看:Android 單擊listview彈出popu
Android實習札記(8)---ViewPager+Fragment實例講解 在札記(5)中我們就說過要弄一個模仿微信頁面切換的東東,就是V