Java 获取随机ID
我有方法Java 获取随机ID,java,android,asynchttpclient,Java,Android,Asynchttpclient,我有方法showtracts其中我循环所有id的轨迹,直到这里好 编辑:我一直在寻找,问题总是获取所有PendingTraects的最后一个ID,但为什么不获取第一个或第二个ID? 问题出在AllPendingTrajects()内部。: 您可以按照1-2-3的顺序发送请求,但由于请求是异步的,因此不会以相同的顺序得到响应。那么解决方案是什么呢?请参阅和。 public void showTrajects() { for (indexTrajecte = 0; indexTraj
showtracts
其中我循环所有id
的轨迹,直到这里好
编辑:我一直在寻找,问题总是获取所有PendingTraects的最后一个ID,但为什么不获取第一个或第二个ID?
问题出在AllPendingTrajects()内部。
:
您可以按照1-2-3
的顺序发送请求,但由于请求是异步的,因此不会以相同的顺序得到响应。那么解决方案是什么呢?请参阅和。
public void showTrajects() {
for (indexTrajecte = 0; indexTrajecte < contador; indexTrajecte++) {
AllPendingTrajects();
}
}
public void AllPendingTrajects(){
AsyncHttpClient client = new AsyncHttpClient();
String URL = "http://url.net/api/link1/"+IDTrajecte[indexTrajecte];
client.get(URL,new AsyncHttpResponseHandler() {
@Override
public void onStart() {}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
JSONObject trajectes = new JSONObject();
String strResponseBody = new String(responseBody);
try {
trajectes = new JSONObject(strResponseBody);
}catch (JSONException e){
Toast.makeText(PendingTrajectRecyclerView.this, "Error", Toast.LENGTH_SHORT).show();
}
try {
JSONArray realitzas = trajectes.getJSONArray("realitzas");
dniTaxista = trajectes.getString("taxistes_dni");
idTraject = Integer.parseInt(trajectes.getString("ID"));
if(DadesTaxista.DNI.equals(dniTaxista)){
showPendingTraject();
}
else {
SeeAllTrajects();
}
}catch (JSONException e){
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody, Throwable error) {
Log.d("ERROR",""+statusCode);
}
});
}
public void SeeAllTrajects(){
AsyncHttpClient client = new AsyncHttpClient();
String URL = "http://url.net/api/link2";
client.get(URL,new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
JSONArray trajectesJSON = new JSONArray();
String strResponseBody = new String(responseBody);
try {
trajectesJSON = new JSONArray(strResponseBody);
}catch (JSONException e){
Toast.makeText(PendingTrajectRecyclerView.this, "Error", Toast.LENGTH_SHORT).show();
}
try {
Log.d("ID TRAJECT:","d"+idByTraject);
}
}catch (JSONException e){
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.d("ERROR",""+statusCode);
}
});
}