0

開発中のアプリケーションに問題があります。Android上のアプリケーションを使用して、WIFIネットワークのローカルにあるMysqlのデータベースに接続しようとしています。これには、mysql-connector-java 5.1.23 を使用した直接的な方法を使用します。アプリケーションは、私の nexus one (Android 2.3) で正常に動作します。しかし、私のnexus 7(Android 4.2)ではそうではありません。
エラーが発生しました:"com.mysql.jdbc.exceptions.jdbc4.communicationsexception communications link failure"

しかし、nexus 7 で市場のアプリケーション (connect2sql) を使用すると、データベースに簡単にアクセスできます。エラーはAndroidのバージョン(2.3対4.2)に関連していると思います(しかしわかりません)。誰かがすでにこの問題に遭遇していますか?

この件に関してご協力いただきありがとうございます。

(JDK 1.6で開発するためにEclipseを使用しています - ターゲットAPIは17で、Android 4.2に対応しています)

これはコードです:

package fr.apln.Rocketry_Challenge;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.Statement; 
import java.sql.SQLException;

public class testdirectmysql extends Activity {

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

        try {  
        Class.forName("com.mysql.jdbc.Driver").newInstance();  
        Connection con = DriverManager.getConnection("jdbc:mysql://192.168.1.50:3306/Rocketry_Challenge_1", "android", "XXXXX");  

        Statement st = con.createStatement();  
        st.executeQuery("USE Rocketry_Challenge_1;");
        Toast.makeText(this,  "C'est passé", Toast.LENGTH_LONG).show();
        ResultSet rs = st.executeQuery("SELECT * FROM projets;");  
        while(rs.next()) {  
        Toast.makeText(this, "Projet : "+rs.getString(2)+" / Club : "+rs.getString(3), Toast.LENGTH_LONG).show();

        }  
        } catch (Exception e) { 
            Toast.makeText(this,  String.valueOf(e), Toast.LENGTH_LONG).show();
        }  
    }
}
4

1 に答える 1