一、简介
这个Demo运用了SQLite技术,把已存在的数据库文件先复制到手机内存中,然后读取数据库文件,用TextView接收显示......
代码不难理解,但是在AndroidStudio中API>18后好像找不到dara/data/包名,可以自行修改路径
二、Activity代码
package com.example.sqlitedbdemo1;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class HpstoryActivity extends Activity {
Hpstory_db storydb;
SQLiteDatabase db;
Cursor cur;
private TextView storytv;
private Button stnextbt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
storytv=(TextView)findViewById(R.id.hpstorytv);
stnextbt=(Button)findViewById(R.id.hpstorynextbt);
//设置可以滚动
storytv.setMovementMethod(ScrollingMovementMethod.getInstance());
//数据库初始化
storydb = new Hpstory_db(this);
storydb.databaseok(this);
storydb.closeDatabase();
db = SQLiteDatabase.openOrCreateDatabase(Hpstory_db.DB_PATH + "/"
+ Hpstory_db.DB_NAME, null);
//定义游标
cur = db.rawQuery("select * from ebook", null);
if (cur.getCount() > 0) {
cur.moveToFirst();
//设置内容
storytv.setText(cur.getString(cur.getColumnIndex("hpstory1")));
}
//长文本设着长按事件
storytv.setOnLongClickListener(new View.OnLongClickListener(){
@Override
public boolean onLongClick(View view) {
next();
return false;
}
});
}
public void hpstorynextClick(View v){
//Toast.makeText(getApplicationContext(),"再来一个",Toast.LENGTH_SHORT).show();
next();
}
private void next(){//下一个
cur.moveToNext();
if(cur.isAfterLast()) cur.moveToFirst();
storytv.setText(cur.getString(cur.getColumnIndex("hpstory1")));
}
}
三、效果图及源代码下载地址
package com.example.sqlitedbdemo1;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class HpstoryActivity extends Activity {
Hpstory_db storydb;
SQLiteDatabase db;
Cursor cur;
private TextView storytv;
private Button stnextbt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
storytv=(TextView)findViewById(R.id.hpstorytv);
stnextbt=(Button)findViewById(R.id.hpstorynextbt);
//设置可以滚动
storytv.setMovementMethod(ScrollingMovementMethod.getInstance());
//数据库初始化
storydb = new Hpstory_db(this);
storydb.databaseok(this);
storydb.closeDatabase();
db = SQLiteDatabase.openOrCreateDatabase(Hpstory_db.DB_PATH + "/"
+ Hpstory_db.DB_NAME, null);
//定义游标
cur = db.rawQuery("select * from ebook", null);
if (cur.getCount() > 0) {
cur.moveToFirst();
//设置内容
storytv.setText(cur.getString(cur.getColumnIndex("hpstory1")));
}
//长文本设着长按事件
storytv.setOnLongClickListener(new View.OnLongClickListener(){
@Override
public boolean onLongClick(View view) {
next();
return false;
}
});
}
public void hpstorynextClick(View v){
//Toast.makeText(getApplicationContext(),"再来一个",Toast.LENGTH_SHORT).show();
next();
}
private void next(){//下一个
cur.moveToNext();
if(cur.isAfterLast()) cur.moveToFirst();
storytv.setText(cur.getString(cur.getColumnIndex("hpstory1")));
}
}
效果清晰,界面简洁,方便自行拓展。