我正在开发 android 上的应用程序,我目前需要从 Web 服务器中提取数据并将其存储到 db(sqlite db 文件)文件中,应用程序将进一步使用该文件向用户显示数据。我几乎不知道我需要编写一个 Web 服务,该服务将从服务器中为我提取数据,但我完全不知道如何将其存储在 SQLite db 文件中。Uptil now 能够从服务器获取数据ArrayList<HashMap<String, String>>InfoList;
现在我想存储所有数据,ArrayList<HashMap<String, String>>InfoList; => to sqLite database
稍后将在本地应用程序使用。如何才能做到这一点。请各位高手指导一下。提前致谢。
问问题
3638 次
2 回答
0
你可以这样做,(xml解析和存储在db中)
SAXParserFactory saxPF = SAXParserFactory.newInstance();
SAXParser saxP = saxPF.newSAXParser();
XMLReader xmlR = saxP.getXMLReader();
URL url = new URL("your url"); // URL of the XML
XMLHandler myXMLHandler = new XMLHandler();
xmlR.setContentHandler(myXMLHandler);
xmlR.parse(new InputSource(url.openStream()));
data = XMLHandler.data;
db.execSQL("create table if not exists entries(subject_name varchar,subject_id varchar)");
for (int i = 0; i < data.getSubname().size(); i++) {
String subname=data.getSubname().get(i);
String subid=data.subid().get(i);
db.execSQL("insert or replace into entries values('"+subname+"','"+subid+"')");
}
}
为了检索数据,我们使用游标。
编辑:这个问题已经解决了,你可以参考Insert JSON data into the SQLite database in android ?
于 2014-05-05T11:40:28.440 回答
0
我认为您应该使用 JSON 作为 Web 服务的输出格式。不是 xml,因为在 js 中很难解析。
一旦你在 javascript 中有 JSON,你可以使用 sql.js https://github.com/kripken/sql.js 它是一个用于 SQLite 的 javascript api。使用它将您的 json 导入 sqlite。
于 2016-11-22T17:34:08.513 回答