簡體   English   中英

Android:如何在Android編程中編輯數據庫中的特定記錄(使用Ruby on Rails)

[英]Android: How to edit specific record from database in Android Programming (Using Ruby on rails)

首先,我有一個使用Ruby on Rails創建的數據庫。 我已經在Android應用程序中實現了插入功能(HTTPPost),並且可以正常工作。 但是我不知道如何從數據庫中檢索特定記錄並將其插入到Android中的特定記錄中(類似於RoR中的編輯功能)

這是我的插入代碼:

私人無效insertComment(){DefaultHttpClient client = new DefaultHttpClient();

    HttpPost post = new HttpPost("http://10.10.3.87:3000/comments");

    // Configure the form parameters
    List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    nvps.add(new BasicNameValuePair("comment[content]", t_comment.getText().toString()));
    nvps.add(new BasicNameValuePair("comment[id_account]", "1"));
    nvps.add(new BasicNameValuePair("comment[id_place]", Integer.toString(position)));

    try {
        post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    HttpResponse response = null;
    try {
        response = client.execute(post);
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    HttpEntity entity = response.getEntity();
    if (entity != null) {
        try {
            entity.consumeContent();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    Toast.makeText(this, "Your post is successfully uploaded",
            Toast.LENGTH_SHORT).show();

    t_comment.setText("");
}

我確實嘗試了許多方法,但是它不起作用,並且需要很長時間才能與這段代碼戰斗。 實際上,我真的不知道如何為HTTPPost指定RowID。

誰能幫我嗎? 提前致謝

感謝fd的出色回答。 :-D

我讀了您的評論后,有了新主意。

我試圖模仿在RoR控制台中顯示的請求。

在請求中,我們必須使用PUT方法將ID與數據一起附加,但是我僅通過更改URL請求來修改了上面的插入代碼

http://10.10.3.87:3000/comments/update/1

這意味着我們通過使用“操作” =>“更新”來附加“ id” =>“ 1”

這段代碼將調用POST方法而不是put方法,但是絕對可以!

非常感謝您的幫助^ ______________ ^

我不確定Android方面,但從Rails的角度來看,我希望您希望將HTTP GET發送到資源資源的Rails應用程序(例如: http : //10.10.3.87 : 3000/comments/1234 for ID為1234的注釋),確保您將接受標頭設置為首選XML響應(您需要為注釋的show action定義一個XML視圖,這樣才能起作用)。

這應該給您一個XML響應,您可以將其解碼並顯示在Android應用程序中。

一種類似的方法應該可以為您的評論建立索引,例如:GET到http://10.10.3.87:3000/comments (定義了XML視圖)將為您提供評論索引,因此您可以選擇一個以獲得正確的ID用於顯示評論。

如果您的注釋附加到其他“父”模型(例如,如果它們作用於帖子),這可能是不夠的,因為您還需要指定感興趣的父視圖。

希望對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM