从Drupal站点检索数据到Android应用程序的最佳方法

时间:2012-07-18 09:31:23

标签: android drupal

在Android应用中检索Drupal网站数据的正确方法是什么?

让我们说我需要将30个节点的数据检索到列表视图中,其中每行使用layoutInflater。在我的情况下,我从Json代码获取数据,然后将它们保存到数组,然后将每个数据索引调用到listView行。这是正确的方法吗?

使用7个数组来保存数据并继续进程是否有效?我觉得它不笨重且不灵活。我是对的吗?

已编辑::已添加JsonCode

receivedJson = Json.getJsonString(Constants.HOST_DOMAIN_NAME
            + serviceEndPoint);

    try {

        /*
         * convert received Json String to Json array with
         * 
         * @getDrupalFinalJsonArray: METHOD
         */
        jsonArray = Json.getDrupalFinalJsonArray(receivedJson,
                objectParent, itemParent);
        /*
         * Define the length of @nodeBodyArray, @nodeAutherNameArray to be
         * the same length of sonArray but -1, since a factecus item added
         * at index(0) this ISSUE SHOULD BE SOLvER !
         */
        nodeTitleArray = new String[jsonArray.length() - 1];
        nodeAuthorNameArray = new String[jsonArray.length() - 1];
        nodeAuthorImageArray = new String[jsonArray.length() - 1];
        nodeCommentCount = new int[jsonArray.length() - 1];
        nodeNid = new int[jsonArray.length() - 1];
        postDate=new String[jsonArray.length()-1];

        nodeNid = Json.convertJsonArrayToIntJavaArray(jsonArray, "nid");
        nodeCommentCount = Json.convertJsonArrayToIntJavaArray(jsonArray,
                "commentcount");
        nodeTitleArray = Json.convertJsonArrayToStringJavaArray(jsonArray,
                "body");
        nodeAuthorNameArray = Json.convertJsonArrayToStringJavaArray(
                jsonArray, "author");
        nodeAuthorImageArray = Json.convertJsonArrayToStringJavaArray(
                jsonArray, "profile");
        postDate=Json.convertJsonArrayToStringJavaArray(jsonArray, Constants.NODE_POST_DATE_TAG);

    } catch (Exception e) {
    }
    adapter = new nodeListAdapter(context,
            android.R.layout.simple_list_item_1, nodeTitleArray,
            nodeAuthorNameArray, nodeAuthorImageArray, nodeCommentCount,
            nodeNid,postDate); // define the list adapter

1 个答案:

答案 0 :(得分:0)

我建议使用title,nid,author等字段创建Node类。 和readJson方法从Json读取Node。

例如:

Node nodes[] = new Node[jsonArray.length() - 1];
for (int n = 0; n < jsonArray.length() - 2; n++) {
     nodes[n].readJson(jsonArray[n]);
}

Node.readJson实现从json数组获取值并将其设置为适当的字段。