|
MySQLiteDemo.java:
import android.app.Activity;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
public class MySQLiteDemo extends Activity {
private SQLiteOpenHelper helper = null ;// 数据库操作
private Button findBut = null ;// 定义按钮
private LinearLayout mylayout = null ;// 定义布局管理器
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);// 父类onCreate()
super.setContentView(R.layout.main);// 默认布局管理器
this.findBut = (Button) super.findViewById(R.id.findBut) ;// 取得组件
System.out.println("**" + super.findViewById(R.id.mylayout).getClass()) ;
this.mylayout = (LinearLayout) super.findViewById(R.id.mylayout) ;// 取得组件
this.helper = new MyDatabaseHelper(this) ;// 定义数据库辅助类
this.findBut.setOnClickListener(new OnClickListenerImpl()) ;// 设置监听
}
private class OnClickListenerImpl implements OnClickListener {
@Override
public void onClick(View view) {
MySQLiteDemo.this.helper = new MyDatabaseHelper(MySQLiteDemo.this) ;
ListView listView = new ListView(MySQLiteDemo.this) ;// 定义ListView
listView.setAdapter(new ArrayAdapter<String>(MySQLiteDemo.this, // 将数据包装
android.R.layout.simple_list_item_1, // 每行显示一条数据
new MytabCursor(MySQLiteDemo.this.helper
.getReadableDatabase()).find())); // 设置显示数据
MySQLiteDemo.this.mylayout.addView(listView) ;// 追加组件
}
}
}
MytabCursor.java:
import java.util.ArrayList;
import java.util.List;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class MytabCursor {
private static final String TABLENAME = "mytab" ;// 数据表名称
private SQLiteDatabase db = null ;// SQLiteDatabase
public MytabCursor(SQLiteDatabase db) { // 构造方法
this.db = db ;// 接收SQLiteDatabase
}
public List<String> find() {// 查询数据表
List<String> all = new ArrayList<String>() ;// 定义List集合
int currentPage = 1 ;// 当前页
int lineSize = 5 ;// 没页显示5条
String keyWord = "中国" ;// 查询关键字
String sql = "SELECT id,name,birthday FROM " + TABLENAME
+ " WHERE (name LIKE ? OR birthday LIKE ?)"
+ " LIMIT ?,? " ;// 查询SQL
String selectionArgs[] = new String[] { "%" + keyWord + "%",
"%" + keyWord + "%",
String.valueOf((currentPage - 1) * lineSize),
String.valueOf(lineSize) }; // 查询参数
Cursor result = db.rawQuery(sql, selectionArgs);// 查询
for (result.moveToFirst(); !result.isAfterLast(); result.moveToNext()) {
all.add("【" + result.getInt(0) + "】" + " " + result.getString(1)
+ "," + result.getString(2));// 设置集合数据
}
this.db.close() ;// 关闭数据库连接
return all ;
}
}
|
|
|