私は保存されたオンラインに使用SAXしています。次に、カスタムを設定
します。これは正常に機能しています。ここで、アプリケーションの開始時にXMLファイルをにダウンロードし、後で解析します。parseXML FileGridViewlocal storage
解析:
class loadingTask extends AsyncTask<String, Void, String> {
        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            gridView.setAdapter(new LkwAdapter(Lkw.this,itemList));
            showProgress.dismiss();
        }
        @Override
        protected String doInBackground(String... strings) {
            try{
                URL contURL = new URL(rUrl);
                SAXParserFactory spf = SAXParserFactory.newInstance();
                SAXParser sp = spf.newSAXParser();
                XMLReader xr = sp.getXMLReader();
                LkwParseHandler handler = new LkwParseHandler();
                xr.setContentHandler(handler);
                xr.parse(new InputSource(contURL.openStream()));//THIS WORKS
                //xr.parse(new InputSource(new FileInputStream("test.xml")));
                //THIS IS ONE OF MY MANY TRIES, what InputSource do i use?
                itemList = handler.getLkwItems();
            }catch (Exception e){
                e.printStackTrace();
            }
            return "";
        }
    }
これはオンラインファイルで機能します!! 次に、最初にファイルを保存してそれを使用しようとすると、GridViewは空のままになります。
ファイルの保存:(スプラッシュ画面のスレッド内)
InputStream input = null;
FileOutputStream output = null;
try {
   URL url = new URL("http://test.com/test.xml");
   input = url.openConnection().getInputStream();
   output = openFileOutput("test.xml", Context.MODE_PRIVATE);
   int read;
   byte[] data = new byte[1024];
   while ((read = input.read(data)) != -1)
       output.write(data, 0, read);
   output.close();
   input.close();
} catch (MalformedURLException e) {
   e.printStackTrace();
} catch (IOException e) {
   e.printStackTrace();
} finally {
    Intent i = new Intent(SplashScreen.this, MainMenu.class);
   }
   startActivity(i);
   finish();
}
そもそも正しい貯蓄ですか?私は何が欠けていますか?
この質問では、 Androidデータ処理とXMLバージョン管理の概念を実行しようとしていることがわかります。最後に、aURLまたはaFilePathをに
渡します。AsyncTask