Sto cercando qualcosa come una matrice, ma è necessario memorizzare più tipi di dati. Le esercitazioni di Oracle Java dicono: "Un array è un oggetto contenitore che contiene un numero fisso di valori di un singolo tipo." Quindi, se non riesco a utilizzare un array per più tipi, cosa utilizzo?Come memorizzare più tipi di dati in un array?
Ho questo codice che aggiunge un solo marcatore alla mappa alla volta perché scrive sui miei valori lat e long ogni ciclo e passa solo l'ultimo a onPostExecute. Quindi avrò bisogno di qualcosa come un array per passare più forme di informazioni di contatto. cioè sto tirando la posizione da ogni stringa JSON, ma ho bisogno di tirare e passare il nome numero di telefono & per l'interfaccia utente da questo thread in background.
try {
String apples = endpoint.listContactInfo().execute().toString();
JSONObject jObject = new JSONObject(apples);
JSONArray jsonArr = jObject.getJSONArray("items");
for(int i =0 ; i<jsonArr.length() ;i++){
JSONObject jsonObj1 = jsonArr.getJSONObject(i);
// Storing each json item in variable
String id = jsonObj1.getString(TAG_ID);
String nameFirst1 = jsonObj1.getString(TAG_FIRSTNAME);
String nameLast1 = jsonObj1.getString(TAG_LASTNAME);
String emailAddress1 = jsonObj1.getString(TAG_EMAIL);
String streetAddress1 = jsonObj1.getString(TAG_ADDRESS);
String phone1 = jsonObj1.getString(TAG_PHONE);
//test to see if made it to string
Log.d("YOUR_TAG", "First Name: " + nameFirst1 + " Last Name: " + nameLast1);
address = coder.getFromLocationName(streetAddress1,5);
Address location1 = address.get(0);
// SET LAT LNG VALUES FOR MARKER POINT
lati = location1.getLatitude();
longi = location1.getLongitude();
Log.d("Location", "Location:" + lati + " " + longi);
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (long) 0;
}
// ADD MARKER TO MAP UI
protected void onPostExecute(Long result) {
mMap.addMarker(new MarkerOptions()
.position(new LatLng(lati, longi))
.title("Hello world"));
}
Deve essere un array? e non puoi usare arrayList?In tal caso, la risposta di Phillip Johada funzionerà, se non è realmente necessaria, allora puoi usare ArrayList
In generale, quando ti trovi a voler archiviare più tipi diversi di dati, dovresti scrivere una nuova classe per mantieni quel tipo, piuttosto che scaricare tutti quegli oggetti nello stesso array o nella stessa lista. –