如何克服java.lang.NullPointerException:尝试调用虚拟方法';java.sql.Connection';在空对象引用上?
我无法连接到我的数据库项目?我使用xampp phpMyAdmin作为我的数据库。我已经为我的项目创建了两(2)个活动。第一个是main活动,第二个是主页。主要活动是登录页面。我想让登录过程,可以连接到数据库 以下是登录页面中onclickListener for login按钮的代码。现在我只是想连接到数据库。代码尚未完成:-- 我还为数据库连接创建了一个类。以下是该类中的代码:-- 我认为一切正常,但logcat中有一些错误,如下所示:-- 谁能帮帮我请如何克服java.lang.NullPointerException:尝试调用虚拟方法';java.sql.Connection';在空对象引用上?,java,android,error-handling,Java,Android,Error Handling,我无法连接到我的数据库项目?我使用xampp phpMyAdmin作为我的数据库。我已经为我的项目创建了两(2)个活动。第一个是main活动,第二个是主页。主要活动是登录页面。我想让登录过程,可以连接到数据库 以下是登录页面中onclickListener for login按钮的代码。现在我只是想连接到数据库。代码尚未完成:-- 我还为数据库连接创建了一个类。以下是该类中的代码:-- 我认为一切正常,但logcat中有一些错误,如下所示:-- 谁能帮帮我请 根据您的日志,DatabaseCon
根据您的日志,
DatabaseConnection
中的对象是空的,因此当您调用DatabaseConnection时,它会抛出空指针异常。ConnectDB
在调用ConnectDB()
方法之前,请确保正确初始化DatabaseConnection
对象
希望这对您有所帮助。连接数据库时不要忽略异常我不了解异常。。。你能告诉我它是什么吗?可能是因为连接失败了?@IzzatFaris你的变量connect从未被使用如果变量connect没有被使用,它与连接有什么关系?我已经在main活动开始时声明了DatabaseConnection,比如“ConnectionClass DatabaseConnection”能否共享DatabaseConnection初始化代码。ConnectionClass DatabaseConnection=null;数据库连接已为空。。。你不能用空引用调用任何方法。那么我应该怎么做呢?如果我只放了ConnectionClass DatabaseConnection,也会出现smae错误。。
login_bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Connection connnect=null;
connnect = DatabaseConnection.ConnectDB();
try {
if((no_kt.getText().toString()).equals("123")||(password.getText().toString()).equals("pass")){
LoginSuccess();
}else{
Toast.makeText(getApplicationContext(),"No K/Tangan atau Kata Laluan tidak sah",Toast.LENGTH_LONG).show();
}
}catch (Exception e){
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show();
}
}
});
import android.os.StrictMode;
import java.sql.Connection;
import java.sql.DriverManager;
class ConnectionClass {
public Connection ConnectDB(){
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pkb_db","user","password");
}catch (Exception e){ }
return conn;
}
}
Process: com.e.test, PID: 16114
java.lang.NullPointerException: Attempt to invoke virtual method 'java.sql.Connection com.e.test.ConnectionClass.ConnectDB()' on a null object reference
at com.e.test.MainActivity$3.onClick(MainActivity.java:78)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25885)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)