このデータベース メソッドは、データベースの KEY_NAME 列から文字列名のみを返しています。他の 2 つの列は KEY_ROWID と KEY_HITS です。
このような配列変数を返すように列を作成する方が良いですか;
String[] columns = new String[] { KEY_NAME };
列 KEY_NAME のみが必要なため、または常にすべての列をこのように配置する方がよいからです。
String[] columns = new String[] {KEY_ROWID, KEY_NAME, KEY_HITS };
以下に示すデータベース メソッドの完全なコード。
public String getName(long l){
String[] columns = new String[] {KEY_ROWID, KEY_NAME, KEY_HITS };
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID +"="+ l, null, null, null, null);
if(c!= null){
c.moveToFirst();
String name = c.getString(1);
return name;
}
return null;
}
編集;
いくつかのテストの後、これを使用している場合、単一の列名「KEY_NAME」のみを返すことができることがわかりました。
total = total + c.getInt(c.getColumnIndex(KEY_NAME)); // only need { KEY_NAME };
ただし、次のコードを使用して数値を使用して列の位置「c.getInt(2)」を取得すると、3 つの列名すべてを返さない限り機能しません。
total = total + c.getInt(2); // requires {KEY_ROWID, KEY_NAME, KEY_HITS };