Beiträge von Timee
-
-
Hi,
ich möchte die Einträge aus meiner Preferences Datei in einer Activity weiterverarbeiten und zu Testzwecken erstmal in einem TextView anzeigen.
Leider bekomme ich immer nur den defValue angezeigt.einstellungen.xml
Code
Alles anzeigen<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <PreferenceCategory android:title="@string/txt_einstellungen"> <EditTextPreference android:title="@string/txt_einstellungen_benutzer" android:key="benutzer" android:defaultValue="" /> <EditTextPreference android:title="@string/txt_einstellungen_passwort" android:key="pass" android:defaultValue="" android:inputType="textPassword" /> </PreferenceCategory> </PreferenceScreen>
activity_buffcom.xml
Code
Alles anzeigen<TextView android:id="@+id/tf_benutzer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/txt_benutzer" android:layout_alignBottom="@+id/txt_benutzer" android:layout_marginLeft="10dp" android:layout_toRightOf="@+id/txt_benutzer" android:text="@string/tf_benutzer" /> <TextView android:id="@+id/tf_passwort" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/txt_passwort" android:layout_alignBottom="@+id/txt_passwort" android:layout_alignLeft="@+id/tf_benutzer" android:text="@string/tf_passwort" />
BuffcomActivity.java
Java
Alles anzeigenpublic void onResume(){ super.onResume(); final TextView tf_benutzer = (TextView) findViewById(R.id.tf_benutzer); final TextView tf_passwort = (TextView) findViewById(R.id.tf_passwort); SharedPreferences settings = getSharedPreferences("Einstellungen", MODE_PRIVATE); String benutzername = settings.getString("benutzer", "offline"); String passwort = settings.getString("pass", "nixdrin"); tf_benutzer.setText(benutzername); tf_passwort.setText(passwort); }
[Blockierte Grafik: http://www.timeepic.de/timeepic/1204102323.jpg]Wenn ich die Einstelluneg öffne werden die zuvor von mir eingegebenen Werte angezeigt.
Warum bekomme ich nicht die richtigen Einträge aus Einstellungen in meiner Activity angezeigt?THX
Timee -
Hi,
für eine andere Anwendung hatte ich mal eine PHP Datei erstellt, welche mir eine XML generiert.
Genau diese XML möchte ich nun per Webaufruf ("http://www.meineseite.de/datei.php") im Android App auslesen.PHP
Alles anzeigen$newxml = '<?xml version="1.0" encoding="UTF-8"?>'; $newxml .= "<user>". " <username>".$username."</username>". " <user_id>".intval($userid)."</user_id>". " <buff_points>".intval($buff_points)."</buff_points>". " <buffs_all>".intval($buffs_all)."</buffs_all>". " <buffs_active>".intval($buffs_active)."</buffs_active>". " <buff_limit>".intval($buff_limit)."</buff_limit>". " <buffs_left>".intval($buffs_left)."</buffs_left>". " <buffs_free>".intval($buffs_free)."</buffs_free>". "</user>";
Nach einigen Nachforschungen bin ich auf die zwei Methoden DOM und SAX Parser gestoßen, welche der beiden ist am sinnvollsten und wie komme ich durch die anzuwendende Methode an meine Daten?
Danke für eure Unterstützung,
Gruß
Timee -
Danke killphil75,
hab deinen Tipp berücksichtigt und die Views "ausgelagert".
-
Danke für die Hilfe und die Tipps.
Tipps werden gerne angenommen und auch versucht umzusetzten.
Mit double statt int habe ich meine Berechnungen hinbekommen.Gruß
TimeeP.S. anbei noch das Ergebnis zum Nachschlagen oder zum Verbessern
Java
Alles anzeigenpublic class HandelsrechnerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_handelsrechner); } public boolean Zahlenprüfung (String s) { // Prüfen ob String LEER ist if (s.equals("")) { return false; } else { return true; } } public void HandelBerechnen(View view) { TextView textView1; TextView textView2; double berechnung = 0; String angebot; String kosten; // Eingabefelder auslesen textView1 = (TextView) findViewById(R.id.tf_angebot); textView2 = (TextView) findViewById(R.id.tf_kosten); angebot = textView1.getText().toString(); kosten = textView2.getText().toString(); // Prüfung auf NICHT LEER if (Zahlenprüfung(angebot) == true && Zahlenprüfung(kosten) == true) { try { // Handel auf 400er Stacks berechnen berechnung = (Double.parseDouble(kosten) / Double.parseDouble(angebot)) * 400; // Runden auf 2 Nachkommastellen berechnung = Math.round(berechnung*100)/100.0; // Werte <= 0 nicht anzeigen, da sinnlos if (berechnung <= 0) { Toast toast = Toast.makeText(this, "Das Ergebnis ist <= 0 und somit nutzlos!", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } else { // Ausgabe der Berechnung Toast toast = Toast.makeText(this, "Ein 400er Stack kosten dich " + String.valueOf(berechnung), Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } } catch (Exception e) { Toast toast = Toast.makeText(this, "Bei der Berechnung ist ein Fehler aufgetreten!", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } } else { Toast toast = Toast.makeText(this, "Eines oder beide Felder sind nicht ausgefüllt!", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } } }
-
Hallo Gemeinde,
ich versuche aus 2 EditText Feldern die Inhalte auszuleden, in Integer umzuwandeln, zu berechnen un danschließemd als TOAST auszugeben.
Leider bleibt das Ergebnis beim berechnen immer 0.EditText
Java
Alles anzeigen<EditText android:id="@+id/tf_angebot" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txt_info_handelsrechner" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:ems="10" android:inputType="number" android:digits="0123456789" android:text="@string/tf_angebot" > <requestFocus /> </EditText> <EditText android:id="@+id/tf_kosten" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/txt_angebot" android:layout_below="@+id/txt_angebot" android:layout_marginTop="20dp" android:ems="10" android:inputType="number" android:digits="0123456789" android:text="@string/tf_kosten" />
Methode HandelBerechnen()
Java
Alles anzeigenpublic void HandelBerechnen(View view) { TextView textView1; TextView textView2; int Berechnung = 0; String Angebot; String Kosten; String Ergebnis = ""; // Eingabefelder auslesen textView1 = (TextView) findViewById(R.id.tf_angebot); textView2 = (TextView) findViewById(R.id.tf_kosten); Angebot = textView1.getText().toString(); Kosten = textView2.getText().toString(); // Handel auf 400er Stacks berechnen Berechnung = (Integer.parseInt(Kosten) / Integer.parseInt(Angebot)) * 400; // Wenn kein Fehler bein Stringparsen, als TOAST ausgeben try { Ergebnis = String.valueOf(Berechnung); //Ergebnis = "Angebot: " + Angebot + "\nKosten: " + Kosten; Toast toast = Toast.makeText(this, Ergebnis, Toast.LENGTH_LONG); //Toast toast = Toast.makeText(this, "Ein 400er Stack kostet dich: " + Ergebnis, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } // Wenn Fehler, Fehlermeldung als TOAST ausgeben catch (Exception e) { Toast toast = Toast.makeText(this, "Es ist ein Fehler aufgetreten!", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } }
Danke für die Hilfe,
Gruß Timee
-
-
-
Hallo Gemeinde,
ich sitze gerade an meiner ersten Android App und habe ein Problem mit der Menübuttonbelegung des Handys.
Auf der MainActivity habe ich einen Button (ID:btn_einstellungen)erstellt, welcher mich zu den Preferences führt.
[Blockierte Grafik: http://www.timeepic.de/timeepic/1276379969.jpg]Javapublic void onButtonClick(View view) { switch (view.getId()) { case R.id.btn_einstellungen: startActivity(new Intent(this, Einstellungen.class)); break; } }
Wenn ich nun auf diesen Button klicke, komme ich auch zu meinen Einstellungen.
Allerdings hat das Handy ja auch einen festen Menübutton, bei dessen Klick ich auch zu meiner Einstellungsseite gelangen möchte.
[Blockierte Grafik: http://www.timeepic.de/timeepic/1482045993.jpg]Die Frage ist nun, wie spreche ich diesen festen Menübutton des Handys an?
Danke für die Hilfe meiner ersten Android Gehversuche