最近学了一些安卓开发,在这里分享一下SQLite数据库的使用相关部分,我使用的工具为Android Studio,后台语言为java:

首先,需要创建一个数据库辅助类DataBaseHelper,用于数据库的创建,并方便我们之后对于数据库链接及的操作:

package com.example.myapplication;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseHelp extends SQLiteOpenHelper{
private static final String DATABASENAME ="tip1";//数据库名称
private static final int DATABASEVERSION =1;//数据库版本
private static final String TABLENAME="tip1";//表名
public DataBaseHelp(Context context)//定义构造
{
super(context,DATABASENAME,null,DATABASEVERSION); //调用父类构造
}
public void onCreate(SQLiteDatabase db)
{
String sql="CREATE TABLE "+TABLENAME+"("+
"id INTEGER PRIMARY KEY AUTOINCREMENT,"+ //设置自动增长列
"name VARCHAR(50) NOT NULL,"+
"text VARCHAR(50) NOT NULL)";
db.execSQL(sql); //执行sql语句
}
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
{
String sql="DROP TABLE IF EXISTS "+TABLENAME;
db.execSQL(sql);
this.onCreate(db);//创建表 }
}

  这里在辅助类的构造函数中进行了数据库以及表的创建,在实例化对象时,数据库就会创建出来。

为了操作数据库,接下来要创建一个数据库操作类OperateTable:

package com.example.myapplication;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.List;
import java.util.Map; public class OperateTable {
private static final String TABLENAME ="tip1";
private SQLiteDatabase db=null;
public OperateTable(SQLiteDatabase db)
{
this.db=db;
}
public void insert(String name,String text)
{
String sql="INSERT INTO "+TABLENAME+" (name,text) VALUES ('"+name+"','"+text+"')";
this.db.execSQL(sql); }
public void delete(String id)
{
String sql="DELETE FROM "+TABLENAME+" WHERE id='"+id+"'";
this.db.execSQL(sql); }
public void updata(String id,String name,String text)
{
String sql="UPDATE "+TABLENAME+" SET name ='"+name+"',text='"+text+"' WHERE id='"+id+"'";
this.db.execSQL(sql);
} public tip t(String id)
//此为查询语句,tip为我自己设置的一个类,用于获取数据,有String name;String text;两个成员
{
tip t=new tip(); String sql="SELECT name,text FROM "+TABLENAME+" WHERE id ='"+id+"'";
Cursor result =this.db.rawQuery(sql,null);
result.moveToFirst();
t.setName(result.getString(0));
t.setText(result.getString(1));
return t;
}
}
   } }

  这两个类添加完毕后,在MainActivity中调用即可

public class MainActivity extends AppCompatActivity {
private OperateTable mytable =null;
private SQLiteOpenHelper helper=null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); helper=new DataBaseHelp(this);//实例化数据库辅助类 MainActivity.this.mytable=new
OperateTable(MainActivity.this.helper.getWritableDatabase());//取得可写数据库
MainActivity.this.mytable.insert("第一条","1111111");//执行插入语句 }

  

安卓平台SQLite数据库基础操作总结的更多相关文章

  1. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

  2. IOS开发-UI学习-sqlite数据库的操作

    IOS开发-UI学习-sqlite数据库的操作 sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql.PostgreSQL这 ...

  3. 使用iOS原生sqlite3框架对sqlite数据库进行操作

    摘要: iOS中sqlite3框架可以很好的对sqlite数据库进行支持,通过面向对象的封装,可以更易于开发者使用. 使用iOS原生sqlite3框架对sqlite数据库进行操作 一.引言 sqlit ...

  4. 2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET

    今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...

  5. Mysql数据库基础操作

    Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...

  6. C# IV: 数据库基础操作2

    需上一篇C# III:数据库基础操作 另外一个经常碰到的数据库操作是,单次执行多个SQL语句,譬如,一次性插入多条数据. 方法一,拼凑长SQL语句 拼凑长SQL语句实际上是String的操作.如下示例 ...

  7. Andoird - SQLite 数据库 基础教程

    链接来源 http://www.tutorialspoint.com/android/android_sqlite_database.htm SQLite是一个开源的SQL数据库,这个数据库把数据存储 ...

  8. MySQL数据库----基础操作

    一.知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list ...

  9. MySQL关系型数据库基础操作

    MySQL基础 一.MySQL常用数据类型 1.常用数值类型(INT,DOUBLE,FLOAT) ① int 或者 integer 类型: 大小(字节):4字节: 范围: (有符号: -2147483 ...

随机推荐

  1. Codeforces_814

    A.b序列从大到小填a序列中的0,在判断. #include<bits/stdc++.h> using namespace std; ],b[]; int main() { ios::sy ...

  2. WeChall_Training: Encodings I (Training, Encoding)

    We intercepted this message from one challenger to another, maybe you can find out what they were ta ...

  3. 深入理解ASP.NET Core依赖注入

    概述        ASP.NET Core可以说是处处皆注入,本文从基础角度理解一下原生DI容器,及介绍下怎么使用并且如何替换官方提供的默认依赖注入容器. 什么是依赖注入        百度百科中对 ...

  4. MySQL优化---主从复制

    主机所有写的数据都会生成二进制SQL日志执行文件,从机只需要将SQL日志执行文件获取到,然后进行数据同步即可 一.MySQL环境搭建(一主一从相同操作) MySQL-master:192.168.33 ...

  5. finished with exit code -1073740791 (0xC0000409)解决方案

    1.在用keras框架跑NER的train时,而且只是在用了keras_contrib.layers的CRF时出现问题: 遇到无错跳出finished with exit code -10737407 ...

  6. centos7搭建SVN并配置使用http方式访问SVN服务器

    一.检查SVN是否安装 centos7系统自带SVN # rpm -qa subversion [root@localhost ~]# rpm -qa subversion subversion--. ...

  7. python之基础中的基础(二)

    1.字典 创建字典,alien_0={'color':'green','points':5}其中由一个又一个的“键-值”对组成. 访问键-值对相应的值,print(alien_0['color']), ...

  8. python 解压、复制、删除 文件

    一.python3解压文件 1.python 解压文件代码示例 如下代码主要实现zip.rar.tar.tar.gz四种格式的压缩文件的解压 def unzip_file(src_file, dst_ ...

  9. 【转】netty-transport版本冲突

    Springboot整合Elasticsearch报错 今天使用SpringBoot整合Elasticsearch时候,相关的配置完成后,启动项目就报错了. nested exception is j ...

  10. KMP算法Next()函数的一个应用

    转载:http://www.cnblogs.com/vongang/archive/2012/05/04/2483419.html 记一个KMP算法的应用,经典的KMP算法详解还是看这里 问题:给一个 ...