• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 在android中使用SQLite数据库

在android中使用SQLite数据库

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android sqlite数据库,android sqlite使用,android中使用sqlite,android sqlite,android sqlite实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在android中使用SQLite数据库


SQLite数据库以其轻量、体积小等特点,使其在开发中运用的非常广泛,在前面的博客中我也介绍过在Cocos2d-x中使用SQLite数据库,这篇博客是介绍在Android中使用SQLite数据库,Android中直接集成了SQLite数据库,使用起来非常方便,不需要向Cocos2d-x中那样添加外部文件

我将使用SQLite数据库实现一个下图所示的效果,打开app后会弹出下图所示的界面

\

 

单击createDatabase按钮后,在logcat中可以看到打印了一条提示信息,表示数据库创建成功,当再次点击createDAtabase按钮后就不会再打印提示信息,因为数据库创建成功后不会再创建数据库

\

 

数据库创建成功后可以在app所在的包下找到一个database文件夹,databases文件夹下可以找到创建好的数据库文件

\

将people.db导出后,在使用SQLite Expert可以查看创建好的数据库中的内容

单击Insert按钮后可以看到,向数据库中插入了10个学生的信息

\

 

按下Delete按钮后会删除"刘得意"信息,可以看到数据库中已经没有刘得意的信息了

\

单击Update按钮后,将所有学生的学号都减少了1

\

点击Select按钮后,查找数据库中所有学生的姓名和与姓名对应的C++成绩,并在logcat中输出

\

实现方式:
1、使用Android Studio创建一个Android工程,修改activity_main.xml文件

 



2、新建一个MyOpenHelper.java文件,在MyOpenHelper.java中添加下面的代码

 

 

package com.fyt.databasedemo;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

//创建一个抽象类SQLiteOpenHelper的实现类MyOpenHelper
public class MyOpenHelper extends SQLiteOpenHelper {

    /**
     * MyOpenHelper构造方法
     * @param context 上下文
     * @param name 数据库文件的名字
     * @param factory 游标工厂(结果集)
     * @param version 数据库的版本号(用于升级)
     */
    public MyOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    //创建数据库时,调用此方法
    @Override
    public void onCreate(SQLiteDatabase db) {

        Log.d("MainActivity", "数据库创建成功");

        //创建一个学生表
        db.execSQL("create table student(_id integer primary key autoincrement, name char(10), age integer, no integer, cpp float, math float, english float)");
    }

    //数据库升级时调用此方法
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        Log.d("MainActivity", "数据库升级成功");
    }
}

3、修改MainActivity.java中的代码

 

 

package com.fyt.databasedemo;

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;

public class MainActivity extends Activity {

    //用于创建帮助器对象
    private MyOpenHelper oh;

    //用于创建数据库对象
    private SQLiteDatabase db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    //创建数据库
    public void createDatabase(View view) {

        //创建帮助器对象
        oh = new MyOpenHelper(this, "people.db", null, 1);

        //创建数据库对象
        db = oh.getWritableDatabase();
    }

    //向数据库中添加数据
    public void Insert(View view) {

        //向学生表中添加10名学生
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"刘得意", 19, 1001, 60, 98, 75});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"王锐", 20, 1002, 63, 90, 96});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"何煜中", 19, 1003, 90, 73, 82});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"王磊", 21, 1004, 87, 86, 92});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"冯松", 19, 1005, 89, 98, 83});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"裴培", 20, 1006, 75, 82, 91});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"马骁", 19, 1007, 62, 67, 90});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"马婧", 20, 1008, 98, 84, 87});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"周俊升", 19, 1009, 57, 68, 96});
        db.execSQL("insert into student(name, age, no, cpp, math, english) values(?, ?, ?, ?, ?, ?)", new Object[]{"贺祺", 21, 1010, 61, 96, 72});
    }

    //删除数据库中的数据
    public void Delete(View view) {

        //删除姓名为"刘得意"的学生的信息
        db.execSQL("delete from Student 



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android之SQLite数据库篇,androidsqlite
  • 在android中使用SQLite数据库
  • Android 数据库SQLite 写入SD卡,androidsqlite
  • Android数据存储的三种方式介绍(SharedPrefrences,File,SQLite)
  • SQLite 在 Android 的应用,sqliteandroid应用

相关文章

  • 2017-05-26Android之ViewTreeObserver
  • 2017-05-26android高仿京东垂直循环滚动新闻栏
  • 2017-05-26Android Studio NDK基础使用
  • 2017-05-26一次奇怪的MySQL复制故障
  • 2017-05-26二维码的扫描和生成--第三方开源--ZXing,--第三方开源--zxing
  • 2017-05-26Xamarin.Forms+Prism(2)—— 基本使用 NavigationService,xamarin.forms
  • 2017-05-26ionic打包项目,运行时报错A problem occurred configuring root project 'android'。。。,ionicconfiguring
  • 2017-05-26android源码解析之(四)--)IntentService
  • 2017-05-26Android开发笔记(2)——ViewGroup,androidviewgroup
  • 2017-05-26android 实现漫天飞舞雪花以及下雨天的效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android5.0开发范例大全 读书笔记(三),android5.0范例
    • 硅谷新闻5--顶部新闻轮播图事件处理,硅谷5--
    • 浅谈Android应用保护(一):Android应用逆向的基本方法,浅谈android
    • 使用Eclipse开发Android源码
    • hideSoftInputFromWindow,模拟按钮点击事件
    • PHP的readfile下载大文件时卡住
    • 绘制视图,根据轴测图绘制三视图
    • 近年RFC文档专题及对应编号 选编 (持续更新)
    • android高仿京东垂直循环滚动新闻栏
    • Android之ContentProvider数据存储,contentprovider

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有