我为数据库创建了一个应用程序,其中包含一个学生表和3个字段,但我不知道如何将应用程序中的文件添加到sqlite database
。
数据库助手:
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATA_BASE="Mydatabase.db";
public static final String TABLE_NAME="Student";
public static final int DATABASE_VERSION =1;
public DatabaseHelper(Context context) {
super(context, DATA_BASE, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME +
"(Name TEXT, AGE NUMERIC, ADDRESS TEXT)"); }
@Override
public void onUpgrade(SQLiteDatabase db,
int oldVersion, int newVersion) {
}
}
主要活动:
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATA_BASE="Mydatabase.db";
public static final String TABLE_NAME="Student";
public static final int DATABASE_VERSION =1;
public DatabaseHelper(Context context) {
super(context, DATA_BASE, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME +
"(Name TEXT, AGE NUMERIC, ADDRESS TEXT)"); }
@Override
public void onUpgrade(SQLiteDatabase db,
int oldVersion, int newVersion) {
}
}
显示活动:
public class DisplayActivity extends Activity {
private ArrayList<String> arrayList =
new ArrayList<String>();
private SQLiteDatabase Mydatabase;
ListView listView;
EditText enter;
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.display);
listView=(ListView)findViewById(R.id.listView);
//OpenAndQueryDatabase
try {
DatabaseHelper db = new DatabaseHelper(this);
//Open the database
Mydatabase = db.getWritableDatabase();
Cursor c = Mydatabase.rawQuery(
"SELECT * FROM Student", null);
if (c != null ) {
if (c.moveToFirst()) {
do {
String Name = c.getString(
c.getColumnIndex("Name"));
int age = c.getInt(
c.getColumnIndex("AGE"));
String address = c.getString(
c.getColumnIndex("ADDRESS"));
arrayList.add("Name : " + Name +"\n"+
"Age : " +age +"\n"+
"Address : " + address+"\n");
}while (c.moveToNext());
}
}
} catch (SQLiteException se ) { }
finally {
if (Mydatabase != null)
Mydatabase.close();
}
//displayResultList
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
arrayList));
}
}
答案 0 :(得分:0)
您可以找到答案here。只需在SD卡中的某个位置创建一个文件。
数据/文件夹受操作系统保护,只有有根设备的设备才能看到它。
您需要的是链接的答案:使用新文件(“/ sdcard / myFolder / myFile.sqlite”)打开SDCARD中的文件。
File databaseLocation = new File("/sdcard/myFolder/myFile.sqlite" );
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databaseLocation , null);
答案 1 :(得分:0)
您可以通过执行以下操作从数据库中提取数据库以进行查看。
1)转到Eclipse中的DDMS屏幕
2)打开名为“文件资源管理器”的选项卡
3)导航到包含数据库的目录(通常为data\data\your.package.name\databases
)
4)突出显示/选择您的数据库文件
5)在右上角单击图标,箭头指向右侧“从设备中拉出文件”
6)按照提示将文件保存到计算机
7)使用您选择的SQLite数据库浏览器打开文件。
修改强>
请注意,这仅适用于模拟器上的数据...它不会从真实设备中提取数据库,因为真实设备上的data
目录在应用程序外部受到保护/无法访问。
答案 2 :(得分:0)
在eclipse中转到windows - &gt; Showview - &gt; android - &gt;文件资源管理器 你可以在这里看到你的数据库/ data / data / yourpackage / database 使用右上角的按钮从那里拉出数据库。 https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/ 使用此Firefox添加来查看您的数据。