1

次のコードを使用して、アセットフォルダーに保存されているXMLファイルからデータを読み取ります。以下のような構造のシンプルなXMLファイルです。ファイルには約10ノード(合計で約100行)があります。しかし、私のGalaxy S2では、このコードの実行には10秒かかります。これをより速く行う方法はありますか?ありがとう!XML構造:

    <?xml version="1.0" encoding="utf-8"?>
<root>
    <node>
        <name>test</name>
        <picture>test1</picture>
        <thumbnail>asa</thumbnail>
        <location>fdsf</location>
        <description>sdfsd</description>
    </node>
    <node>
        <name>test</name>
        <picture>test1</picture>
        <thumbnail>asa</thumbnail>
        <location>fdsf</location>
        <description>sdfsd</description>
    </node>
    <node>
        <name>test</name>
        <picture>test1</picture>
        <thumbnail>asa</thumbnail>
        <location>fdsf</location>
        <description>sdfsd</description>
    </node>

    .......

</root>

そしてコードスニペット:

String XMLText = "";    
InputStream raw = getApplicationContext().getAssets().open(fileName);
            InputStreamReader inputStreamReader = new InputStreamReader(raw);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);


            String line = ""; 
            while ((line = bufferedReader.readLine()) != null) {
                XMLText += line;
            }
4

1 に答える 1

0

SAX パーサーまたはXmlPullParserを使用する必要があります。データを文字列に連結/追加する場合は、タイプStringBuilderの代わりに使用します。String

于 2012-08-14T12:25:18.720 に答える