0

我正在从表中读取数据,因为所有行都一次获取并将每一行传递给 android 客户端。

现在,我需要在读取这些数据时对其进行格式化,即将四列数据中的每一列存储在 Android 端的单独字符串变量中,以便我可以在文本视图中显示它们。

如果我不一次发送每行数据,则整个表数据将连接在一个字符串中并传递给 android 客户端。

任何提高效率的技巧和解决这个问题的线索,如果有人需要更多说明,请询问。

4

1 回答 1

0

我会反过来做。在将其发送到您的设备之前,我会对其进行格式化。使用类似 JSON 格式之类的东西

package com.switchingbrains.json;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.util.Log;

public class JSONHelper {

    // Load JSON from URL
    public String JSONLoad(String url) {

        StringBuilder builder = new StringBuilder();
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);

        try {
            HttpResponse response = client.execute(httpGet);
            StatusLine statusLine = response.getStatusLine();
            int statusCode = statusLine.getStatusCode();
            if (statusCode == 200) {
                HttpEntity entity = response.getEntity();
                InputStream content = entity.getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(content));
                String line;
                while ((line = reader.readLine()) != null) {
                    builder.append(line);
                }
            } else {
                Log.e(Main.class.toString(), "Failed to download file");
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return builder.toString();

    }

}

您将获得一个字符串,您可以将其加载到 JSONObject 中并使用它做任何您想做的事情。

于 2012-08-31T08:25:28.437 回答