私は実行時に同じNPE
を継続的に取得します。Android SQLiteエラー、NullPointerExceptionは私の存在の悩みです
ユーザー入力から名前を取得するテーブルを使用してデータベースを作成しようとしています。 2つのクラスがあります.1つはユーザーから情報を取得し、もう1つはデータベースを作成して処理するクラスです。
私は実行時に同じNPE
を継続的に取得します。Android SQLiteエラー、NullPointerExceptionは私の存在の悩みです
ユーザー入力から名前を取得するテーブルを使用してデータベースを作成しようとしています。 2つのクラスがあります.1つはユーザーから情報を取得し、もう1つはデータベースを作成して処理するクラスです。
あなたがDbBasicsであなたのonCreateメソッドでname.toString()を呼び出すときに文字列名は空です。
static String name; // Null because you haven't assigned a string to it
DATABASE_TABLE = name.toString() + "Basics"; // Causes nullpointerException
さらに、文字列に対して 'toString()'を呼び出すことは余計です。 –
AHA !!ありがとうございました!アクティビティクラスから名前を取得する方法に関する提案はありますか?ここでは、データベースハンドラを呼び出すことができる2つの方法を追加する必要があります。あるケースではその名前は既知であり、もう1つのケース(上記のpastebinのリンクにあるもの)では名前がユーザによって与えられます。 toString()は冗長で、私は今編集しています(前にテスト目的のためにそこに持っていましたが、今は必要ありません) – user1160756
なぜユーザーはデータベース名を指定しますか?テーブルの内容を表す名前を使用してください。あなたのケースではユーザーだと思われます。ユーザーが保存したいものを提供している場合は、データベースに保存します。あなたのようにそれをするのは本当に悪い習慣です。データベースをそのように使うべきではありません。 –
従来のJavaパッケージネーミングを使用していないため、 –
命名規則を使用しませんでしたか?私は考えていませんでした...私は何を変更する必要があります – user1160756
パッケージ名は、一般的にすべて小文字です。大したことではありませんが、ちょっと混乱するかもしれません。 –