T
the_time
Ambitioniertes Mitglied
- 0
Hallo,
ich habe folgende Fragen:
1. Ich habe eine checkboxlist wo der Benutzer nummern einhackt z.B 1,3,6, danach wird eine Request an den Server geschickt wo ich eine Response mit "longitude, latiude, route, direction" kriege. Die Antwort tue ich in eine ArrayList<ItemDTO> um sie von der onPostExecute Methode an die Map Activity zu übergeben.
Diese Request sollen in der Map activity immer jede 30 sekunden aktualisiert wird um die location von gewählten items zu updaten. Meine Frage wie soll die App wissen was der User beim ersten Request gewählt hat wenn der zweiter Request an den Server geschickt werden soll, wie soll die App wissen dass der Benutzer 1,3,6 gewählt hat?
2.Zur Zeit kriege ich in der onPostExecute method nur null. Ich kann die Daten "longitude, latitude, route and direction" in der data object beim Debuggen sehen und ich habe sie nach Deserialization wie man im Code sieht ausgegeben. Wie kann ich diese custom Arraylist an meine map activity übergeben?
Ich freue mich wenn jemand mir die erste Frage erklären könnte
Schöne Grüße,
the_time
MapdataJSON class:
ich habe folgende Fragen:
1. Ich habe eine checkboxlist wo der Benutzer nummern einhackt z.B 1,3,6, danach wird eine Request an den Server geschickt wo ich eine Response mit "longitude, latiude, route, direction" kriege. Die Antwort tue ich in eine ArrayList<ItemDTO> um sie von der onPostExecute Methode an die Map Activity zu übergeben.
Diese Request sollen in der Map activity immer jede 30 sekunden aktualisiert wird um die location von gewählten items zu updaten. Meine Frage wie soll die App wissen was der User beim ersten Request gewählt hat wenn der zweiter Request an den Server geschickt werden soll, wie soll die App wissen dass der Benutzer 1,3,6 gewählt hat?
2.Zur Zeit kriege ich in der onPostExecute method nur null. Ich kann die Daten "longitude, latitude, route and direction" in der data object beim Debuggen sehen und ich habe sie nach Deserialization wie man im Code sieht ausgegeben. Wie kann ich diese custom Arraylist an meine map activity übergeben?
Ich freue mich wenn jemand mir die erste Frage erklären könnte
Schöne Grüße,
the_time
Code:
public class GetLLRD {
Context mContext;
public void post_selected(String json, Context context) {
new MyAsyncTask().execute(json);
context = this.mContext;
}
class MyAsyncTask extends AsyncTask<String, Integer, List<ItemDTO>> {
ArrayList<ItemDTO> data;
@Override
protected List<ItemDTO> doInBackground(String... params) {
.
.
.
.
try {
Gson gson = new Gson();
Type listType = new TypeToken<List<ItemDTO>>() {
}.getType();
data = gson.fromJson(sb.toString(), listType);
} catch (JsonSyntaxException e) {
e.printStackTrace();
}
for (ItemDTO itemDTO : data) {
double latitude = itemDTO.getLatitude();
double longitude = itemDTO.getLongitude();
int route = itemDTO.getRoute();
String direction = itemDTO.getDirection();
System.out.println(latitude + ", " + longitude + ", "
+ ", " + route + ", " + direction);
}
.
.
.
.
return data;
}
protected void onPostExecute(ArrayList<ItemDTO> result) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
new MyAsyncTask().execute();
System.out.println("The method onPostExcute() in GETLLRD class was invoked again");
}
}, 1*30 * 1000);
if (result != null) {
Intent intent = new Intent(mContext, Map.class);
intent.putExtra("list",result);
mContext.startActivity(intent);
}else{
Log.e("123", "Avoiding null pointer, the dat is null in the GETLLRD class!!!");
}
}
}
}
MapdataJSON class:
Code:
public class MapDataJSON {
ArrayList<ItemDTO> items;
public MapDataJSON(ArrayList<ItemDTO> items) {
super();
this.items = items;
}
public ArrayList<ItemDTO> getItems() {
return items;
}
public void setItems(ArrayList<ItemDTO> items) {
this.items = items;
}
public static class ItemDTO implements Serializable {
private static final long serialVersionUID = 1L;
double latitude;
double longitude;
int route;
String direction;
public ItemDTO(double latitude, double longitude, int route,
String direction) {
super();
this.latitude = latitude;
this.longitude = longitude;
this.route = route;
this.direction = direction;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public int getRoute() {
return route;
}
public String getDirection() {
return direction;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public void setRoute(int route) {
this.route = route;
}
public void setDirection(String direction) {
this.direction = direction;
}
}
}
Zuletzt bearbeitet: