0

我正在创建从数据库中获取数据的应用程序,在用户安装应用程序后,我将每周用新数据更新我的数据库,如何让我的数据库在每次添加新项目时自动更新并将其替换为现有项目,而无需需要更新整个应用程序?

4

2 回答 2

0

这是如何填充本地数据库的代码示例:

    public CreatePopulateDB(SQLiteDatabase database){
        database.execSQL("BEGIN TRANSACTION");  

        database.execSQL("DROP TABLE IF EXISTS xyz;");
        database.execSQL("CREATE TABLE xyz( field1 integer primary key autoincrement, field2 numeric not null, );");
        database.execSQL("INSERT INTO xyz VALUES(1,1);"); 
        database.execSQL("INSERT INTO xyz VALUES(2,2);"); 
...
        database.execSQL("COMMIT;");
    }

如上面评论中所述,您将使用来自 php API 的数据填充本地数据库。

于 2013-01-28T09:23:03.890 回答
0

这是您可以从 Web 服务中检索数据的方法

public class GetXMLTask
{
        public static final String URL = "http://localhost:8080/appName/actionOrServletTobeCalled";
    public static void main(String args[])
    {
        GetXMLTask obj = new GetXMLTask();
        String username = "username";
        String password = "password";
        obj.getOutputFromUrl(URL+"?"+username+"&password="+password);

    }
    public String getOutputFromUrl(String url) 
    {
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        HttpResponse response;
        StringBuilder builder= new StringBuilder();
        BufferedReader in = new BufferedReader(new                            InputStreamReader(response.getEntity().getContent(), "UTF-8"));
        char[] buf = new char[8000];
        int l = 0;
            while (l >= 0) 
            {
                builder.append(buf, 0, l);
                l = in.read(buf);
            }
        return builder.toString();
    }   
}

如果您在创建 Web 服务方面需要任何帮助,请告诉我

于 2013-01-28T09:36:58.057 回答