- Forum-Beiträge: 209
23.09.2011, 12:45:01 via Website
23.09.2011 12:45:01 via Website
Ich habe eine Hashmap. Zur Zeit lasse ich diese immer erzeugen wenn sie benötigt wird. Das ist natürlich unschön. Am besten wäre ja, ich habe ein Objekt was die ganze Laufzeit der App da ist und dann muss die HashMap ja nicht immer neuerzeugt werden. Die App enthält aber mehrer Activities. Daher weiß ich noch nicht wie ich das machen kann.
Ich habe eine Hilfsklasse die Stellt die HashMap und die GetMethoden zur Verfügung.
Das hier ist meine Hilfsklasse. Und da würde ich halt ungern immer das Objekt immer wieder zu erstellen wenn ich eine neue Activitie starte. Oder ist das nicht schlimm? Also Performancetechnisch. Die HashMap wird eine Größe von 100 Einträgen haben.
2
3import org.json.JSONArray;
4
5import android.app.Activity;
6import android.content.SharedPreferences;
7
8
9public class DataName_ID {
10 private HashMap<Integer, String> hash_data = new HashMap<Integer, String>();
11 private HashMap<Integer, String> hash_land = new HashMap<Integer, String>();
12
13 public DataName_ID(Activity activity){
14 DataHashMapErzeugen(activity);
15 LandHashMapErzeugen(activity);
16 }
17
18 public String getDataName(int id){
19 return hash_data.get(id);
20 }
21
22 private void DataHashMapErzeugen(Activity activity){
23 SharedPreferences settings = activity
24 .getSharedPreferences("Daten", 0);
25 String text = settings.getString("daten", "0");
26
27 if(!text.equals("0")){
28 try {
29 JSONArray Jarr = new JSONArray(text);
30 for (int i = 0; i < Jarr.length(); i++) {
31 hash_liga.put(Jarr.getJSONObject(i).getInt("id_data"), Jarr.getJSONObject(i).getString("data_name_de"));
32 }
33 } catch (Exception e) {
34 e.printStackTrace();
35 }
36 }
37 }
38
39 private void LandHashMapErzeugen(Activity activity){
40 SharedPreferences settings = activity
41 .getSharedPreferences("Daten", 0);
42 String text = settings.getString("daten", "0");
43
44 if(!text.equals("0")){
45 try {
46 JSONArray Jarr = new JSONArray(text);
47 for (int i = 0; i < Jarr.length(); i++) {
48 hash_land.put(Jarr.getJSONObject(i).getInt("id_data"), Jarr.getJSONObject(i).getString("land_name_de"));
49 }
50 } catch (Exception e) {
51 e.printStackTrace();
52 }
53 }
54 }
55}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.