在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
答案 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数组获取值并将其设置为适当的字段。