package com.lovose.SQLite;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class SOLiteTest extends Activity {
OnClickListener listener1 = null;
OnClickListener listener2 = null;
OnClickListener listener3 = null;
OnClickListener listener4 = null;
OnClickListener listener5 = null;
Button button01;
Button button02;
Button button03;
Button button04;
Button button05;
TextView msg;
private static final String DATABASE_NAME = "DbForSQLiteTest.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "diary";
private static final String TITLE = "title";
private static final String BODY = "body";
DatebaseHelper mOpenHelper;
private static class DatebaseHelper extends SQLiteOpenHelper{
DatebaseHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql = "CREATE TABLE " + TABLE_NAME + " (" + TITLE
+ " text not null, " + BODY + " text not null " + ");";
Log.i("haiyang:createDB=", sql);
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
prepareListener();
initLayout();
mOpenHelper = new DatebaseHelper(this);
}
private void initLayout() {
// TODO Auto-generated method stub
button01 = (Button)findViewById(R.id.Button01);
button01.setOnClickListener(listener1);
button02 = (Button)findViewById(R.id.Button02);
button02.setOnClickListener(listener2);
button03 = (Button)findViewById(R.id.Button03);
button03.setOnClickListener(listener3);
button04 = (Button)findViewById(R.id.Button04);
button04.setOnClickListener(listener4);
button05 = (Button)findViewById(R.id.Button05);
button05.setOnClickListener(listener5);
msg = (TextView)findViewById(R.id.TextView01);
}
private void prepareListener() {
// TODO Auto-generated method stub
listener1 = new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
createTable();
}
};
listener2 = new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
dropTable();
}
};
listener3 = new OnClickListener(){
public void onClick(View v){
insertItem();
}
};
listener4 = new OnClickListener(){
public void onClick(View v){
deleteItem();
}
};
listener5 = new OnClickListener(){
public void onClick(View v){
showItems();
}
};
}
//建立数据表
public void createTable() {
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
String SQL = "CREATE TABLE "+TABLE_NAME+ " ( " + TITLE
+ " text not null, " + BODY + " text not null " + ");";
Log.i("haiyang:createDB=", SQL);
try{
db.execSQL("DROP TABLE IF EXISTS diary");
db.execSQL(SQL);
setTitle("数据表成功重建");
} catch (SQLException e) {
setTitle("数据表重建错误");
}
}
//删除数据表
public void dropTable(){
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
String SQL = "drop table "+TABLE_NAME;
try {
db.execSQL(SQL);
setTitle("数据表成功删除:" + SQL);
} catch (SQLException e) {
setTitle("数据表删除错误");
}
}
//插入记录
public void insertItem() {
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
String sql1 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY
+ ") values('haiyang', 'I test android');";
String sql2 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY
+ ") values('icesky', 'I test android too');";
String sql3 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY
+ ") values('wongxming', 'I test android three times');";
try {
db.execSQL(sql1);
db.execSQL(sql2);
db.execSQL(sql3);
setTitle("插入三条数据成功");
} catch (SQLException e) {
setTitle("插入三条数据失败");
}
}
//删除一条记录
public void deleteItem(){
try {
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
db.delete(TABLE_NAME, " title = 'haiyang'", null);
setTitle("删除title为haiyang的一条记录");
} catch (SQLException e) {
}
}
//在屏幕的textView区域显示当前数据表当中的数据的条数。
public void showItems(){
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
String col[] = { TITLE, BODY };
Cursor cur = db.query(TABLE_NAME, col, null, null, null, null, null);
Integer num = cur.getCount();
setTitle(Integer.toString(num) + " 条记录");
StringBuilder sb = new StringBuilder();
sb.append("\tTitle : body\n");
cur.moveToFirst();
do{
sb.append(cur.getString(0)+" : "+cur.getString(1)+"\n");
}while(cur.moveToNext());
msg.setText(sb.toString());
}
}
分享到:
相关推荐
`sqlite-android`是一个针对Android平台的SQLite支持库,它提供了更便捷的方式来与SQLite数据库交互,尤其在ORM(对象关系映射)框架中,可以极大地简化开发者的工作。 ORM框架允许开发者以面向对象的方式处理数据...
SQLite 是一个轻量级的关系型数据库管理系统,广泛应用于移动设备,尤其是 Android 平台。它无需服务器进程,可直接在应用程序中使用,非常适合存储和管理应用程序数据。Android 系统自始至终内置了 SQLite 支持,...
这篇实验报告主要涉及了在Android平台上使用SQLite数据库进行文件操作和数据管理的相关知识。以下是详细的解释: 1. **SQLite数据库**:SQLite是一个轻量级的、嵌入式的关系型数据库,广泛应用于移动设备如Android...
4. **跨平台**:SQLite可以在多种操作系统上运行,包括Windows、Linux、macOS、Android和iOS,它依赖于C语言编写的库,易于集成到各种编程语言中。 5. **零配置**:SQLite不需要初始化或管理数据库服务器,只需创建...
SQLite是一款开源、轻型的数据库管理系统,广泛应用于各种操作系统,包括Windows、Linux和Android等。它无需单独的服务器进程,可以直接在应用程序中运行,因此特别适合于嵌入式系统和移动应用。SQLite提供了高效的...
本文将深入探讨SQLite在Android中的使用,包括基本概念、数据库操作以及实际应用示例。 ### 1. SQLite基本概念 - **数据库**: 数据库是存储和组织数据的结构化系统,SQLite在Android中表现为一个数据库文件,扩展...
一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。 SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。 SQLite 是自给自足的,这意味着不需要任何外部的依赖。 ...
在Android开发中,通常不会直接使用这个文件,而是依赖于Android SDK提供的SQLite库和API来操作数据库。 总之,SQLite 3.7.9是一个适用于Android开发的强大数据库解决方案,其简洁的API和良好的跨平台性使得它成为...
- 移动应用:SQLite因其轻量级和嵌入式特性,常被用作Android、iOS等移动平台的数据库解决方案。 - 单机桌面应用:对于不需要服务器端的本地数据存储,SQLite是很好的选择。 - 快速原型开发:在项目初期,可以...
"android-sqlite-encrypt"库的核心功能在于对SQLite数据库进行透明的加密,这意味着开发者可以使用标准的SQLite API进行操作,而无需额外处理加密和解密的逻辑。该库利用了SQLCipher的加密算法,这是一种开源的、...
2. sqlite-java-tool pc端(包括windows,linux,mac)下的sqlite数据库操作工具,该工具是基于sqlite-annotation-convention插件的,实现了许多常用的操作,你也可以直接编写sql代码,然后通过该工具执行。
在Android上,通常使用`SQLiteOpenHelper`和`SQLiteCursor`等原生API来操作数据库。不过,某些Android开发框架如Robolectric允许在测试环境中使用SQLite JDBC。 9. **版本兼容性**:不同版本的SQLite JDBC驱动可能...
本教程将深入讲解如何在Android中使用SQLite数据库进行基本的增删改查操作。 首先,我们需要在Android项目中创建一个SQLite数据库。这通常通过继承`SQLiteOpenHelper`类来完成。`SQLiteOpenHelper`有两个关键的方法...
Android 实验报告的主要目的是熟悉 Android 平台的文件操作、掌握 Android SQLite 数据库的设计和应用、熟悉 XML 和 JSON 文件的读取。通过本实验,用户可以掌握 Android 平台的基本操作和数据库应用。 二、实验...
Android下SQLite数据库安全机制的设计与实现,刘树杰,,Android 作为强大的智能终端操作系统,深受用户的喜爱,基于该平台的应用日益增多。Android平台下提供了SQLite 数据库作为数据存储的主��
但是,如果你需要在Android应用之外的Java环境中操作同一个SQLite数据库,例如在服务器端进行数据同步或测试,那么SQLite JDBC驱动就显得非常有用。它允许你使用SQL语句直接在Java代码中执行查询、插入、更新和删除...
总的来说,"Android源码——数据库SQLite.zip"的内容涵盖了SQLite在Android中的使用、数据库的创建与管理、SQL操作、事务处理、性能优化等方面的知识,对于深入理解Android应用的数据存储机制具有很高的学习价值。
在Android开发中,SQLite...总结,Android对SQLite数据库的操作涵盖了从创建数据库到执行SQL语句,再到事务处理和数据管理等多个方面。通过合理的编程实践,可以构建高效、稳定的数据库解决方案,满足应用的存储需求。
SQLite 是一个开源的关系型数据库系统,它以轻量级、零配置、跨平台的特性而闻名。在IT领域,SQLite常被用于嵌入式应用,因为它不需要独立的服务器进程,并且可以直接与应用程序集成。"sqlite-netFx40-setup-bundle-...