从在线数据库Android获取数据?

时间:2013-01-28 09:10:09

标签: android

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

2 个答案:

答案 0 :(得分:0)

以下是如何填充本地db:

的代码示例
    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的数据填充本地数据库。

答案 1 :(得分: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服务的任何帮助,请与我们联系