如何从我的SQLite数据库中检索数据并将它们显示到textView [英] How to retrieve the data from my SQLite database and display them to a textView

查看:247
本文介绍了如何从我的SQLite数据库中检索数据并将它们显示到textView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的SQLite数据库代码。





This is my Code for the SQLite Database.


package com.pkappos.searchsqlite;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Calendar;

import android.content.Context;

import android.database.Cursor;

import android.database.SQLException;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteException;

import android.database.sqlite.SQLiteOpenHelper;

public class DataBaseHelper extends SQLiteOpenHelper{

//The Android's default system path of your application database.

private static String DB_PATH = "/data/data/com.pkappos.searchsqlite/databases/";

private static String DB_NAME = "sqlite.db";

private SQLiteDatabase myDataBase;

private final Context myContext;

/**

* Constructor

* Takes and keeps a reference of the passed context in order to access to the application assets and resources.

* @param context

*/

public DataBaseHelper(Context context) {

super(context, DB_NAME, null, 1);

this.myContext = context;

}

/**

* Creates a empty database on the system and rewrites it with your own database.

* */

public void createDataBase() throws IOException{

boolean dbExist = checkDataBase();

if(dbExist){

//do nothing - database already exist

}else{

//By calling this method and empty database will be created into the default system path

//of your application so we are gonna be able to overwrite that database with our database.

this.getReadableDatabase();

this.getWritableDatabase();

try {

copyDataBase();

} catch (IOException e) {

throw new Error("Error copying database");

}

}

}

/**

* Check if the database already exist to avoid re-copying the file each time you open the application.

* @return true if it exists, false if it doesn't

*/

private boolean checkDataBase(){

SQLiteDatabase checkDB = null;

try{

String myPath = DB_PATH + DB_NAME;

checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);

}catch(SQLiteException e){

//database does't exist yet.

}

if(checkDB != null){

checkDB.close();

}

return checkDB != null ? true : false;

}

/**

* Copies your database from your local assets-folder to the just created empty database in the

* system folder, from where it can be accessed and handled.

* This is done by transfering bytestream.

* */

private void copyDataBase() throws IOException{

//Open your local db as the input stream

InputStream myInput = myContext.getAssets().open(DB_NAME);

// Path to the just created empty db

String outFileName = DB_PATH + DB_NAME;

//Open the empty db as the output stream

OutputStream myOutput = new FileOutputStream(outFileName);

//transfer bytes from the inputfile to the outputfile

byte[] buffer = new byte[1024];

int length;

while ((length = myInput.read(buffer))>0){

myOutput.write(buffer, 0, length);

}

//Close the streams

myOutput.flush();

myOutput.close();

myInput.close();

}

public void openDataBase() throws SQLException{

//Open the database

String myPath = DB_PATH + DB_NAME;

myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);

}

@Override

public synchronized void close() {

if(myDataBase != null)

myDataBase.close();

super.close();

}

@Override

public void onCreate(SQLiteDatabase db) {

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

} 





我现在需要创建另一个类(我的项目的MainActivity),我创建布局

以便数据看起来像一个textView。



I need now to Create another class(The MainActivity of my project) that i create the layout
so that the data appear to a textView.

推荐答案

你应该遵循这些..

http://stackoverflow.com/questions/8152006/how-to-fetch-data- from-sqlite-table-and-display-it-in-textview-in-android [ ^ ]

http://stackoverflow.com/questions/12298835/how-to-retrieve-data-from-sqlite-database-in-android - 并在文本视图中显示 [ ^ ]

http://stackoverflow.com/questions/14179148/display-data-from-database-into-textview [ ^ ]
You should follow these..
http://stackoverflow.com/questions/8152006/how-to-fetch-data-from-sqlite-table-and-display-it-in-textview-in-android[^]
http://stackoverflow.com/questions/12298835/how-to-retrieve-data-from-sqlite-database-in-android-and-display-it-in-textview[^]
http://stackoverflow.com/questions/14179148/display-data-from-database-into-textview[^]


这篇关于如何从我的SQLite数据库中检索数据并将它们显示到textView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆