IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

lire/écrire une base de donnée sqlite ou autre sur un stockage usb


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    médical
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : médical

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Points : 71
    Points
    71
    Par défaut lire/écrire une base de donnée sqlite ou autre sur un stockage usb
    Aujourd'hui, le moyen simpliste que propose android pour lire le contenu d'un disque usb est de passer par un documentfile.
    je cherche à y stocker une base de donnée (et pas ailleurs) pour des raisons qui remplissent mon cahier des charges que je me suis fixé, je ne cherche pas de solutions alternatives me proposant de la stoquer ailleurs que sur un disque externe usb/clé usb.

    Je n'arrive pas à trouver d'exemples exploitant une base de donnée qui pourrait fonctionner avec un documentfile ou son Uri.

    Qui aurait des solutions à me proposer (un exemple qui remplit ces conditions, une base de donnée autre que sqlite qui fonctionne avec ces conditions,...)? merci.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Il faut arriver à convertir ton uri en chemin complet.
    Peut être un début de réponse ici : https://gist.github.com/asifmujteba/...e-asfurihelper (non testé)

    Une fois cette étape faites tu n'as plus qu'à ouvrir la base classiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY);
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    médical
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : médical

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par grunk Voir le message
    Il faut arriver à convertir ton uri en chemin complet.
    Peut être un début de réponse ici : https://gist.github.com/asifmujteba/...e-asfurihelper (non testé)

    Une fois cette étape faites tu n'as plus qu'à ouvrir la base classiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY);
    je te remercie pour ta participation, j'ai regardé le code source, mais il ne gère que les content:// provenant du primary, ça ne fonctionnera donc pas.

    Avant on pouvait accéder au contenu de l'usb en passant par un accés /mnt/.... ou /storage/ je crois. ça ne semble plus fonctionner sur OReo non rooté...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
                // ExternalStorageProvider
                if (isExternalStorageDocument(uri)) {
                    final String docId = DocumentsContract.getDocumentId(uri);
                    final String[] split = docId.split(":");
                    final String type = split[0];
     
                    if ("primary".equalsIgnoreCase(type)) {
                        return Environment.getExternalStorageDirectory() + "/" + split[1];
                    }
     
                    // TODO handle non-primary volumes
                }

  4. #4
    Membre régulier
    Femme Profil pro
    Developpeur logiciel
    Inscrit en
    Juin 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 62
    Points : 74
    Points
    74
    Par défaut
    Salut !

    Je te laisse regarder et comprendre ce gist !
    C'est un bon exemple et ça devrait t'aider ! A dispo pour des questions !

    https://gist.github.com/SarahBourgeo...f3a512cc10c20b

Discussions similaires

  1. Lire une base de donnée sqlite avec sql.js
    Par clo_ljk dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/08/2014, 13h26
  2. [MySQL] Recherche d'un script pour lire/écrire une base systeme
    Par WhoIsTiti dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/03/2009, 17h06
  3. lire d'une base de données et stocker dans un tableau
    Par michael_MS dans le forum ASP.NET
    Réponses: 23
    Dernier message: 21/11/2008, 15h00
  4. lire d'une base de données et stocker dans un tableau
    Par michael_MS dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/11/2008, 11h10
  5. créer une boulce pour lire dans une base de donnéé MySQL
    Par pierrot10 dans le forum Administration
    Réponses: 1
    Dernier message: 26/07/2006, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo