This question already has answers here:
What is a NullPointerException, and how do I fix it?
(12个答案)
在11个月前关闭。
我无法连接到数据库项目?我使用xampp phpMyAdmin作为数据库。我已经为我的项目创建了两个(2) Activity 。首先是mainActivity,其次是主页。 mainActivity是登录页面。我要进行可以连接到数据库的登录过程。
这是登录页面中用于登录按钮的onclickListener的代码。现在,我只是想连接到数据库。代码尚未完成:
我还为数据库连接创建了一个类。这是该类中的代码:-
我认为一切都很好,但logcat中有一些错误,如下所示:
谁能帮我..... 请
Here is the screenshot for my working environment
(12个答案)
在11个月前关闭。
我无法连接到数据库项目?我使用xampp phpMyAdmin作为数据库。我已经为我的项目创建了两个(2) Activity 。首先是mainActivity,其次是主页。 mainActivity是登录页面。我要进行可以连接到数据库的登录过程。
这是登录页面中用于登录按钮的onclickListener的代码。现在,我只是想连接到数据库。代码尚未完成:
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;
}
}
我认为一切都很好,但logcat中有一些错误,如下所示:
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)
谁能帮我..... 请
Here is the screenshot for my working environment
最佳答案
按照您DatabaseConnection
中的日志对象为null的原因,这就是为什么在调用DatabaseConnection.ConnectDB
时引发抛出空指针异常的原因,请确保在调用DatabaseConnection
方法之前正确初始化了ConnectDB()
对象。
希望这会帮助你。
08-03 17:44