Я хочу спросить вас, знаете ли вы о практическом способе отображения данных (возможно, в табличном формате), поступающих из веб-сервиса.
Я действительно новичок в j2me, я только что научился использовать веб-сервисы RESTful, теперь мне нужно научиться показывать эти данные (которые поступают в формате json) пользователю.
В основном это код, который я использую:
protected String jsonParse(String url) {
StringBuffer stringBuffer = new StringBuffer();
InputStream is = null;
HttpConnection hc = null;
System.out.println(url);
String Results = null;
try {
mProgressString.setText("Connecting...");
hc = (HttpConnection) Connector.open(url, Connector.READ);
hc.setRequestMethod(HttpConnection.GET);
hc.setRequestProperty("User-Agent", "Profile/MIDP-2.1 Configuration/CLDC-1.1");
if (hc.getResponseCode() == HttpConnection.HTTP_OK) {
is = hc.openInputStream();
int ch;
while ((ch = is.read()) != -1) {
stringBuffer.append((char) ch);
}
}
} catch (SecurityException se) {
System.out.println("Security Excepction: " + se);
} catch (NullPointerException npe) {
System.out.println("Null Pointer Excepction: " + npe);
} catch (IOException ioe) {
System.out.println("IO Exception" + ioe);
}
try {
hc.close();
is.close();
} catch (Exception e) {
System.out.println("Error in MostActivePareser Connection close:" + e);
e.printStackTrace();
}
String jsonData = stringBuffer.toString();
try {
JSONArray js = new JSONArray(jsonData);
System.out.println(js.length());
mProgressString.setText("Reading...");
String Results = "";
for (int i = 0; i < js.length(); i++) {
JSONObject jsObj = js.getJSONObject(i);
Results += "-----------------------------------\n";
Results += jsObj.getString("Name") + " \n";
Results += jsObj.getString("Phone") + " \n";
Results += jsObj.getString("Address");
}
} catch (JSONException e1) {
System.out.println("Json Data error:" + e1);
e1.printStackTrace();
} catch (NullPointerException e) {
System.out.println("null error:" + e);
}
return Results;
}
Как вы можете видеть, я только объединяю результаты, чтобы затем показать их пользователю. Но, конечно же, для этого должны быть лучшие способы, и здесь мне нужна ваша помощь.
Как бы вы отобразили типичный массив json в j2me?? Как вы справляетесь с такими ограничениями, как ограниченный объем памяти и маленький размер экрана, когда вам приходится работать со значительным количеством результатов?
Как всегда, любые советы или ресурсы, которые вы могли бы предоставить, будут очень признательны.
Заранее спасибо.
P.S. Это банка, которую я использовал для работы с json.