繁体   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