SQLite数据库很小,占用内存只有几百K,安卓和IOS都是用的SQLite数据库。

页面:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:id="@+id/btnInsertData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加数据" />
<Button
android:id="@+id/btnDeleteData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删除数据" />
<Button
android:id="@+id/btnUpdateData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="修改数据" />
<Button
android:id="@+id/btnQueryData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查询数据" /> </LinearLayout>

java

package com.sxt.day06_09;

import java.util.ArrayList;
import java.util.List; import com.sxt.day06_09.entity.StudentBean; import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener; public class MainActivity extends Activity { static final String DB_NAME="students.db";
static final String TABLE_NAME="student";
static final String ID="_id";//只能写下划线id
static final String NAME="name";
static final String SEX="sex";
static final String BIRTHDAY="birthday";
static final String HEIGHT="height"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
creatDataBase();//创建数据库
setListener();
} private void setListener() {
setInsertClickListener();
setDeleteClickListener();
setQueryClickListener();
} private void setQueryClickListener() {
findViewById(R.id.btnQueryData).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
String sql="select * from "+TABLE_NAME+" where "+NAME+" like ?";
String sql1="select * from "+TABLE_NAME;
Cursor c = db.rawQuery(sql, new String[]{"'%菲%'"});
Cursor c = db.rawQuery(sql, null);//查询只能用rawQuery,返回游标就是查询结果集
List<StudentBean> students=new ArrayList<StudentBean>();
boolean flag = c.moveToFirst();
while(c.moveToNext()){//遍历每一行
int id=c.getInt(c.getColumnIndex(ID));//获取一行的id列
String name=c.getString(c.getColumnIndex(NAME));
String sex=c.getString(c.getColumnIndex(SEX));
String birthday=c.getString(c.getColumnIndex(BIRTHDAY));
double height=c.getDouble(c.getColumnIndex(HEIGHT));
StudentBean bean=new StudentBean(id, name, sex, birthday, height);
students.add(bean);
}
for(StudentBean bean:students){
Log.i("main",bean.toString());
}
c.close();//释放资源
}
});
} private void setDeleteClickListener() {
findViewById(R.id.btnDeleteData).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
String sql="delete from "+TABLE_NAME+" where "+NAME+" like '%菲%'";
db.execSQL(sql);
}
});
} private void setInsertClickListener() {
findViewById(R.id.btnInsertData).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db=openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
insertData(db);
//数据库路径为:data/data/com.ityw.exer15_1/databases/students.db
}
});
} //创建数据库
private void creatDataBase() {
SQLiteDatabase db = openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);//创建数据库
String sql="create table if not exists "+TABLE_NAME+"("
+ID+" integer primary key autoincrement,"
+NAME+" varchar(50),"
+SEX+" varchar(2),"
+BIRTHDAY+" datetext,"
+HEIGHT+" real)";
db.execSQL(sql);
} private void insertData(SQLiteDatabase db) {
String sql="insert into "+TABLE_NAME+"("+
NAME+","+SEX+","+BIRTHDAY+","+HEIGHT+")values("+
"'张飞','男','1990-5-5',1.99)";
db.execSQL(sql);
sql="insert into "+TABLE_NAME+"("+
NAME+","+SEX+","+BIRTHDAY+","+HEIGHT+")values("+
"'王菲','女','1990-8-5',1.69)";
db.execSQL(sql);
sql="insert into "+TABLE_NAME+"("+
NAME+","+SEX+","+BIRTHDAY+","+HEIGHT+")values("+
"'刘亦菲','女','1991-8-5',1.71)";
db.execSQL(sql);
} }

android 43 SQLite数据库的更多相关文章

  1. android 一个SQLite数据库多个数据表的基本使用框架 (带demo)

    android 一个SQLite数据库多个数据表(带demo) 前言        demo演示        一.搭建        二.建立实体类        三.建立数据库操作类        ...

  2. Qt for Android 打包 SQLite 数据库

    Qt for Android 调用 SQLite 数据库时, 怎样将已经存在的数据库附加到 APK 中? 直接在你项目里面的Android源码的根目录下新建一个文件夹assets, 数据库就可以放里面 ...

  3. Android实现SQLite数据库联系人列表

    Android实现SQLite数据库联系人列表 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个通讯录查看程序: 要求使用SQLite ...

  4. Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库

    下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...

  5. android中sqlite数据库的基本使用和添加多张表

    看了很多关于android使用sqlite数据库的文章,很多都是介绍了数据库的建立和表的建立,而表通常都是只建立一张,而实际情况我们用到的表可能不止一张,那这种情况下我们又该怎么办呢,好了,下面我教大 ...

  6. Android中Sqlite数据库多线程并发问题

    最近在做一个Android项目, 为了改善用户体验,把原先必须让用户“等待”的过程改成在新线程中异步执行.但是这样做遇到了多个线程同时需要写Sqlite数据库,导致操作数据库失败. 本人对Java并不 ...

  7. Android之SQLite数据库篇

    一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大. 二.SQLite的特点 1.轻量级使用 SQLit ...

  8. Android之SQLite数据库使用

    转载整理于:http://my.csdn.net/lmj623565791 我刚开始接触Android的时候甚至都不敢相信,Android系统竟然是内置了数据库的!好吧,是我太孤陋寡闻了.由于我之前是 ...

  9. android安卓Sqlite数据库实现用户登录注册

    看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...

随机推荐

  1. [WinJS] Promise 用法

    初学 WinJS, 可能对 Promise 的用法不大清楚,本文简要说明一下 WinJS中 promise 的基本用法. 主要参考自:http://try.buildwinjs.com/#promis ...

  2. "git add -A" is equivalent to "git add .; git add -u".

    git add -A stages All git add . stages new and modified, without deleted git add -u stages modified ...

  3. uitableview的空白处不能响应 touchesbegan 事件

    现在的uitableview 的上面  响应不了     touchesbegan 事件   可能算是苹果的一个bug吧,不知道以后会不会改变 今天试了好久  都不行  最后  写了个字类  继承自 ...

  4. sublime3快捷键汇总

    !+tab生成html结构文档选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本.Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子: 快速选 ...

  5. SendMail

    public ActionResult SendMail() { MailMessage mss = new MailMessage(); mss.From = new MailAddress(&qu ...

  6. MVC架构学习

    作为一名小小的GreenBird,学习MVC呢,已经花费了2天了,期间得到了美丽的学姐的帮助,初步整理了一下. 首先,学习MVC呢就先以一个标准的MVC的简单的例子来入手,然后根据学姐的PPT,我用v ...

  7. windows server 2003 服务器

    服务器基本知识:可通过我的电脑属性里面查看服务器的系统. 设置固定Ip:本地连接(控制面板-网络连接)使用下面的Ip地址.通过ipconfig/all,查看DNS和ip. 远程访问服务器:我的电脑属性 ...

  8. python 运行 hadoop 2.0 mapreduce 程序

    要点:#!/usr/bin/python 因为要发送到各个节点,所以py文件必须是可执行的. 1) 统计(所有日志)独立ip数目,即不同ip的总数 ####################本地测试## ...

  9. jQuery中的data方法:

    向元素附加数据,然后取回该数据: $("#btn1").click(function(){ $("div").data("greeting" ...

  10. git实现版本回退

    1. 首先查看自己的版本: ***:~/piaoshifu_object/epiao.piaoshifu.cn$ git log commit c8d5c67861d2d0e21856cc2b4f60 ...