#android #json
#Android #json
Вопрос:
В моем приложении я пытаюсь получить доступ к api через JSON, чтобы конвертировать сумму из одной валюты в другую с помощью api и использовать приведенный ниже фрагмент.
Но onClick
ничего не возвращает, а также не выдает никаких ошибок!
что я делаю не так?
пожалуйста, помогите.
private static final String API_URL = "http://devel.farebookings.com/api/curconversor/t1.toString()/t2.toString()/1/json";// PUT
public String t1="";
public String t2="";
btnDoit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!usdValue.getText().toString().equals("")) {
AsyncHttpClient client = new AsyncHttpClient();
client.get(API_URL, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
Log.i("CHACHING", "HTTP Sucess");
try {
JSONObject jsonObj = new JSONObject(response);
JSONObject ratesObject = jsonObj
.getJSONObject("data");
Double RateFrom = ratesObject.getDouble("t1.toString()");
Double RateTo = ratesObject.getDouble("t2.toString()");
Double usds = Double.valueOf(usdValue.getText()
.toString());
Double gbps = usds * RateFrom;
Double euros = usds * RateTo;
Result.setText("ConvertedFrom: "
String.valueOf(gbps) "ConvertedTo: "
String.valueOf(euros));
//ConvertedTo.setText("ConvertedTo: "
// String.valueOf(RateTo));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
} else {
Toast.makeText(getApplicationContext(),
"Please enter a Amount value!", Toast.LENGTH_LONG)
.show();
}
}
});
}
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
codey = ConvertedFromCurr.getSelectedItem().toString();
codey1 = ConvertedToCurr.getSelectedItem().toString();
code = codey.split("\s ");
for (int i = 0; i < code.length; i ) {
t1= code[1].toString();
Toast.makeText(parent.getContext(),t1.toString(),
Toast.LENGTH_LONG).show();
//Code.append("" code[1].toString() "")
}
code1 = codey1.split("\s ");
for (int i = 0; i < code1.length; i )
{
t2= code1[1].toString();
Toast.makeText(parent.getContext(), t2.toString(),
Toast.LENGTH_LONG).show();
//Code.append("" code[1].toString() "");
}
}
Ответ №1:
http://devel.farebookings.com/api/curconversor/t1.toString ()/t2.toString()/1/json — недопустимый URL-адрес. Хотя вы должны получить исключение JSON. Однако, если вы измените URL на действительный, вы все равно не получите объект «data» в ответе JSON. Наконец, возможно, что logcat просто разбился.
Комментарии:
1. @ user1889459 можете ли вы сказать мне, как передать действительный URL.? t1 t2 — это валюта, выбранная пользователем, которую он хочет изменить.. что я извлекаю из выпадающего списка ..?? я думаю, я делаю неправильный доступ к json
2. public void onClick(View v) { //Строка t1 = etFrom.getText().toString();//из EditText int t1Index = myDropDownList.getSelectedIndex();// Он должен иметь метод, аналогичный этой строке t1 = myBackingList.get(t1Index);//получить выбранный элементиз резервного списка String t2 = …//repeat int amount = Integer.parseInt(etAmount.getText().toString()); Строка url = » devel.farebookings.com/api/curconversor /» t1 «/… «; … }
3. @ user1889459 спасибо .. но есть еще 1 сомнение, как я могу увидеть полный формат json этого api
4. Log.d(ТЕГ,jsonObj.toString(2));