Я использую локальную систему входа в приложение.
Смысл в том, чтобы просто найти имя пользователя в данной базе данных, извлечь правильную запись в БД и затем сравнить пароли (довольно просто, верно?)
Тем не менее, я получаю принудительное завершение моей деятельности. Ниже у вас есть код, который я использую
Функция DB:
public Cursor loginUser(String username) throws SQLException{
String[] columns = new String[] {KEY_ROW_ID_USER, KEY_USER_NAMES, KEY_USER_PASSWORDS, KEY_USER_ACCESS};
String whereClause = KEY_USER_ACCESS+"='" + username+ "'";
Cursor cursor = db.query(USERS_TABLE, columns, whereClause, null, null, null, null);
if(cursor != null){
cursor.moveToFirst();
}
return cursor;
}
Инициализация dbAdapter:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.loginscreen);
dbAdapter = new PirelliDBAdapter(this);
.......................................
Вызов этой функции:
loginButton.setOnClickListener(new OnClickListener(){
public void onClick(View view){
username = usernameInput.getText().toString();
password = passwordInput.getText().toString();
Cursor c = dbAdapter.loginUser(usernameInput.getText().toString());
}
});
И, наконец, журнал ошибок:
03-11 01:08:25.225: W/dalvikvm(1563): threadid=1: thread exiting with uncaught exception (group=0x40014760)
03-11 01:08:25.235: E/AndroidRuntime(1563): FATAL EXCEPTION: main
03-11 01:08:25.235: E/AndroidRuntime(1563): java.lang.NullPointerException
03-11 01:08:25.235: E/AndroidRuntime(1563): at pirelli.app.dbadapter.PirelliDBAdapter.loginUser(PirelliDBAdapter.java:391)
03-11 01:08:25.235: E/AndroidRuntime(1563): at pirelli.app.LoginScreen$8.onClick(LoginScreen.java:176)
03-11 01:08:25.235: E/AndroidRuntime(1563): at android.view.View.performClick(View.java:3110)
03-11 01:08:25.235: E/AndroidRuntime(1563): at android.view.View$PerformClick.run(View.java:11934)
03-11 01:08:25.235: E/AndroidRuntime(1563): at android.os.Handler.handleCallback(Handler.java:587)
03-11 01:08:25.235: E/AndroidRuntime(1563): at android.os.Handler.dispatchMessage(Handler.java:92)
03-11 01:08:25.235: E/AndroidRuntime(1563): at android.os.Looper.loop(Looper.java:132)
03-11 01:08:25.235: E/AndroidRuntime(1563): at android.app.ActivityThread.main(ActivityThread.java:4123)
03-11 01:08:25.235: E/AndroidRuntime(1563): at java.lang.reflect.Method.invokeNative(Native Method)
03-11 01:08:25.235: E/AndroidRuntime(1563): at java.lang.reflect.Method.invoke(Method.java:491)
03-11 01:08:25.235: E/AndroidRuntime(1563): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-11 01:08:25.235: E/AndroidRuntime(1563): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-11 01:08:25.235: E/AndroidRuntime(1563): at dalvik.system.NativeStart.main(Native Method)
Любая помощь в этом была бы великолепна. Я действительно в замешательстве и не могу понять ...