Java 在android上连接mysql jdbc连接器时发生ClassNotFoundException
我找到了一些答案,但没有什么有用的 我将mysql-connector-java-5.1.7-bin.jar添加到引用库中,并将以下方法添加到我的主类活动中Java 在android上连接mysql jdbc连接器时发生ClassNotFoundException,java,android,mysql,classnotfoundexception,connector,Java,Android,Mysql,Classnotfoundexception,Connector,我找到了一些答案,但没有什么有用的 我将mysql-connector-java-5.1.7-bin.jar添加到引用库中,并将以下方法添加到我的主类活动中 private void getServerData(String id, String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException { Log.i("Database Connec
private void getServerData(String id, String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException
{
Log.i("Database Connection", " requesting data from server");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://10.0.2.2:3306/db_easy_maintenance", "root", "maintenance");
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("SELECT Name FROM industrial_object");
String entry;
while(rs.next())
{
entry=rs.getString("Name");
Log.i("Database Connection", "getting " + entry);
}
con.close();
}
我启动我的应用程序,在java.lang.Class.classForName上得到一个java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
如果我不使用try…catch。。。然后我在编译之前得到这个异常
怎么了 验证库是否已导出(在
.classpath
文件中具有exported=“true”
属性)。您也可以在Eclipse中项目设置的相应选项卡中执行此操作。由于Android使用的字节码稍有不同,因此可能无法正常工作。Tyr检查MySQL JDBC库是否正确翻译为Dalvik的格式。有一个工具名为将JVM字节码翻译成Dalvik的字节码。如果JDBC驱动程序包含一些不可移植到Android的类或一些本机代码,那么您不能在Android中使用它JDBC很少在Android上使用,我当然不会推荐它
JDBC设计用于高带宽、低延迟、高可靠性的网络连接(例如,桌面到数据库服务器、Web应用程序服务器到数据库服务器)。移动设备提供的这些功能很少,而且没有一个是始终如一的
因此,我建议您使用的替代方案包括:
围绕您的数据库创建一个Web服务,并从Android访问该服务。
作为附带的好处,您可以提高安全性(而不是保持数据库开放),可以从客户端卸载一些业务逻辑,可以更好地支持其他平台(例如,Web或基于Web的移动框架),等等。这应该行得通,可能是您应该尝试使用另一个JavaSDK和另一个Android平台。请参阅:
下面的答案给出了非常具体的说明,尽管我很好奇切换到1.6有多有用。您是否也将mysql连接器jar添加到了类路径中?不清楚“添加到引用库”是什么意思。您是否将jar放入了
libs
?是的,是的。引用库是指eclipse->PackageExplorer->myprojecti-know中的“引用库”,我以前的版本使用了这种类型的连接,但我的老板认为不同。我们只使用局域网连接,不想发布此应用程序。@K_Anas:您能展示一下您所说的代码示例吗?我的意思是创建web服务来访问mysql数据库。mysql-connector-java-5.1.20对我来说也不好