我是jdbc和android的新手。如果问题看起来很愚蠢,请原谅我。
我正在尝试从应用程序连接到MySql数据库。
我浏览了jdbc教程并编写了以下代码:
public static void connectToServer ()
{
Connection conn = null;
try
{
//Connect to the database
String userName = "********";
String password = "********";
String url = "jdbc:mysql://my.domain.name/myDBname";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
Log.e(tag,"Database connection established");
// Query the database
Statement s = conn.createStatement ();
String query = "INSERT INTO myTableName (A,B,C)" +
"VALUES ('a','b','c')");
Log.e(tag,query);
s.executeQuery (query);
s.close ();
}
catch (Exception e)
{
Log.e(tag,"Database Connection Failed");
Log.e(tag,e.getMessage());
}
finally
{
if (conn != null)
{
try
{
conn.close ();
Log.e(tag,"Database connection terminated");
}
catch (Exception e) { /* ignore close errors */ }
}
}
}
我的清单代码:
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
< uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
logcat是:
....
Database connection terminated //my output
com.mysql.jdbc.Driver // output from exception e.getMessage()
我做错了什么?
从java应用程序和Android应用程序连接之间有区别吗?
编辑:添加了清单权限
答案 0 :(得分:3)
确保您在清单中请求互联网权限。
编辑:为此,请将<uses-permission android:name="android.permission.INTERNET" />
添加到您的清单。
刚刚找到this链接。不确定这是否可以轻松完成。
还有一些值得关注的东西是CouchDB。它基于REST,所以你不必围绕MySQL数据库构建一个php服务 - 它纯粹是REST。
答案 1 :(得分:0)
我知道这对某些人有用。确保使用JDBC连接器mysql-connector-java-3.0.17-ga-bin.jar。谷歌吧。
答案 2 :(得分:0)
为什么不花一些时间学习android.database.sqlite呢?恕我直言,从长远来看,它是值得的。
祝你好运。