私は現在、モバイル プログラミング コースを受講しており、ユーザーがフォームに入力する単純なアプリケーションを作成する必要があります。そのデータを取得して、独自のカスタム SQLite データベースに記録します。私はフォーム アクティビティを正常に作成し、広範なエラー チェックと、データベース関連の処理を行う ContentProvider を使用しました。私はほとんど完成しています。すべてが正しく機能しています。この最後の要件を追加するのに苦労しています。ユーザーにフォームのデータを送信させる前に、データベースにクエリを実行し、追加しているユーザー名が既に存在するかどうかを確認する必要があります。その場合、私たちは彼に通知し、データベースの更新/作成を許可しません。
彼は、私のコンテンツ プロバイダーからの、データベースを説明するいくつかのものです。
public final static String DBNAME = "FormStorage";
public static final String AUTHORITY = "com.connor.black.provider";
public final static String TABLE_NAMESTABLE = "formstable";
private static UriMatcher sUriMatcher;
public final static String COLUMN_FIRSTNAME = "FirstName";
public final static String COLUMN_LASTNAME = "LastName";
public final static String COLUMN_PHONE = "PhoneNumber";
public final static String COLUMN_EMAIL = "Email";
public final static String COLUMN_USERNAME = "Username";
public final static String COLUMN_PASSWORD = "Password";
public final static String COLUMN_GENDER = "Gender";
public final static String COLUMN_COUNTRY = "Country";
public static final Uri CONTENT_URI = Uri.parse("content://com.connor.black.provider/" + TABLE_NAMESTABLE);
private static final String SQL_CREATE_MAIN = "CREATE TABLE " + TABLE_NAMESTABLE + "("+"_ID INTEGER PRIMARY KEY, "+
"FirstName TEXT, " +
"LastName TEXT, " +
"PhoneNumber TEXT, " +
"Email TEXT, " +
"Username TEXT, " +
"Password TEXT, " +
"Gender TEXT, " +
"Country TEXT)";
私の活動から、送信 onclicklister で私はこれをやっています:
final Cursor mCursor;
submit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Boolean submitCheck = true;
//...and code goes by....//
//Username duplicate check
String[] mProjection = new String[]{"FormStorage.formstable.Username"};
mCursor = getContentResolver().query(MyContentProvider.CONTENT_URI,
mProjection, null, null, null);
if(mCursor != null) {
if(mCursor.getCount() > 0) {
// Check if username already exists
}
}
だから私の質問:
mProjection 文字列はどのように見えるべきですか? 現在持っているものが間違っていることは知っていますが、選択文字列がどうあるべきかについて混乱していますか?