android怎么用sqlite,关于Android Studio直接创建和使用SQLite数据库

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。

具体实现代码

CreaterSqlite.java

/**

* Created by Administrator on 2018-12-29.

* 数据库创建更新类

*/

public class CreaterSqlite extends SQLiteOpenHelper {

/*构造方法创建数据库

* 参数 1.上下文对象 2.数据库名称 3.默认null 4.版本号

*/

public CreaterSqlite(Context context) {

super(context,"database.db",null,1);

Log.v("Log","");

}

/*数据库创建成功后回调的方法

* 参数 db为数据库对象

*

*/

@Override

public void onCreate(SQLiteDatabase db) {

Log.v("Log","");

String sql="create table news(_id integer primary key autoincrement ," +

"name varchar(40)) ";

db.execSQL(sql);

}

//更新数据库调用的方法(版本发生变化时调用此方法)

@Override

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

}

}

news 数据库工具类

News.java

public class News {

String name;

public News() {

}

public News(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

news 数据表操作类

NewsOperation.java

public class NewsOperation {

private SQLiteDatabase db;

//构造方法获取可操作数据库

public NewsOperation(Context context) {

Log.v("Log","1");

CreaterSqlite createrSqlite = new CreaterSqlite(context);

db = createrSqlite.getReadableDatabase();

}

//插入数据

public void insert(News news) {

Log.v("Log","1");

String sql = "insert into news(name)values(?)";

db.execSQL(sql,new Object[]{news.getName()});

}

//删除数据(根据传入指定值进行删除)

public void delete(int _id) {

String sql = "delete from news where _id=" + _id;

db.execSQL(sql);

}

//修改数据(根据_id修改)

public void update(News news, int id) {

String sql = "update news set name=? where _id=" + id;

db.execSQL(sql, new Object[]{news.getName()});

}

//查询数据

public Cursor query() {

String sql = "select * from news ";

Cursor cursor = db.rawQuery(sql, null);

return cursor;

}

}

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

TextView query;

TextView insert;

TextView update;

TextView delete;

NewsOperation newsOperation;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//初始化控件

query = (TextView) findViewById(R.id.query);

insert = (TextView) findViewById(R.id.insert);

update = (TextView) findViewById(R.id.update);

delete = (TextView) findViewById(R.id.delete);

//设置点击监听

query.setOnClickListener(this);

insert.setOnClickListener(this);

update.setOnClickListener(this);

delete.setOnClickListener(this);

//创建newsOperation对象进行操作数据表

newsOperation = new NewsOperation(this);

}

//控件点击监听事件

@Override

public void onClick(View v) {

//判断点击按钮

switch (v.getId()) {

case R.id.query://如果点击查询按钮

Cursor query = newsOperation.query();

while (query.moveToNext()) {

Log.v("Log", query.getString(query.getColumnIndex("name")));

}

break;

case R.id.insert:

News news = new News();

news.setName("张三");

newsOperation.insert(news);

break;

case R.id.update:

News news2 = new News();

news2.setName("李四");

newsOperation.update(news2, 1);

break;

case R.id.delete:

newsOperation.delete(2);

break;

}

}

}

xml页面

activity_main.xml

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="com.ccyumo.myservice.MainActivity">

android:id="@+id/query"

android:layout_width="match_parent"

android:layout_height="40dp"

android:gravity="center"

android:text="查询数据" />

android:id="@+id/insert"

android:layout_width="match_parent"

android:layout_height="40dp"

android:gravity="center"

android:text="插入一条数据" />

android:id="@+id/update"

android:layout_width="match_parent"

android:layout_height="40dp"

android:gravity="center"

android:text="更新数据" />

android:id="@+id/delete"

android:layout_width="match_parent"

android:layout_height="40dp"

android:gravity="center"

android:text="删除一条数据" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值