Beiträge von SnogDog

    Also die xml-Datei sieht dann so aus:

    XML
    <LinearLayout
            android:id="@+id/layout1"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:background="@drawable/ic_bg"
            android:orientation="vertical">
    
    
    ...


    Wenn ich Zeile 5 durch app:srcCompat="@drawable/ic_bg" ersetze, dann ist im Designer und wenn ich die App starte nur ein weißer Hintergrund




    Nehme ich Zeile 5 raus und setze in der Java-Datei den folgenden Code ein, funktioniert es seltsamerweise...

    Java
    LinearLayout einLayout = (LinearLayout)
                    findViewById(R.id.layout1);
    
    
            einLayout.setBackgroundResource(R.drawable.ic_bg);


    @mrt ich verstehe das nicht ganz, da meine xml-Datei von der Vektorgrafik wie folgt aussieht:


    XML
    <vector android:height="24dp" android:viewportHeight="380"
        android:viewportWidth="720" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
        <path android:fillColor="#70C8DC" android:pathData="M632,380l88,-45l0,-100l-117,-91z"/>
    ....
    </vector>

    Da habe ich Vector einfach durch Selector ersetzt und im Designer die Zeile app:srcCompat="@drawable/ic_bg" eingefügt. Allerdings habe ich dann auch kein Bild sondern einen weißen Hintergrund.

    Wenn ich
    vectorDrawables.useSupportLibrary = true
    einfüge, dann klappt es auch beim S4 Mini, nur darf ich einem Layout (z.B. LinearLayout) im Layout-Designer keinen Vector als Background zuweisen. Bei ImageViews klappt es problemlos. Weise ich dann dem Background in der Activity.java eine Vektorgrafik zu, funktioniert es.


    Wie kann es sein, dass es im Designer nicht funktioniert und über die Java-Datei schon???

    Moin zusammen!


    1. Frage)
    Verstehe ich es richtig, dass ich mit dem folgenden Code:
    Eine Liste vom Typ "Customer", eine Klasse die ich selbst definiert habe, erstelle und diese dann über einen ArrayAdapter vom Typ "Customer" an meine ListView "customerListView" koppel?


    2. Frage)
    Wieso lautet der Code in Zeile 2:
    List<Customer> emptyListForInitialization = new ArrayList<>();
    und nicht
    List<Customer> emptyListForInitialization = new List<>();


    3. Frage)
    Ich würde gerne das Layout "simple_list_item_multiple_choice" anpassen und habe mir ein eigenes Layout definiert "layout.custom_customer_layout".
    Damit ich diese aber verwenden kann, müsste ich Zeile 8 auskommentieren.
    Nun habe ich dann in Zeile 5 das "simple_list_item_multiple_choice" und in Zeile 12 mein "layout.custom_customer_layout". Muss ich wirklich an beiden Stellen ein Layout vorgeben? Zum Beispiel beide male mein "layout.custom_customer_layout"? Irgendwie sieht das nämlich etwas seltsam aus.


    4. Frage)
    In meinem "layout.custom_customer_layout" ist ein CheckedTextView-Widget wie im "simple_list_item_multiple_choice". Nur bekomme ich es leider nicht hin, das es wie im "simple_list_item_multiple_choice" markiert wird, sobald ich länger gedrückt halte. Wie müsste ich da meinen Code anpassen?



    Moin,


    ich habe mit Illustrator Vektorgrafiken erstellt diese dann als svg-File gespeichert und in mein Projekt geladen. Diese werden nun im Ordner "drawable" als .xml aufgelistet.
    Ich habe eine Activity designt und habe dort einem LinearLayout als Hintergrund eine Vektorgrafik hinterlegt.
    Zudem habe ich ein ImageView, das als Vektorgrafik einen einfachen weißen Kreis hat.


    Ich bekomme nur beim ImageView ein rotes Ausrufezeichen (nicht beim LinearLayout) mit der Meldung, dass ich bitte vectorDrawables.useSupportLibrary = true setzen solle, wenn ich VectorDrawableCompat benutzen möchte.
    Tue ich es nicht, kann ich es trotzdem kompilieren und auf mein Smartphone laden.


    Auf meinem Sony Xperia Ultra (Android 7.0) sieht alles ganz gut aus!
    Auf meinem Samsung Galaxy S4 Mini (Android 4.4.2) ist der Hintergrund vom LinearLayout und auch der Kreis sehr unschaf/verpixelt.



    Setze ich dann vectorDrawables.useSupportLibrary = true (in der build.gradle) stürtzt die App beim S4 Mini immer ab.



    Hätte da jemand eine Lösung parat? Ich vergleiche nämlich immer die App auf beiden Geräten, da ich überall ein gutes Gesamtbild gewährleisten möchte, doch in dem verpixelten Zustand ist es äußerst schade.





    Weitere Infos:
    android {
    compileSdkVersion 28
    defaultConfig {
    applicationId "........."
    minSdkVersion 14
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }


    buildTypes {
    release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }


    }


    dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }

    Ja da hast du recht!


    Bin jetzt auch zu dem Schluss gekommen, dass ich eigentlich eine einzige Datenbank nutzen kann.


    Die Klasse Hersteller kann ja ein ArrayList von Fahrzeug haben und Fahrzeug ein ArrayList von "Ausstattung" und per query-Abfrage könnte ich doch an meine Informationen kommen, die ich brauche oder?


    Ich weiß nur noch nicht ganz genau wie ich das mit dem importieren und exportieren der "Ausstattung" händeln soll.


    Und kann ich denn die Tabellennamen dynamisch erstellen? Oder muss ich den im Quelltext fest vorgeben?



    Aber ich befasse mich jetzt erstmal mit Datenbanken im Allgemeinen.

    Moin zusammen!


    Ich stehe gerade auf dem Schlauch und bräuchte eure Meinung dazu:


    1) Ich habe eine Activity die ein ListView hat
    Die Activity zählt Autohersteller auf
    Über die selbe Activity können Autohersteller beliebig hinzugefügt werden
    2) Klicke ich auf einen Autohersteller, so öffnet sich eine neue Activity mit einer weiteren ListView
    Diese ListView zählt alle Modelle/Fahrzeuge auf
    Auch Modelle/Fahrzeuge kann ich in der Activity hinzufügen
    3) Klicke ich auf ein Modell/Fahrzeuge so öffnet sich wieder eine Activity mit einer ListView
    Diese ListView wird alle möglichen Daten zum Fahrzeug fassen


    Mir ist jetzt speziell wichtig, dass ich die Daten aus dem 3) Punkt importieren und exportieren kann.


    Also Person XYZ sollte auf seiner App dann auch die Daten importieren können, wenn er den Hersteller und das Modell/Fahrzeug hinzugefügt hat.
    Den 1) Punkt hatte ich jetzt mit einer ORMLite Datenbank umgesetzt und habe die Datenbank einfach "Autohersteller.db" genannt.


    Also ich den 2) Punkt umsetzen wollte dachte ich mir:
    Dafür lege ich auch eine ORMLite Datenbank an.
    Der Name der Datenbank sollte sich aus dem Namen des Hersteller und dem dann hinzugefügten Fahrzeug zusammensetzen.
    Über den intent-Befehlt wollte ich dann einfach den Hersteller, den ich in der ListView angeklickt habe, als String an die neue Activity weitergeben.


    Das Problem ist, wenn der Befehl:
    OpenHelperManager.getHelper(this, DatabaseHelper.class);
    Ausgeführt wird kann ich ihm den String nicht übergeben und der DatabaseHelper.class fehlt dann der Name des Herstellers.
    ----> Wie kann man also Datenbanken mit dynamischen Namen erstellen?




    Ich hatte dann auch eine 2te DatabaseHelper.class angelegt (DatabaseHelper2.class), weil in der DatabaseHelper.class der Datenbankname ein statischer war ("Autohersteller.db")
    und die nächste Datenbank einen "dynamischen" Namen hat, der sich aus dem ausgewählten Hersteller und aus dem Modell/Fahrzeug zusammensetzt.
    So sind ja diverse Möglichkeiten vorhanden.



    Ich finde das aber mit mehreren DatabaseHelper-Klassen nicht sehr elegant. Allerdings gibt es in der Klasse auch eine Methode:
    public Dao<Hersteller, Integer> getHerstellerDao()...
    Beim Modell/Fahrzeug bräuchte ich ja auch so eine Methode.
    ---> Heißt es also, dass ich so eine DatabaseHelper-Klasse immer nur für eine einzige Klasse auslegen kann?


    Hättet ihr da eventuell einen besseren und eleganteren Weg?

    OMG es hat funktioniert vielen Dank!!!!
    Danke hast meine Laune mit einem Schlag um 180° gedreht ;) ! Ich schaue mir die Kommentare noch bis heute Abend an und wenn ich nichts mehr finde, was ich nicht verstehe, dann setzte ich das Thema auf gelöst.


    Vielen DANK!

    Moin zusammen,


    ich besitze ein Sony Xperia Ultra A1 mit der Version 7.0 und möchte es unter keinen Umständen rooten. Ich versuche schon seit über 12 Stunden verzweifelt eine Datei (z.B.) Text-Datei auf eine Micro-SD-Card zu speichern, jedoch erfolglos....


    Zu meinen Fragen: (Projekt im Anhang)
    tryToWriteOnMicroSD.zip
    [Blockierte Grafik: https://s1.imagebanana.com/file/180930/8dnq2xeb.PNG]


    1) in Zeile 30 frage ich eine Berechtigung zum schreiben ab, die sich einer Zahl (2) aus Zeile 14 bedient. Warum ist es der Wert 2 und reicht es als Abfrage für die Berechtigung? Im Mainfest habe ich die Permission auch hinzugefügt. (Habe die Abfrage mit der Berechtigung nicht selbst hinbekommen und dann den Codeschnipsel kopiert...)



    2) In Zeile 16 setze ich einen absoluten Pfad. Ich habe meine Micro-SD-Card eingesteckt, Fx Explorer aus dem Playstore geladen und mir die Infos der Micro SD Card anzeigen lassen (siehe Bilder):


    [Blockierte Grafik: https://s2.imagebanana.com/file/180930/LkTMUcc6.png]


    [Blockierte Grafik: https://s2.imagebanana.com/file/180930/dqaQZpFH.png]


    Ich habe es nicht geschafft den Pfad mittels Anweisungen herauszubekommen...
    a) Das komische ist, dass wenn ich diesen Pfad angebe, im internen Speicher unter Android -> data -> "Projekt-Ordner" -> files -> storage -> 8775-12FF (Name der Micro-SD-Card laut Fx Explorer)
    die Textdatei erzeugt wird. Der Ordner 8775-12FF ist vorher nicht vorhanden und wenn ich in Zeile 16 einen anderen Ordner angebe funktioniert es nicht. Ich kann allerdings auch direkt unter files und storage speichern.


    Warum wird nur ein Ordner mit dem Namen der Micro-SD-Card akzeptiert und kein anderer und warum befindet sich dieser auf dem internen Speicher????
    (Hinweis: Ich kann die Ordner und Datei nur mit dem Fx Explorer sehen).


    b) Ich habe gelesen, dass der Befehl .getExternalFilesDir(null) zwei Argumente zurückgibt und dass das zweite Argument der Pfad zum externen Speichermedium ist, sofern vorhanden. Ich bekomme den Befehlt allerdings nicht in meinem Code implementiert. Die App stürzt dann immer ab. Könnte mir da jemand meinen Code überarbeiten?