我想将给定的 web 服务 url 保存为 xml 文件以进行离线 sax 解析。
在 Online 我使用 SAX Parser 来解析给定的 url。
URL sourceUrl = new URL("http://www.example.com/mobile/eventinfo.php?id=20);
InputSource inputSource = new InputSource(sourceUrl.openStream());
inputSource.setEncoding("ISO-8859-1");
为此,我从上面的 url 获取输入源,现在我想将该输入源保存为 .xml 文件以进行离线解析。
在这里,用户必须第一次在线加载应用程序。在应用程序内部,我们提供离线设施。如果用户将应用程序设置为离线,则输入源必须将 xml 文件保存在本地内存中。
如果用户离线启动应用程序,应用程序必须从保存的 xml 文件中解析数据。
如果用户在线启动应用程序,则必须从 url 解析数据。
任何人都可以在这里帮助我或分享知识
我正在生成如下代码的 xml 文件
try {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.connect();
int responseCode = connection.getResponseCode();
if(responseCode == 200){
InputStream inputStream = connection.getInputStream();
int size = connection.getContentLength();
FileOutputStream fileOutputStream = new FileOutputStream(new File(getCacheDir(),filename));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String ch = null;
while((ch = bufferedReader.readLine()) != null){
fileOutputStream.write(ch.getBytes());
}
}else {
}
}
但它在 NetworkonMainThreadException 引发异常
connection.connect();
提前致谢。