Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Accessibilità risorse QML in Android
Qt 6.11 is out! See what's new in the release blog

Accessibilità risorse QML in Android

Scheduled Pinned Locked Moved Unsolved Italian
2 Posts 2 Posters 792 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bilbo69
    wrote on last edited by
    #1

    Ciao a tutti,
    Ho un progetto QML, nel quale c'è la classica area di risorse (qml.qrc).
    Quando viene compilato e trasferito su Android ho capito che il tutto risiede in un'area normalmente non accessibile agli utenti (area visibile solo se si hanno i permessi di root).

    Nell'area risorse, oltre alla classica cartella "images" ho creato un'altra cartella "pdf" dove sono conservati alcuni pdf che vorrei aprire da codice, alla pressione di un pulsante (immaginiamo myPdfFile.pdf)

    Mi viene però il dubbio che questa cosa sia impossibile di principio, essendo appunto un'area accessibile solo a chi ha i permessi di root.

    In ogni caso, se dovesse essere possibile, ci sarebbe il problema di capire il percorso assoluto di questa cartella. Questo perché per aprire un pdf utilizzo questa funzione lato c++ in cui bisogna passargli (nella var. file) il percorso completo.

    void MyPDF::openPDF(QString file)
    {
        QDesktopServices::openUrl(QUrl::fromLocalFile(file));
    }
    

    Ora, nel main.c ho inserito questa riga:

    qDebug() << "Application Dir path:" << QCoreApplication::applicationDirPath();
    

    che ha risposto
    Application Dir path: "/data/app/org.qtproject.example-2/lib/arm"

    quindi ho supposto che il mio folder pdf sia
    /data/app/org.qtproject.example-2/lib/arm/pdf

    chiamando però la funzione
    openPDF("/data/app/org.qtproject.example-2/lib/arm/pdf/myPdfFile.pdf")

    il lettore PDF si apre ma il file no (con un avviso "fail to load pdf file").
    Credo a questo punto che le ipotesi siano 2:

    • il path è sbagliato: ApplicationDirPath è una cosa, le risorse stanno da un'altra parte
    • il path è corretto ma l'accesso al file è inibito perché non ho i permessi di root
      (in realtà potrebbero anche essere entrambi ;-)

    Chiedo quindi se qualcuno ha mai avuto problemi del genere
    Grazie!

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #2

      Purtroppo non e' per niente banale. L'immenso @ekkescorner ha scritto un blog che illustra il processo: https://blog.qt.io/blog/2017/12/01/sharing-files-android-ios-qt-app/

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved