Transformer un ArrayList java, en bdd android

Messages postés
5
Date d'inscription
dimanche 4 décembre 2016
Statut
Membre
Dernière intervention
19 février 2018
-
Bonjour,

je suis actuellement face à un probleme qui me bloque dans un petit projet:

J'ai un file .txt qui contient une liste d'elements formatés que je dois injecter dans une base de données pour une application android.
J'ai reussi premierement à manipuler une bdd avec SQLite sur Android studio. Mais j'avais entré les valeurs à la fin.

J'ai donc mon .txt composé d elements de cette forme:
<nom objet>
[{x0,y1},{x1,y0}];
<autre objet>
[{x0,y0}];

J'ai fais un code en java (bondiouss c etait long...) qui crée un ArrayList<Indice> listIndice, avec Indice une classe que j'ai fait qui est composée d'un id, d'un nom, d'un x, et d'un y.

Mon ArrayList rempli d'indices, j'aimerai savoir, auriez vous une idée de comment exploiter ces Indices pour en faire une base de donnée exploitable par Android Studio, des tutos, des docs, des outils?
Je m'en remet à vous,
Cordialement Sungeon.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
5339
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
19 août 2019
82
1
Merci
Salut,

Utilise la librairie Room Persistence sous Android pour transformer ta classe Indice en table sqlite.



Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Twinuts
Messages postés
16007
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 août 2019
86
0
Merci
Bonjour,

Si tu as une liste d'Indice côté Java avec id, nom, x, y, il te faut une table en base de données avec les colonnes id, nom, x, y de manière équivalente.

Après c'est juste de la manipulation de base de données en Java.
https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

Exemple :

String sql = "insert into INDICE values (?, ?, ?, ?)";
try (Connection conn = DriverManager.getConnection(url, usr, pwd);
        PreparedStatement stmt = conn.prepareStatement(sql)) {
    for (Indice indice : indices) {
        stmt.setInt(1, indice.getId());
        stmt.setString(2, indice.getName());
        stmt.setDouble(3, indice.getX());
        stmt.setDouble(4, indice.getY());
        stmt.addBatch();
    }
    stmt.executeBatch();
} catch (SQLException e) {
    e.printStackTrace();
}
Commenter la réponse de KX