您好我正在创建一个Android应用程序并需要连接到phpmyadmin,我在Logcat中收到以下错误..... com.mysql.jdbc.exceptions.jdbc4.MysqlNonTransientConnectionException:无法创建与数据库服务器的连接
我的MainActivity.java类
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.KwikFit2.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void sendMessage(View view) {
DatabaseConnection dbcon = new DatabaseConnection();
dbcon.connectionCreate("jdbc:mysql://localhost:3306/diss", "root", "");
System.out.println("got here");
Intent intent = new Intent(this, DisplayWelcomeActivity.class);
startActivity(intent);
}
}
我的DatabaseConnection.java
package com.example.kwikfit2;
import java.sql.*;
public class DatabaseConnection {
public Connection connectionCreate(String url, String user, String password){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url,user,password);
System.out.println("Connection Established");
return con;
}catch(Exception e){
System.out.println(e);
}return null;
}
}
非常感谢任何帮助,
由于
答案 0 :(得分:0)
正如Shihan指出的那样,你没有连接到phpmyadmin。它只是一个基于Web的工具,用于管理Mysql数据库。
您的代码假定您在localhost中运行MySQL,这将是您的Android设备,我非常怀疑。快速谷歌搜索没有找到有关MySQL服务器的Android版本的任何信息。您应该连接到真正运行MySQL数据库的实际服务器。另请注意,通常MySQL配置为默认情况下仅允许来自localhost的连接。
在Android上,你根本不使用jdbc。最好在服务器上安装RESTful服务,Android只需通过HTTP使用该接口与服务器通信。
您应该查看有关SQLite的教程,看看它是否是您问题的答案。它是一个嵌入式数据库,用于许多Android应用程序。