android解析plistファイル
plist、すなわちproperty listは、アップルの携帯電話ソフトウェア開発でよく使われるストレージファイルフォーマットであり、実質的にXMLファイルであるが、一定のフォーマットに従っている.たとえば、plist、array、string、keyなどの指定された要素が含まれます.アップルはこのようなファイルを解析するメカニズムを提供したが、残念ながらアンドロイド開発ツールでは提供されていない.よくあることは、アップルやアンドロイドの携帯電話ソフトを開発する際に、リソースファイルを統一することです.この場合、GitHubで提供されているオープンソースandroid-plist-parserソリューションを採用することができます.
例えば、全国の省・市街地のplistファイルを解析します.
ではandroidでどのように解析しますか?
一:GitHubでandroid-plist-parserをダウンロードする
https://github.com/tenaciousRas/android-plist-parser
二:ダウンロードしたパッケージを解凍し、androidプロジェクトのクラスパスにインポートします.
3:ファイルを解析し、解析情報をコンソールに印刷します.(このファイルはあまり小さくないので、新しいスレッドで実行し、メインスレッドのカード死を防止します)
area.plistは私のリソースに置いてあります.必要なものはここでダウンロードできます.
例えば、全国の省・市街地のplistファイルを解析します.
0
0
...
...
...
ではandroidでどのように解析しますか?
一:GitHubでandroid-plist-parserをダウンロードする
https://github.com/tenaciousRas/android-plist-parser
二:ダウンロードしたパッケージを解凍し、androidプロジェクトのクラスパスにインポートします.
3:ファイルを解析し、解析情報をコンソールに印刷します.(このファイルはあまり小さくないので、新しいスレッドで実行し、メインスレッドのカード死を防止します)
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();
Map provinceCities = 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
area.plistは私のリソースに置いてあります.必要なものはここでダウンロードできます.