2
私のアプリがクラッシュする理由はわかりません。私はsqliteで作成されたデータベースをインポートしましたが、今はその情報を読みたいだけです。SQLiteデータベースから読むAndroid
はここに私のコード
public class goodwillDatabase {
private static final String DATABASE_NAME="goodwill";
private SQLiteDatabase ourDatabase;
//set up variables
static final String candidate_id = "_id";
static final String candidate_name = "name";
static final String candidate_street_address = "email";
//set up the table...store different tables in database
private static final String DATABASE_TABLE = "candidate";
private static final int DATABASE_VERSION = 1;
//create instance of this class
//creates, opens and closes database
private DbHelper ourHelper;
private final Context ourContext;
//create database on a different thread
private static class DbHelper extends SQLiteOpenHelper{
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
//first time we ever create database, this is called
@Override
public void onCreate(SQLiteDatabase db) {
}
//if already created, just update
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS" + DATABASE_TABLE);
onCreate(db);
}
}
public goodwillDatabase(Context c){
//make context of this class equal to whatever is being passed in
ourContext = c;
}
//opens database
//sql excpetion for the try catch
public goodwillDatabase open() throws SQLException{
//create a new helper, pass in context from the method above
ourHelper = new DbHelper(ourContext);
ourDatabase = ourHelper.getWritableDatabase();
return this;
}
//closes the class...sqlite helper, dbhelper
public void close(){
ourHelper.close();
}
public String getData() {
// TODO Auto-generated method stub
//create a new helper, pass in context from the method above
String [] columns = new String []{ candidate_name, candidate_street_address};
Cursor d = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
String result = " ";
//String[] result = columns;
/*
int iRow = c.getColumnIndex(canadiate_id);
int iName = c.getColumnIndex(canadiate_name);
int iStreet = c.getColumnIndex(canadiate_street_address);*/
/*
//start at the beginning, keep moving if you haven't made it to the last
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext())
{
result = result + c.getString(iRow) + " " + c.getString(iName) +
" " + c.getString(iStreet) + "\n";
}
*/
return result;
}
}だ
*カーソルD = ourDatabase.query(DATABASE_TABLE、列、NULL、NULL、NULL、NULL、NULL); *ラインはクラッシュする場所です。カーソルがどこを指すのかわからない場所ですか?私はデータベースやプログラミングに精通していないので、あなたが私に与えることができるどんな助けでも感謝します!エラー自体のlogcatを投稿してください
を:(しない – Sam
誤差があります。 - - – user1332648
[logcatトレース]の例を示します(http://stackoverflow.com/questions/10032510/null-pointer-例外アダプタ/ 10032937#10032937)Eclipseを使用している場合、このウィンドウのデフォルトの場所は画面の右下にあります。この情報なしで盲目的に推測する。 – Sam