userName がわかっている場合、userId を取得しようとしています。たとえば、私が作成した以下の関数では、userName を受け取り、userId を分割します。ただし、アプリがクラッシュしています。したがって、これをコメントアウトすると、次の関数に何か問題があるに違いないと考えました。アプリは正常に動作します。
public int getUserId(String userName){
SQLiteDatabase db = this.getReadableDatabase();
String query = "SELECT userId from users WHERE userName=" + userName;
Cursor cursor = db.rawQuery(query, null);
// Move to first row
cursor.moveToFirst();
int userId = cursor.getInt(cursor.getColumnIndex("userId"));
return userId;
}
編集:
また、次のコードを使用して userId を共有設定に保存しようとしていますが、これも問題を引き起こしているようです。
private void saveUserId(String key, int value) {
settings = getSharedPreferences("MYPREFS", 0);
editor = settings.edit();
editor.putInt(key, value);
editor.commit();
}