一个关于SQLite小程序 ,请大家多多指教!

一个关于SQLite小程序 ,请大家多多指教!,第1张

概述package com.jiao.sqlite; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClick

package com.jiao.sqlite;

import androID.app.Activity;
import androID.database.Cursor;
import androID.os.Bundle;
import androID.vIEw.KeyEvent;
import androID.vIEw.VIEw;
import androID.vIEw.VIEw.OnClickListener;
import androID.Widget.button;
import androID.Widget.EditText;
import androID.Widget.TextVIEw;
import androID.Widget.Toast;

public class DbDemo extends Activity {

/**
* sqlite Demo
*
* 供Activity私有访问的数据库 没有使用ContentProvIDer 方式 增加 查询数据
*
* @author daguangspecial@gmail.com
*
*/

EditText inputTxt;
button btnAdd;
button btnVIEwAll;
TextVIEw vIEwAll;

DBHelper db;

@OverrIDe
protected voID onCreate(Bundle savedInstanceState) {
// Todo auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentVIEw(R.layout.main);
// 初始化UI
btnAdd = (button) findVIEwByID(R.ID.btnAdd);
btnVIEwAll = (button) findVIEwByID(R.ID.btnVIEwAll);
vIEwAll = (TextVIEw) findVIEwByID(R.ID.vIEwAll);
inputTxt = (EditText) findVIEwByID(R.ID.txtinput);
// 初始化DB
db = new DBHelper(this);
// 初始化监听
OnClickListener Listener = new OnClickListener() {

public voID onClick(VIEw v) {
if (v.getID() == R.ID.btnAdd) {
// 增加
boolean flat=db.save(inputTxt.getText().toString());

if(flat){
Toast.makeText(DbDemo.this,"添加成功!",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(DbDemo.this,"添加失败!",Toast.LENGTH_LONG).show();

}
} else if (v.getID() == R.ID.btnVIEwAll) {
// 浏览所有数据
Cursor cur = db.loadAll();
StringBuffer sf = new StringBuffer();
cur.movetoFirst();
while (!cur.isAfterLast()) {
sf.append(cur.getInt(0)).append(" : ").append(
cur.getString(1)).append("/n");
cur.movetoNext();
}
cur.movetoFirst();
vIEwAll.setText(sf.toString());
}
}
};
btnAdd.setonClickListener(Listener);
btnVIEwAll.setonClickListener(Listener);
}

@OverrIDe
public boolean onKeyDown(int keyCode,KeyEvent event) {
// Todo auto-generated method stub
switch(keyCode){
case KeyEvent.KEYCODE_BACK:
db.close();
this.finish();

return true;
}
return super.onKeyDown(keyCode,event);
}

}

DBHelper类:

package com.jiao.sqlite;

import androID.content.Context;
import androID.database.Cursor;
import androID.database.sqlite.sqliteDatabase;
import androID.util.Log;

/**
* 数据库 *** 作工具类
*
* @author daguangspecial@gmail.com
*
*/
public class DBHelper {
private static final String TAG = "DBDemo_DBHelper";// 调试标签

private static final String DATABASE_name = "dbdemo.db";// 数据库名
sqliteDatabase db;
Context context;//应用环境上下文 Activity 是其子类

DBHelper(Context _context) {
context = _context;
//开启数据库

db = context.openorCreateDatabase(DATABASE_name,Context.MODE_PRIVATE,null);
Createtable();
Log.v(TAG,"db path=" + db.getPath());
}

/**
* 建表
* 列名 区分大小写?
* 都有什么数据类型?
* sqlite 3
* TEXT 文本
NUMERIC 数值
INTEGER 整型
REAL 小数
NONE 无类型
* 查询可否发送select ?
*/
public voID Createtable() {
try {
db.execsql("CREATE table t_user (" +
"_ID INTEGER PRIMARY KEY autoincrement,"
+ "name TEXT"
+ ");");
Log.v(TAG,"Create table t_user ok");
} catch (Exception e) {
Log.v(TAG,"Create table t_user err,table exists.");
}
}
/**
* 增加数据
* @param ID
* @param uname
* @return
*/
public boolean save(String uname){
String sql="";
try{
sql="insert into t_user(name) values('"+uname+"')";
db.execsql(sql);
Log.v(TAG,"insert table t_user ok");
return true;

}catch(Exception e){
Log.v(TAG,"insert table t_user err,sql: "+sql);
return false;
}
}
/**
* 查询所有记录
*
* @return Cursor 指向结果记录的指针,类似于JDBC 的 ResultSet
*/
public Cursor loadAll(){

Cursor cur=db.query("t_user",new String[]{"_ID","name"},null,null);

return cur;
}
public voID close(){
db.close();
}
}

main.xml

<?xml version="1.0" enCoding="utf-8"?>
<linearLayout xmlns:androID="http://schemas.android.com/apk/res/android"
androID:orIEntation="vertical"
androID:layout_wIDth="fill_parent"
androID:layout_height="fill_parent"
>
<EditText
androID:ID="@+ID/txtinput"
androID:layout_wIDth="fill_parent"
androID:layout_height="wrap_content"
/>
<button
androID:ID="@+ID/btnAdd"
androID:layout_wIDth="wrap_content"
androID:layout_height="wrap_content"
androID:text="增加"
/>
<button
androID:ID="@+ID/btnVIEwAll"
androID:layout_wIDth="wrap_content"
androID:layout_height="wrap_content"
androID:text="查询所有"
/>
<TextVIEw
androID:ID="@+ID/vIEwAll"
androID:layout_wIDth="fill_parent"
androID:layout_height="wrap_content"

/>
</linearLayout>

结果如图所示:

总结

以上是内存溢出为你收集整理的一个关于SQLite小程序 ,请大家多多指教!全部内容,希望文章能够帮你解决一个关于SQLite小程序 ,请大家多多指教!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1177831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存