Да, это возможно. Вам нужно сделать код, чтобы получить данные с вашего сервера. Вот пример использования POST:
private String sendRequest(String targetUrl) {
//Here, you define how method you'll use. In this case, I'm using POST
HttpPost method = new HttpPost(targetUrl);
HttpParams httpParameters = new BasicHttpParams();
//If you need, place here your TIMEOUT.
HttpConnectionParams.setConnectionTimeout(httpParameters,
<TIME TO OUT IN MILLIS>);
HttpConnectionParams.setSoTimeout(httpParameters, <TIME TO OUT IN MILLIS>);
//Define here your client in order to make requests to your servers
HttpClient client = new DefaultHttpClient(httpParameters);
//If you're using POST method, may be you need to add parameters in your request where it'll be used by your server in order to return a response to you.
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
postParams.add(new BasicNameValuePair("<PARAMETER'S NAME>", "<PARAMETER'S VALUES>"));
//You may add multiple parameters here
//Here starts your request
try {
//Define your entity
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postParams);
entity.setContentEncoding(HTTP.UTF_8);
method.setEntity(entity);
} catch (UnsupportedEncodingException e) {
//In case of any error
Log.e("REQUEST_ERROR", "Something was wrong: " + e);
}
try {
//The string wich will receive your result
String result;
//Send your request
HttpResponse response = client.execute(method);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
BasicManagedEntity entity = (BasicManagedEntity) response.getEntity();
//Get the result
result = EntityUtils.toString(entity);
//Return your result in order to be processed
return result;
} catch(ConnectTimeoutException cte) {
return null;
} catch (UnknownHostException e) {
return null;
} catch (Exception e) {
return null;
}
}
После этого вызовите эту функцию, написав:
String result = sendRequest(<URL HERE>);
Так что теперь вы в состоянии обрабатывать ваши данные в формате JSON.Зная, что ваш ответ является типом строки, но в формате JSON, вам нужно добавить этот код, чтобы получить тип JSON из вашей строки:
JSONObject obj = new JSONObject();
obj = new JSONObject(result);
Я не знаю, как отформатированный ваш JSON, но я думаю, вы получаете его как массив в JSON, не так ли?
В этом случае, ваш может сделать что-то вроде:
String[] array;
JSONArray jArray = obj.getJSONArray("<KEY_TO_LETTERS_ARRAY>");
int size = jArray.length();
if (size > 0) {
array = new String[size];
for(int i = 0; i < jArray.length(); i++) {
array[i] = new String(jArray.getString(i));
}
}
Это тоже важно, перед работой с вашего массива, цветовым уверен, если это пустой или нет, потому что в последнем коде, массив инициализируется только если размер вашего массива JSON больше 0.
if(array != null) {
//It's ok
} else {
//Something wrong
}
Итак, ваш массив инициализирован.
Наслаждайтесь этим.
читать json и инициализировать ваш массив. –