On Demand Daten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • On Demand Daten

    Hallo Leute,

    ich entwickle im Moment eine Art Lern App für Kinder, bei dieser ist es möglich verschiedenste Bereiche per Video zu erlernen.

    Nun zu meiner Frage, die Videos sind unter res/raw/.... gespeichert.
    Natürlich ist aber der maximale Speicher von 150mb zum Uploaden auf den Play Store zu gering.

    In iOS ist es möglich diverse Assets per OnDemand zu laden, diese funktion habe ich aber hier bei Android noch nicht gefunden.
    Kann mir hier jemand weiter helfen?

    Lg und besten Dank im Voraus!
  • Ok ich glaube ich habe das Problem mit dem OnDemand mit Install-Time Delivery gelöst, nun habe ich ein Modul InstantTimeDerlivery, in dem nun die Videos gespeichert sind.
    Jedoch bekomme ich den Aufruf (Zeile 4) nicht hin.
    Hier der Code

    Quellcode

    1. var offlineUri: String
    2. BtnKnot1.setOnClickListener {
    3. offlineUri = "android.resource://$packageName/${R.raw.mastwurf}"
    4. val intent = Intent(this,VideoScreen::class.java)
    5. intent.putExtra("Uri", offlineUri)
    6. startActivity(intent)
    7. }
  • Hallo


    Wie ruft man den von einem Modul aus die Ressource?


    Von welchen Modul sprechen wir hier eigentlich?



    OK du Programmierst mit Kotlin.
    Hier sind zwar String Interpolationen mit“$“ möglich.
    Bei der ersten „$packageName“ gehen ich mit du wirst da wohl deine Variable packageName.
    Beim zweiten „${R.raw.mastwurf}“ wurde ich sagen nein.
    Hiermit bekommst du nicht den Int der Ressourse.
    "R.raw.mastwurf" ist eigentlich auch nur ein String der so nicht aufgelöst wird. Da hilft dir die "{}" auch nicht.

    Schaue dir an was für ein String in deiner VideoScreen Klasse in dem Intent ankommt.


    Wie du dann in der Klasse versuchst auf deine Ressourse zuzugreifen sehen wir nicht.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von nono124 ()

  • Hallo, erstmal Vielen Dank für die Antwort!

    anfangs hatte ich die Media Daten alle bei app/res/raw gespeichert und konnte sie dann so aufrufen:

    android.resource://$packageName/${R.raw.mastwurf}

    da jedoch die Videos die 150mb überschreiten zum hochladen in den Playstore, habe ich auf den InstallTimeDelivery zurück gegriffen. Wenn ichs richtig verstanden habe, dann ladet es hier nun nachdem die App herunter geladen wurde die restlichen Daten zur Verwendung.
    Hierzu wurde das Modul InstallTimeDelivery erzeugt (siehe Bild).
    Und genau hier möchte ich nun den Aufruf machen.
    Also die Media Daten aus InstallTimeDelivery/res/raw.

    Oder gibt es eine andere Art, habe leider nur diesen Bericht darüber gefunden und habs danach gebaut.
    developer.android.com/guide/app-bundle/on-demand-delivery

    Ich bräuchte eigentlich nur den Pfad der aufzurufenden Datei.
    Dachte nicht das das so kompliziert wird
    Bilder
    • Vorschau.PNG

      6,68 kB, 177×274, 16 mal angesehen