Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Java-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
//##################################################################### // SERIALISIERUNG ##################################################### //##################################################################### public static String objectToString(Object obj) { String out = null; if (obj != null) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(obj); out = new String(Base64Coder.encode(baos.toByteArray())); } catch (IOException e) { return null; } } return out; } public static Object stringToObject(String str) { Object out = null; if (str != null) { try { ByteArrayInputStream bios = new ByteArrayInputStream(Base64Coder.decode(str)); ObjectInputStream ois = new ObjectInputStream(bios); out = ois.readObject(); } catch (IOException e) { return null; }catch (ClassNotFoundException e) { return null; } } return out; } public boolean storeMyData(FrameLayout myDataObject, String Dataname ) { try { String s = objectToString(myDataObject); if(s != null && s.length() > 0) { memoryEdit.putString(Dataname, s); memoryEdit.commit(); return true; } return false; }catch (Exception e) { return false; } } public FrameLayout loadMyData(String Dataname) { if(memory.contains(Dataname)) { String s = memory.getString(Dataname, ""); if(s.length() > 0) { try { return (FrameLayout) stringToObject(s); } catch (Exception e) { return null; } } } return null; } |
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
//##################################################################### // OnCREATE ########################################################### //##################################################################### public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); debug = new AlertDialog.Builder(this); debug.setMessage("bin da").setCancelable(true); debugText = debug.create(); debug2 = new AlertDialog.Builder(this); debug2.setMessage("bin auch da").setCancelable(true); debugText2 = debug2.create(); //Verbindung zum Speicher aufbauen memory = getSharedPreferences("DATA", 0); memoryEdit = memory.edit(); //Die einzelnen Views variablen zuweisen uebersicht = (FrameLayout)findViewById(R.id.Uebersicht); termine = (FrameLayout)findViewById(R.id.Termine); stundenplan = (FrameLayout)findViewById(R.id.Stundenplan); notenverwaltung = (FrameLayout)findViewById(R.id.Notenverwaltung); //neuen GestenScanner gestureScanner = new GestureDetector(this); //Views an Variablen binden flipper = (ViewFlipper)findViewById(R.id.flipper); uebersicht_einstellungen = (FrameLayout)findViewById(R.id.uebersicht_einstellungen); uebersicht_einstellungen.setOnClickListener(this); stundenplan_einstellungen = (FrameLayout)findViewById(R.id.stundenplan_einstellungen); stundenplan_einstellungen.setOnClickListener(this); stundenplan_stundeAdd = (FrameLayout)findViewById(R.id.stundenplan_stundeAdd); stundenplan_stundeAdd.setOnClickListener(this); //Einstellungen Laden loadSettings(); } //##################################################################### // RÜCKGABEWERT-ACTIVITY ############################################## //##################################################################### @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == 1) loadSettings(); } //##################################################################### // EINSTELLUNGEN LADEN ################################################ //##################################################################### private void loadSettings() { //Anzeige der Views individuell anzeigen if(!memory.getBoolean("check_termine", false)) { flipper.removeView(termine); } else { if(!termine.getParent().equals(flipper)) { flipper.addView(termine); } } if(!memory.getBoolean("check_stundenplan", false)) flipper.removeView(stundenplan); else { if(!stundenplan.getParent().equals(flipper)) flipper.addView(stundenplan); } if(!memory.getBoolean("check_notenverwaltung", false)) flipper.removeView(notenverwaltung); else { if(!notenverwaltung.getParent().equals(flipper)) flipper.addView(notenverwaltung); } } //##################################################################### // OnClick-Methode #################################################### //##################################################################### @Override public void onClick(View eventElement) { if(eventElement.equals(uebersicht_einstellungen)) { startActivityForResult(new Intent(this, Settings.class), 1); } else if(eventElement.equals(stundenplan_einstellungen)) { startActivityForResult(new Intent(this, Settings.class), 1); } else if(eventElement.equals(stundenplan_stundeAdd)) startActivityForResult(new Intent(this, UnterrichtsStundeAdd.class), 2); } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
//##################################################################### // OnCREATE ########################################################### //##################################################################### protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.settings); debug = new AlertDialog.Builder(this); debug.setMessage("Settings: bin da").setCancelable(true); debugText = debug.create(); memory = getSharedPreferences("DATA", 0); memoryEdit = memory.edit(); check_stundenplan = (CheckBox)findViewById(R.id.check_stundenplan); check_notenverwaltung = (CheckBox)findViewById(R.id.check_notenverwaltung); check_termine = (CheckBox)findViewById(R.id.check_termine); einstellungen_speichern = (Button)findViewById(R.id.einstllungen_speichern); einstellungen_speichern.setOnClickListener(this); loadSettings(); } //##################################################################### // OnClick-Methode #################################################### //##################################################################### @Override public void onClick(View eventElement) { if(eventElement.equals(einstellungen_speichern)) { memoryEdit.putBoolean("check_stundenplan", check_stundenplan.isChecked()); memoryEdit.putBoolean("check_notenverwaltung", check_notenverwaltung.isChecked()); memoryEdit.putBoolean("check_termine", check_termine.isChecked()); memoryEdit.commit(); setResult(1); finish(); } } //Beim erneuten Aufruf von Einstellungen, die Checkboxen so anzeigen, wie der Nutzer sie eingestellt hat private void loadSettings() { check_stundenplan.setChecked(memory.getBoolean("check_stundenplan", true)); check_notenverwaltung.setChecked(memory.getBoolean("check_notenverwaltung", true)); check_termine.setChecked(memory.getBoolean("check_termine", true)); } } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
09-05 21:33:11.894: W/IInputConnectionWrapper(5017): showStatusIcon on inactive InputConnection 09-05 21:33:24.605: D/AndroidRuntime(5101): Shutting down VM 09-05 21:33:24.605: W/dalvikvm(5101): threadid=1: thread exiting with uncaught exception (group=0x40015578) 09-05 21:33:24.609: E/AndroidRuntime(5101): FATAL EXCEPTION: main 09-05 21:33:24.609: E/AndroidRuntime(5101): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=0, data=null} to activity {de.xorstudios.youplan/de.xorstudios.youplan.YouPlanActivity}: java.lang.NullPointerException 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.ActivityThread.deliverResults(ActivityThread.java:2536) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2578) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.ActivityThread.access$2000(ActivityThread.java:117) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:965) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.os.Handler.dispatchMessage(Handler.java:99) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.os.Looper.loop(Looper.java:123) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.ActivityThread.main(ActivityThread.java:3687) 09-05 21:33:24.609: E/AndroidRuntime(5101): at java.lang.reflect.Method.invokeNative(Native Method) 09-05 21:33:24.609: E/AndroidRuntime(5101): at java.lang.reflect.Method.invoke(Method.java:507) 09-05 21:33:24.609: E/AndroidRuntime(5101): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 09-05 21:33:24.609: E/AndroidRuntime(5101): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 09-05 21:33:24.609: E/AndroidRuntime(5101): at dalvik.system.NativeStart.main(Native Method) 09-05 21:33:24.609: E/AndroidRuntime(5101): Caused by: java.lang.NullPointerException 09-05 21:33:24.609: E/AndroidRuntime(5101): at de.xorstudios.youplan.YouPlanActivity.loadSettings(YouPlanActivity.java:156) 09-05 21:33:24.609: E/AndroidRuntime(5101): at de.xorstudios.youplan.YouPlanActivity.onActivityResult(YouPlanActivity.java:118) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.Activity.dispatchActivityResult(Activity.java:3908) 09-05 21:33:24.609: E/AndroidRuntime(5101): at android.app.ActivityThread.deliverResults(ActivityThread.java:2532) 09-05 21:33:24.609: E/AndroidRuntime(5101): ... 11 more 09-05 21:33:33.039: I/Process(5101): Sending signal. PID: 5101 SIG: 9 |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »XoR« (05.09.2012, 21:49)
Quellcode |
|
1 2 3 4 5 6 7 8 |
if(!(termine.getParent() == flipper)) flipper.addView(termine); if(!(stundenplan.getParent() == flipper)) flipper.addView(stundenplan); if(!(notenverwaltung.getParent() == flipper)) flipper.addView(notenverwaltung); |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (06.09.2012, 07:07)
Werbeanzeige