0
iveリストビューをデータベースからアンドロイドに入れるのに一週間ほど苦労しているが、大きな問題を抱えている人はここで助けてくれると嬉しいです。 // databasehelperクラスが得られない:アンドロイドのSQLITEデータベースからリストビューを作成する
package com.example;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper{
public static final String DBNAME = "company.db";
public static final String ENAME="ename";
public static final String ADD="addr";
public static final String PNO="pno";
public static final String FA="fa";
public static final String tablename="company";
public DatabaseHelper(Context context) {
super(context, DBNAME, null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE company (_ID INTEGER PRIMARY KEY AUTOINCREMENT,ename TEXT,addr TEXT,pno TEXT,fa TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP IF TABLE EXISTS company");
onCreate(db);
}
}
//ここでは、リストビューを作成するための努力をしているクラス package com.example;
import java.util.ArrayList;
import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class Text extends ListActivity {
private ArrayList<String> results = new ArrayList<String>();
private String tableName = DatabaseHelper.tablename;
private SQLiteDatabase newDB;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
openAndQueryDatabase();
displayResultList();
}
private void displayResultList() {
// TODO Auto-generated method stub
TextView tView = new TextView(this);
tView.setText("This data is retrieved from the database and only 4 " +
"of the results are displayed");
getListView().addHeaderView(tView);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_2, results));
getListView().setTextFilterEnabled(true);
}
private void openAndQueryDatabase() {
// TODO Auto-generated method stub
try {
DatabaseHelper dbHelper = new DatabaseHelper(this.getApplicationContext());
newDB = dbHelper.getWritableDatabase();
Cursor c = newDB.rawQuery("SELECT ENAME, PNO FROM " +
tableName, null);
if (c != null) {
if (c.moveToFirst()) {
do {
String ename = c.getString(c.getColumnIndex("ENAME"));
String addr = c.getString(c.getColumnIndex("PNO"));
results.add("Name: " + ename + ",Age: " + addr);
}while (c.moveToNext());
}
}
} catch (SQLiteException se) {
Log.e(getClass().getSimpleName(), "Could not create or Open the database");
} finally {
if (newDB != null)
newDB.execSQL("DELETE FROM " + tableName);
newDB.close();
}
}
}
あなたが直面しているエラーや問題は何ですか? –