Salut tous le monde ! j’espère que vous allez bien.
Donc je début sur l'Android et je veux connecter mon application avec la BBD MySQL en utilisant JDBC .
Quand j’exécute mon projet j'ai l'erreur : com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

J'ai ajouté la permission <uses-permission android:name="android.permission.INTERNET"/>


J'utilise Android studio 3.1.2

Voila ma class connection :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
 
import java.sql.Connection;
import java.sql.DriverManager;
 
 
public class ConnectionMysql {
 
    static Connection con = null;
    static String url = "jdbc:mysql://192.168.1.6:3306/NomBaseDeDonnee";
    static String driverName = "com.mysql.jdbc.Driver";
    static String username = "root";
    static String password = "root";
 
 
    public static Connection getMyConnection() {
 
        try {
 
            Class.forName("com.mysql.jdbc.Driver").newInstance();
 
 
            con = DriverManager.getConnection(url, username, password);
 
            System.out.println("Connected to the server :) ");
 
 
        } catch (Exception ex) {
            System.out.println(ex);
 
 
        }
        return con;
 
 
    }
}

J'ai appelé la classe dan OnCreate :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 
 
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
 
import java.sql.Connection;
 
public class MainActivity extends AppCompatActivity {
 
    Connection con=null;
 
    TextView tv ;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        con  = ConnectionMysql.getMyConnection();
 
        tv = (TextView) findViewById(R.id.tvTest);
 
        if (con != null){
            tv.setText("  Connected   ");
        }else{
            tv.setText("  Not connected   ");
        }
 
    }
}

Et voila mon Gradle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
 
 
apply plugin: 'com.android.application'
 
android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "it.makroumdev.jdbctest"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
 
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation project(':mysql-connector-java-5.1.46-bin')
}

Cordialement