Transformer un ArrayList java, en bdd android

Sungie Messages postés 5 Date d'inscription dimanche 4 décembre 2016 Statut Membre Dernière intervention 19 février 2018 - Modifié le 19 févr. 2018 à 00:05
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 20 févr. 2018 à 11:36
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.

2 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
20 févr. 2018 à 11:36
Salut,

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



1
KX Messages postés 16739 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 19 mai 2024 127
19 févr. 2018 à 13:41
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();
}
0
Rejoignez-nous