我更改為 android 1.6,但現在得到了另一個例外:
未能找到類'javax.naming.stringrefaddr',從方法 com.mysql. 。connectionpropertiesimpl$connectionproperty 。storeto引用。
這是正常的事情? 任何人都有同樣的問題?
代碼:package com.werwolf.directcon;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class ConnectionTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
getServerData("","");
} catch (InstantiationException e) {
//TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
//TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
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();
}
}
aecq:05-29 11:19:12.185: I/Database Connection(554): requesting data from server
05-29 11:19:13.414: D/dalvikvm(554): GC_CONCURRENT freed 151K, 4% free 6596K/6855K, paused 7ms+3ms
05-29 11:19:13.764: W/dalvikvm(554): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)
05-29 11:19:13.764: I/dalvikvm(554): Could not find method javax.naming.Reference.get, referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.initializeFrom
05-29 11:19:13.778: W/dalvikvm(554): VFY: unable to resolve virtual method 6493: Ljavax/naming/Reference;.get (Ljava/lang/String;)Ljavax/naming/RefAddr;
05-29 11:19:13.778: D/dalvikvm(554): VFY: replacing opcode 0x6e at 0x0004
05-29 11:19:13.778: W/dalvikvm(554): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)
05-29 11:19:13.784: E/dalvikvm(554): Could not find class 'javax.naming.StringRefAddr', referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.storeTo
05-29 11:19:13.784: W/dalvikvm(554): VFY: unable to resolve new-instance 438 (Ljavax/naming/StringRefAddr;) in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;
05-29 11:19:13.784: D/dalvikvm(554): VFY: replacing opcode 0x22 at 0x0006