Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Android e database mysql
Forum - Java - Android e database mysql

Avatar
ccini (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/09/2011

Segnala al moderatore
Postato alle 16:59
Venerdė, 30/09/2011
Ciao ragazzi...ho un database mysql sul mio pc...e vorrei interrogarlo da un'applicazione android, ho bisogno di farlo senza web service...č possibile?
Io ho provato in questo modo....ma purtroppo mi da errore...
Codice sorgente - presumibilmente Java

  1. public class ConnectDBActivity extends Activity {
  2.        
  3.                 @Override
  4.                 public void onCreate(Bundle savedInstanceState) {
  5.  
  6.                 super.onCreate(savedInstanceState);
  7.                 setContentView(R.layout.main);
  8.                 System.out.println("MySQL Connect Example.");
  9.                 Connection conn = null;
  10.                 String url = "jdbc:mysql://localhost:3306/";
  11.                 String dbName = "Vestiti";
  12.                 String driver = "com.mysql.jdbc.Driver";
  13.                 String userName = "admin";
  14.                 String password = "admin";
  15.                 try {
  16.                   Class.forName(driver).newInstance();
  17.                   conn = DriverManager.getConnection("url+dbName,userName,password);
  18.  
  19.                 } catch (Exception e) {
  20.                   e.printStackTrace();
  21.                 }
  22.                 }
  23.                 }



l'errore che mi da č il seguente (da Logcat):
MESSAGE: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused
STACKTRACE:
java.net.SocketException: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at java.sql.DriverManager.getConnection(DriverManager.java:226)
at com.example.connessione.ConnectDBActivity.onCreate(ConnectDBActivity.java:28)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
** END NESTED EXCEPTION **
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at java.sql.DriverManager.getConnection(DriverManager.java:226)
at com.example.connessione.ConnectDBActivity.onCreate(ConnectDBActivity.java:28)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)

Ho provato lo stesso codice in java e mi si connette al db...non so come fare...
Grazie in anticipo per l'aiuto...


PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Up
1
Down
V
Segnala al moderatore
Postato alle 17:22
Venerdė, 30/09/2011
Gli errori vanno letti....

Testo quotato


MESSAGE: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused



Qui stai cercando di connetterti al dispositivo android (localhost e' l'indirizzo di loopback... leggiti wikipedia), ovviamente MySQL non e' installato sul dispositivo, ma sul tuo pc (che ha un altro indirizzo di rete).

Codice sorgente - presumibilmente Java

  1. String url = "jdbc:mysql://localhost:3306/";



Cambia localhost con l'indirizzo del tuo computer dove e' installato MySQL... e assicurati che le connessioni da remoto siano abilitate nella configurazione di MySQL. Di default non lo sono.


Grazie mille per la risposta...il problema principale era quello, ma inoltre ho dovuto disabilitare il firewall, altrimenti non funzionava. - ccini - 03/10/11 17:26


Il mio blog: https://piero.dev
PM