ArrayList speichern und laden

  • Antworten:7
YenoHDx
  • Forum-Beiträge: 4

25.02.2014, 17:12:17 via Website

Hi Leute,

ich habe eine Frage: Ich will eine ArrayList speichern und laden, aber weiß nicht wie genau. Ich habe schon lange im Internet nach einer Möglichkeit gesucht, komme jedoch zu keiner Lösung.

Mein Code:

1private ArrayList<HashMap<String, Object>> myList;
2
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 super.onCreate(savedInstanceState);
6 setContentView(R.layout.activity_main);
7
8 myList = new ArrayList<HashMap<String, Object>>();
9
10 addDataToList();
11
12 ListView mainListView = (ListView) findViewById(R.id.main_listview);
13
14 SimpleAdapter aa = new SimpleAdapter(this, myList, R.layout.row,
15 new String[] {"name", "town"},
16 new int[] {R.id.txt_name, R.id.txt_town});
17 mainListView.setAdapter(aa);
18}
19
20private void addDataToList(){
21 HashMap<String, Object> map1 = new HashMap<String, Object>();
22
23 map1.put("name", "Name");
24 map1.put("town", "Muskelgruppen");
25
26 myList.add(map1);
27
28
29 }

Ich würde mich freuen, wenn ihr mir weiterhelfen könntet und würde mich über eine Antwort freuen.

Grüße
Michi

— geändert am 25.02.2014, 17:13:49

Antworten
impjor
  • Forum-Beiträge: 1.793

25.02.2014, 17:19:44 via Website

Sieh dir mal den ObjectOutputStream / ObjectInputStream an.

So ist so bei dir aber bisher nicht möglich, da du eine HashMap<String, Object> verwendest. Der ObjectOutputStream kann aber nur Object speichern, die das Interface Serializable implementieren. ArrayList, HashMap und String tun dies, Object aber nicht. Du musst also eine eigene Klasse erstellen, die du anstelle von Object verwendest und die das Interface Serializable implementiert, oder du verwendest statt Object eine Java-Klasse die dies schon tut. (z.B: String)

LG

— geändert am 25.02.2014, 17:20:20

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
YenoHDx
  • Forum-Beiträge: 4

25.02.2014, 17:24:10 via Website

Ok danke für deine Antwort. Das hört sich wieder so kompliziert an :) Ich denke, dass ich die komplette ListView umbaue und ist es dann zu empfehlen, dass ich es dann mit einer Datenbank mache?

Antworten
impjor
  • Forum-Beiträge: 1.793

25.02.2014, 17:25:34 via Website

Naja, eigentlich ist es nur kompliziert, wenn du umbedingt auf deine HashMap<String, Object> bestehst und nicht auf HashMap<String, String> umbauen kannst...

Ob eine Datenbank nötig ist, kommt natürlich auf die Daten und deren Menge an...

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
YenoHDx
  • Forum-Beiträge: 4

25.02.2014, 17:30:08 via Website

Bin leider noch ein großer Anfänger in der Android Programmierung und habe diesen Code aus einem Beispiel und weiß auch nicht genau, was die HashMap und das Object bedeutet. Die ListView ist eine 2-zeilige.

Antworten
impjor
  • Forum-Beiträge: 1.793

25.02.2014, 17:35:06 via Website

YenoHDx
habe diesen Code aus einem Beispiel und weiß auch nicht genau, was die HashMap und das Object bedeutet.
Na dann, würde ich erstmal diese Begrifflichkeiten klären und mich in Java einlesen, bevor ich an diesem Projekt weiter mache (oder gar mit einer Datenbank anfange....)
Ohne java geht nichts und wenn du nciht weißt, was "Object" in diesem Kontext bedeutet ist da gaaaanz großer Nachhohlbedarf. Mit Android solltest du dich erst weiter beschäftigen, wenn dir implementieren, vererben, Interface, Klasse, & Objekt etwas sagen.
LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
YenoHDx
  • Forum-Beiträge: 4

25.02.2014, 17:49:24 via Website

Ok. Ich werde mir ein Buch wahrscheinlich zulegen. Ist es sinnvoll, dass ich mir eins zu Android hole oder eins zu Java?

Grüße
Michi

Antworten
impjor
  • Forum-Beiträge: 1.793

25.02.2014, 20:45:08 via App

Auf jeden Fall zu Java! Android kann man eigentlich recht leicht durch http://d.android.com/training erlernen, der Rest kommt. Aber Java ist deutlich schwieriger!
Bitte nicht auf die Verläge reinfallen die mit "Android ohne Java-Kenntnisse" werben!

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten