Auslesen der Länge einer XML-Datei in Android Studio

Diskutiere Auslesen der Länge einer XML-Datei in Android Studio im XML und Co. Forum; Hallo an alle, ich habe mir eine level-list Datei erstellt. Diese beinhaltet eine Anzahl x an item. Wie lese ich die Länge der Datei aus? Da...

  1. Javinner
    Javinner Aktives Mitglied
    Hallo an alle,

    ich habe mir eine level-list Datei erstellt. Diese beinhaltet eine Anzahl x an item. Wie lese ich die Länge der Datei aus?
    Da gibt es weder .size, noch .length, die Suche im Netz brachte leider nichts.
    Geht es überhaupt? Was mache ich falsch?
     
  2. Vielleicht hilft dir dieser Kurs hier weiter (Klick!)
  3. Robat
    Robat Bekanntes Mitglied
    Sind die Items in einem Array? Sowas wie:
    Code (Java):

    <resources>
        <string-array name="foo">
           <item>String1</item>
           <item>String2</item>
           <item>String3</item>
        </string-array>
    </resources>
     
  4. truesoul
    truesoul Bekanntes Mitglied
    Hallo.

    Ein XML Parser verwenden?
    Ich hoffe ich habe dich da richtig verstanden. Du willst nicht die Länge der XML-Datei haben sondern die Anzahl an Items?

    Grüße
     
  5. Javinner
    Javinner Aktives Mitglied
    @truesoul
    Exakt!
    Das ist die Datei:
    Code (Java):
    <?xml version="1.0" encoding="utf-8"?>
    <level-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:drawable="@drawable/dice_one"
            android:maxLevel="0" />
        <item
            android:drawable="@drawable/dice_two"
            android:maxLevel="1" />
        <item
            android:drawable="@drawable/dice_three"
            android:maxLevel="2" />
        <item
            android:drawable="@drawable/dice_four"
            android:maxLevel="3" />
        <item
            android:drawable="@drawable/dice_five"
            android:maxLevel="4" />
        <item
            android:drawable="@drawable/dice_six"
            android:maxLevel="5" />
    </level-list>
    Wie lese ich es aus? Ich versuche es über getResources(), jedoch ohne Erfolg.
     
  6. truesoul
    truesoul Bekanntes Mitglied
    Siehe diesen Beispiel

    Und eine Ressource:

    Resources res = activity.getResources();
    XmlResourceParser xrp = res.getXml(R.xml.your_resId);

    Link oder Hier

    P. S Habe jetzt erst verstanden das du eine Ressource auslesen willst.
     
    Zuletzt bearbeitet: 16. Mai 2018
  7. Robat
    Robat Bekanntes Mitglied
    Zwischenfrage: Wozu willst du denn die Anzahl der Items haben?
     
  8. Javinner
    Javinner Aktives Mitglied
    Ich lese mich gerade hier ein und habe etwas ausprobieren wollen, und zwar gibt es eine feine Sache wie level-list, mit setImageLevel(int x) kannst du dann einem ImageView die Bilder zuweisen.
    So wollte ich die Länge der xml-Datei auslesen und die Zufallszahl dieser als Bild an ImageView übergeben.
    Aber ich bekomme es nicht hin und ich verstehe es zum Teil nicht, warum ich eine xml-Datei, die im drawable-Ordner liegt nicht auslesen kann, obwohl es eine xml-Datei ist. Wenn ich ein xml-Ordner erstellen lasse und diese dann dort speichere, dann geht es, aber ich bekomme es trotzdem nicht hin, die Anzahl an Items auszulesen.
    Wenn ich in der getRandomNumber() eine Zahl vorgebe, dann funktioniert es einwandfrei. Ich würde gerne die Datei auslesen können, um es um weitere Seiten erweitern zu können, Figuren etc.
    Hier erstmal der Code:
    Code (Java):
    public class MainActivity extends Activity implements View.OnClickListener
    {


        Button btn_dice, btn_color;
        ImageView imageView;
        TextView textView;

        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            btn_dice = initializeButton(R.id.btn_dice);
            btn_color = initializeButton(R.id.btn_color);
            imageView = findViewById(R.id.imageView);
            textView = findViewById(R.id.textView);

        }

        private Button initializeButton(int id)
        {
            Button button = findViewById(id);
            button.setOnClickListener(this);
            return button;
        }

        @Override
        public void onClick(View v)
        {
            switch (v.getId())
            {
                case R.id.btn_dice:
                    imageView.setImageLevel(getRandomNumber());
                case R.id.btn_color:
            }
        }

        private int getRandomNumber()
        {
            /**
             * Hier komme ich nicht weiter, weil ich die sides_of_dice.xml nicht auslesen kann;
             */

            int x = 6;//mit der vorgegebenen Zahl funktioniert es einwandfrei
            return (int) (Math.random() * x);
        }
    }
     
  9. Robat
    Robat Bekanntes Mitglied
    Also ohne "umständlich" die XML zu parsen kommst du mEn nicht an die Länge heran.
    Vielleicht schaust du dir als alternative mal TypedArrays an. Dort kriegst du einfach die Länge heraus und das setzen des Bildes ist nicht aufwändiger.

    Hier findest du ein Paar Ansätze.
     
  10. Javinner
    Javinner Aktives Mitglied
    @truesoul @Robat
    Das Beispiel zum Thema level-list handelt sich um das Anzeigen für Akku oder WiFi etc. Eventuell ist es für den Zweck, für den ich es gerade benutzen wollte, garnicht gedacht. Werde mich weiter einlesen. Vielen Dank für Antwort und Hilfe!
     

Die Seite wird geladen...

Auslesen der Länge einer XML-Datei in Android Studio - Ähnliche Themen

Array: auslesen der Länge der jeweiligen Dimension
Array: auslesen der Länge der jeweiligen Dimension im Forum Hausaufgaben
Einzelnen String von langem Text auslesen
Einzelnen String von langem Text auslesen im Forum Allgemeine Java-Themen
gleichanfangende Zeilen solange auslesen bis es die gibt
gleichanfangende Zeilen solange auslesen bis es die gibt im Forum AWT, Swing, JavaFX & SWT
MP3 Lied länge auslesen mit JMF
MP3 Lied länge auslesen mit JMF im Forum Spiele- und Multimedia-Programmierung
Länge einer MP3-Datei auslesen
Länge einer MP3-Datei auslesen im Forum Allgemeine Java-Themen
Thema: Auslesen der Länge einer XML-Datei in Android Studio