[JAVA] [Android] Connectez-vous à MySQL (non terminé)

Téléchargement JDBC

Vous avez besoin d'un pilote JDBC car vous ne pouvez pas vous connecter directement à la base de données depuis Android. Si vous n'avez pas installé MySQL, vous pouvez le télécharger et l'installer à partir de ce lien appelé Connector / J. https://dev.mysql.com/downloads/

Il y a mysql-connector-java-8.0.18.jar dans la hiérarchie de C: \ Program Files (x86) \ MySQL \ Connector J 8.0, alors ajoutez-le au chemin de construction.

Paramètre de chemin de construction

Ajoutez un fichier jar sous app / libs. De plus, ajoutez ce qui suit à build.gradle.

dependencies {
    compile files('libs/mysql-connector-java-8.0.18.jar)
}

Après cela, le bouton de synchronisation apparaîtra probablement, donc synchronisez.

・ URL de référence https://qiita.com/icchi_h/items/8ce738ce8511ef69c799

autorisation

Une autorisation est requise car il utilise le réseau. Ajout de ce qui suit.

<manifest>
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

Programme de connexion à MySQL

MainActivity.java

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
 //データベースに接続
            Connection con = MySqlConnect.getConnection();
 //ステートメントオブジェクトを作成
            Statement stmt = (Statement) con.createStatement();

            //SQL
            String mySql = "select date from table;";
            ResultSet rs = stmt.executeQuery(mySql);

            while(rs.next()) {
                Toast.makeText(getApplicationContext(), rs.getString("date"), Toast.LENGTH_LONG).show();
            }

 //オブジェクトを解放
            rs.close();
            stmt.close();
            con.close();

        } catch (Exception e) {
        }

MySqlConnect.java

class MySqlConnect{
  static Connection getConnection() throws Exception {
 //JDBCドライバのロード
    Class.forName("com.mysql.jdbc.Driver");
 //各設定
 String url = "jdbc: mysql: // nom d'hôte / nom de base de données";
    String user = "user_name";
    String pass = "password";
 //データベースに接続
    Connection con = DriverManager.getConnection(url,user,pass);
    return con;
  }
}

・ URL de référence https://qiita.com/ks_513/items/0b286c4932a8e36c672e

Où en difficulté

Actuellement, l'erreur suivante s'est produite et elle est incomplète. ・ ** Chemin inconnu référencé par ClassLoader **

J'ai essayé de définir le chemin de construction et d'examiner le fichier gradle, mais je n'ai pas pu percer.

Impressions

Je pensais que ce serait facile, mais cela prend beaucoup de temps. J'ai vu divers sites, mais je ne pense pas que ce soit pertinent car il n'y avait pas beaucoup d'écrit sur le traitement asynchrone. Mais https://qiita.com/ks_513/items/0b286c4932a8e36c672e Il y a une déclaration à la fin que le traitement asynchrone est meilleur, donc cela semble valoir la peine d'essayer.

Recommended Posts

[Android] Connectez-vous à MySQL (non terminé)
[Java] Connectez-vous à MySQL
Connectez-vous à MySQL 8 avec Java
Connectez-vous à Aurora (MySQL) depuis une application Java
Introduction à la mise en page Android
Comment installer MySQL
Pour se connecter de Spring à MySQL sur un serveur virtuel (non résolu)
J'ai démarré MySQL 5.7 avec docker-compose et j'ai essayé de me connecter
Impossible de se connecter au serveur MySQL local via l'erreur socket '/ tmp / mysql.sock' (2)
Impossible de se connecter au serveur MySQL local via la solution de contournement d'erreur socket '/ tmp / mysql.sock' (2)
Introduction au développement d'applications Android
Connectez-vous à plusieurs instances MySQL avec SSL activé dans JDBC
Connectez-vous de Java à PostgreSQL
Connectez-vous à DB avec Java
Impossible de se connecter au serveur MySQL local via le socket '/ var / lib / mysql / mysql.sock' (2) jusqu'à la résolution.
Essayez d'introduire OpenCV dans l'application Android
Opération pour connecter plusieurs Streams @Java
Basculer dynamiquement la base de données à laquelle se connecter
Développement Android-Essayez d'afficher une boîte de dialogue-
Impossible de connecter Javaplayfreamwork et Mysql (non résolu)
Comment "évider" une vue sur Android
mysql2 ne s'installe pas avec l'installation du bundle
Comment connecter Heroku et Sequel
Facile à utiliser Cloud Firestore (Android)
Changer la base de données de SQLite en MySQL
Mémo Android - J'étais accro à la permission
Connectez-vous au serveur Rails avec iPhone
Rails DB PostgreSQL a été remplacé par MySQL
[Android] Convertir le code Java Android en Kotlin
Mettre à jour MySQL de 5.7 à 8.0 avec Docker
[Android] Comment créer un fragment de dialogue
docker + mysql ne peut pas se connecter / Impossible de se connecter au serveur MySQL local via socket'var / run / mysqld / mysqld.sock '(2)
[Docker] Ne se connecte pas à MySQL workbench ... Paramètres de transfert de port du conteneur de base de données