Beiträge von killphil75

    Hallo Ihr beiden,


    also ich habe auch das Problem, gehabt, Daten (aus verschiedenen Quellen aufs Handy zu laden), da die Daten auch noch auf dem Handy abgelegt/gespeichert werden sollen, habe ich mich für xml entschieden.


    In meinem Fall also kein instant DB Zugriff, sondern zeitversetzt mit Speicherung in XML.


    -> Anfrage and den Server per php -> das baut ein XML file, welches ich mir runterlade und lokal speichere,
    per XmlPullParser kann ich das wunderbar verarbeiten und z.b Darstellen.


    der phil




    PS: Wenn du die JSOn VAriante wählst, dann musst du einfach einen HTTPRequest an dein PHP Skript schicken

    Zitat

    Danke für deinen Quelltext, er hat mir sehr geholfen

    Bitte :)


    Ok nun zu deinem anderen Problem hier mal wieder etwas Source als Denkansatz, ich habe nur den Listener für den ersten Spinner implementiert (der 2te wäre analog)


    -> EInfach 2 Spinner eingefügt spinner1 / spinner 2


    Mein Kopf der Klasse, kennste noch von gestern

    Code
    public class WplanActivity extends Activity {
    	
    	private static Spinner spinner2;
    	private static ArrayAdapter<String> unteradapter;
    	private Context context;
    
    
    	final String[] spinner_items_u1 = {"Z1Unter1","Z1Unter2","Z1Unter3"};
    	final String[] spinner_items_u2 = {"Z2Unter1","Z2Unter2","Z2Unter3"};
    	final String[] spinner_items_u3 = {"Z3Unter1","Z3Unter2","Z3Unter3"};


    in die onCreate Methode kommt das noch mit rein




    und das noch in die selbe Klasse
    (sehe gerade die If/else kannst bestimmt noch optimieren, aber so geht es erstmal)




    So das sollte Dir die Augen etwas öfnen,
    ich hab die Spinner mal mit Stringsbefüllt, natürlich kannst du xml aus den Resourcen nehmen, oder was auch immer.


    der phil

    Hmm also wenn du weisst wie du mit Eclipse, ein kleines Design zusammenklickerst dann hilf dir das sicherlich als Grundgerüst.
    Hat jetzt nur 5 minuten gedauert. Einfach einen Edittext und einen Button ins Design ziehen. / Url anpassen und ab gehts
    Wichtig die Permissions im Manifest auf Internet setzen.




    tja bei 5min gibt es noch keine Fehlerabfrage, das müsstest du selber bauen.


    lg
    phil

    Also ich vermute mal deine App läuft nicht deswegen kann er auch nicht auf die Activity (er weiss ja nicht wie er die Initalisieren soll) zugreifen.
    Wenn ich andere Apps über den Launcher starte (hier zb. TuneIn) dann mache ich das so:


    Code
    Intent i = new Intent(Intent.ACTION_MAIN);
        PackageManager manager = getPackageManager();
        i = manager.getLaunchIntentForPackage("tunein.player");   
        i.addCategory(Intent.CATEGORY_LAUNCHER);
        startActivity(i);


    Also ich würde den Receiver in ein einzelnes Projekt packen und dein App daraus starten bzw. musst du den gesamten package Namen beim Zugriff angeben.


    lg
    der phil




    PS: http://www.androidenea.com/200…d-service-after-boot.html

    Hallo,


    Um nicht ständig Traffic zu verursachen möchte ich die Daten eines RSS Feeds lokal speichern - das klappt mit SQLite auch ganz gut.


    Wenn jetzt ein Update ansteht möchte ich natürlich nicht ständig die DB neu schreiben, sondern nur die neusten in der DB nicht vorhanden EInträge aktualisieren/synchronisieren.


    Mein Problem: Wie vergebe ich den RSS-Feeds eine identische ID/Beziehung damit ich Bestand im Internet / und den Datenbestand in der SQLite Datenbank abgleichen kann ??? Lokal haben die RSS Feeds ja eine _ID - aber im Netz habe ich soetwas ja nicht (bzw. kommt erschwerend hinzu, das ich 3 Feeds zusammen sammele)


    Das PubDate ist nicht immer eindeutig, da mehrere Einträge pro Tag auflaufen können.


    Unter php und mysql würde ich wahrscheinlich das "title" Feld des RSS Feed als Index/Key definieren und dann auf Duplicated prüfen, aber wie machen ich so etwas mit SQLite ??? Hat da eventl jmd. eine Idee bzw. einen eleganteren ganz anderen Ansatz ???


    der phil

    Ok, also wenn du in deiner Activity als Theme "[i]Theme_NoTitleBar_Fullscreen " [/i][i]wählst dann ist die Leiste doch weg,
    oder meinst du noch eine andere Leiste ???


    Ich habe in meiner App zB. ein eigenes Theme erschaffen, wo ich ein Hintergrundbild brauchte. Also leite ich von einem bestehenden Theme ab und füge nur mein Hintergrund dazu, der Vorteil: alles schön in XML und du kannst es wieder verwenden für all deine anderen Apps.


    datei: values/kstyle.xml
    [/i]

    Code
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="KStyle" parent="android:Theme.Light.NoTitleBar">
     
        <item name="android:windowBackground">@drawable/backgstier</item>
            
    </style>
    </resources>


    [i]Wichtig ist hier die Zeile mit: [/i]
    android:Theme.Light.NoTitleBar
    -> das ist das Theme von dem ich ableite


    [i]
    und in meinen Activities benutze ich dieses Theme als Theme / also im Manifest sieht das so aus.
    [/i]

    Code
    <activity android:theme="@style/KStyle" android:name=".RBLLinks"></activity>


    [i]
    der phil
    [/i]

    Hmm aus deinem Kauderwelsch werde ich nicht schlau. Zeig doch mal einen Screenshot und sag uns was dich stört bzw weg soll.


    Was ist ... die untere Zeile ????
    Was klappt beim Icon ????


    Im Manifest kannst du ein Theme vorwählen (in den Activities) - liest du hier unter Themes was so machbar ist:


    http://developer.android.com/r…yle.html#Theme_NoTitleBar


    Für Autostart gibt es mehrere Varianten:


    BroadcastReceiver erstellen und -> BOOT_COMPLETED action setzen.
    oder in der App einen Service starten, der halt immer läuft.


    Beides ist so ein zweischneidiges Schwert, musste halt selber mal sehen was besser für dich ist (Ich tippe auf Var1)



    der phil

    Hmm geht so weit ich weiss nur über den WifiManager


    Code
    import android.net.wifi.WifiInfo;
    import android.net.wifi.WifiManager;
    
    
        	WifiManager wifiMan = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
        	WifiInfo wifiInf = wifiMan.getConnectionInfo();
        	String macAddr = wifiInf.getMacAddress();


    Wichtig im Manifest:


    Code
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>



    der phil




    PS: im Emulator bekomm ich es nicht zum Laufen, da er immer der Meinung ist ich habe eine 3G Verbindung - aber auf dem Gerät funktioniert es ohne Probleme

    Hmm ohne Source ist wieder mal nur Rätselraten angesagt, was du schon hast bzw. wo es klemmt.


    Also bei einem EditText bekommst du den Inhalt per


    .getText () und dann ist das Ganze ein String, den du in eine Zahl umwandeln musst


    .ValueOf()


    und dann kannst du damit rechnen.

    Also der Emulator funktioniert schon gut und du kannst verschiedene Konfigurationen testen. Ebenso kannst du das Netzwerk drosseln, Eingehende Anrufe Simulieren ect. also der Emulator ist schon wichtig. Ich finde nur der Emu reagiert etwas behäbig. Ich habe hier einen i7 und trotzdem ist er manchmal etwas zäh. Deswegen teste ich auch noch mal auf dem Handy live.

    Du kannst doch aber im Tablelayout sagen welche Spalten shrinkable / expandable sein sollen.


    Code
    TableLayout tl = (TableLayout) findViewById(R.id.tableLayout1);
           		tl.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
           		tl.setColumnStretchable(1, true);
           		tl.setColumnShrinkable(1, true);