Android 继承SqLiteOpenHelper 实现内部数据库

请继承SQLiteOpenHelper实现 1).创建一个版本为1的“diaryOpenHelper.db”的数据库,    2).同时创建一个 “diary” 表(包含一个_id主键并自增长,topic字符型100        长度, content字符型1000长度)    3).在数据库版本变化时请删除diary表,并重新创建出diary表。 publicclass DBHelper  extends SQLiteOp 阅读详情

在android 开始当中,可以通过两种方式来建立自己的sqlLite 数据库,① 在外边建好,导入到sd卡中,这种方式会使其他应用访问到自己的数据库,不建议使用,第二种方式,继承SqLiteOpenHelper 类来实现数据库的建立
onCreate 方法只会在类实例化后调用获取SqLiteDataBase 对象的时候执行一次,若要版本更新则执行onUpGrade方法

/**
 * Description: xxxx<br/>

 * Copyright (c) , 2016, Jansonxu <br/>
 * This program is protected by copyright laws. <br/>
 * Program Name:Dbhelper.java <br/>
 * Date: 2016年3月9日
 * 
 * @author 李阳
 * @version : 1.0
 */
package com.example.contentprovider.util;

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

public class Dbhelper extends SQLiteOpenHelper {

    /**
     * @param context
     * @param name
     * @param factory
     * @param version
     */
    public Dbhelper(Context context) {
        super(context, "user_1.db", null, 1);
    }


    @Override
    public void onCreate(SQLiteDatabase db) {

        //① 用户表
        db.execSQL("create table t_user(_id integer primary key, uname,upass,money)");

        //② 用户订单表
        db.execSQL("create table t_order(_id integer primary key,user_id,productName,price)");

        //③ 向用户表中 插入数据  id 会自动加
        db.execSQL("insert into t_user(uname,upass,money) values('琪琪','111','20000')");
        db.execSQL("insert into t_user(uname,upass,money) values('刀刀','111','2000')");
        db.execSQL("insert into t_user(uname,upass,money) values('小猫','111','200')");


    }


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

        if(newVersion > oldVersion){
            //先判断存在不存在
            db.execSQL("drop table t_user if exists t_user ");
            db.execSQL("drop table t_user if exists t_order ");
            onCreate(db);

        }

    }

}
Android 使用SQLiteOpenHelper对数据库进行版本管理 因为我们开发的软件可能会安装在成百上千个用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软件时创建出应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数据表结构进行更新。那么,我们如何才能实现在用户初次使用或升级软件时自动在用户的手机上创建出应用需要的数据库表呢?总不能在每个需要安装此软件的手机上通过手工方式创建数据库表吧?因为这种需求是每个数据库 阅读详情

相关推荐

Android学习笔记(12)————利用SQLiteOpenHelper来管理SQLite数据库

/********************************************************************************************  * author:conowen@大钟

[conowen]大钟的专栏 4万+

Android操作sqlite数据库

sqlite

ywanju的博客 1747

在sdCard创建数据库(打造自己的SQLiteOpenHelper)

1.在sd创建数据库         项目需求,需要在sd卡上创建数据库,看了半天的SQLiteOpenHelper代码,主要的方法就是getWritableDatabase()和getReadableDatabase(), 都是一系列的判断,然后返回SQLiteDatabase mDatabase,但是为什么就会在/data/data/com.xxxx./xxx.db呢?       认真

zhou_shaowen的专栏 1732

android studio 自动生成sql语句,android studio使用SQLiteOpenHelper()建立数据库的方法

在android studio中存储数据有三个方法,分别是:(1)简单存储——SharedPreferences(2)文件存储:内部存储——应用程序私有文件外部存储——SD卡资源文件——只读( RAW 、XML)(3)数据库存储——SQLiteDataBase今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenHel...

weixin_39889788的博客 612

Android如何使用SQLlite数据库

先写一个类,继承自SQLiteOpenHelper public class MyDatabaseHelper extends SQLiteOpenHelper { //声明一个Context private Context context; //原本的重写方法很多用不到的参数 这里直接删除了,第二个参数为数据库的名字(需要用db结尾) // 调用父类的时候传...

南 墙 1万+

SQLiteOpenHelper/SQLiteDatabase/Cursor源码解析

我们在使用android提供的SQLite存储数据的时候,就会用到SQLiteOpenHelper和SQLiteDataBase,但查询数据的时候会得到一个Cursor对象,这里我们将深入android提供的关于SQLite的封装以原理。 SQLiteOpenHelper ——封装管理数据库的创造和版本管理类 主要封装了数据库的创建和获取的方法,一般继承该类实现onCreate()、o

Y_ZhiWen的博客 6365

SQLite数据库操作

SQLite数据库操作 SQLite数据库 一.SQLite数据库介绍 二.数据库核心类 三.SQL语句复习: 四.数据库简单代码: 五.代码: 六,使用事务批量处理数据 1.什么是事务? 2…事务的好处? 3.代码: SQLite数据库 一.SQLite数据库介绍 1.Android 系统中集成的轻量级的数据库 2.特点: 轻量级 只用一个动态的库, 是以单个文件的形式进行存取 跨平台 支持多个...

lizhuang_666的博客 1860

SuperDB,演示使用SQLiteOpenHelper继承子类操作数据库例子

SuperDB,演示使用SQLiteOpenHelper继承子类操作数据库例子,演示数据库的增删查等操作。

Sqlite SQLiteOpenHelper 的继承使用

public class DBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "site.db";         private static final int DATABASE_VERSION = 3;// 这个数据很重要 数据

ouhuanyixie8627的博客 683

实战:如何用MIPI CSI-2高效传输RAW10图像数据(附带宽优化技巧)

本文深入探讨了MIPI CSI-2协议在RAW10图像数据传输中的高效应用,详细解析了4像素5字节打包机制及其带宽优化技巧。通过动态Lane分配、位深度自适应压缩和虚拟通道交错传输等实战方法,显著提升传输效率,适用于IoT摄像头开发等低功耗场景。

css33的专栏 732

SpringBoot多线程查询实战-查询库中所有数据多线程实现

但是,在数据量较大且服务器资源足够的情况下,多线程方法通常能够显著提高查询效率。此外,由于它是同步执行的,没有利用并行处理的能力,所以在处理大量数据时可能会比较慢。这个方法采用了分页查询的方式,每次只获取一部分数据,从而避免了内存溢出的问题。然而,它也是同步执行的,没有利用多线程或并行处理的能力。如果每次分页查询的数据量仍然很大,或者需要查询的轮数很多,那么这种方法的效率可能仍然会受到限制。​ ​ ​在比较这三种方式的效率时,我们需要考虑几个关键因素:数据量的大小、查询操作的复杂性、以及并行处理的能力。

勇敢牛牛,不怕困难! 4809

android 数据库目录 SD卡

Android应用的开发过程中,免不了会用到SQLite数据库,而SQLite数据库默认的存储路径为:/data/data/packagename/database,其中 packagename是应用的包名。该种方式建立的数据库只有本程序可以访问,其他的应用程序是无法访问的,而且没有...

chuanzhuchu0617的博客 150

JAVA进阶面试题:如何设计一个高并发系统?

如何设计一个高并发系统? 面试官心理分析 说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥,有高并发就经验者优先。 如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊取物,没啥问题。面试官也绝对不会这样来问你,否则他就是蠢。 假设你在某知名电商公司干过高并发系统,用户上亿,一天流量几十亿,高峰期并发量上万,甚至是十万。那么人家一定会仔细盘问你的系统架构,你们系统啥架构?怎么部署的?部署了多少台机器

uuop155的博客 1021

异步操作mysql数据库,如何使用异步任务执行数据库操作

My application is getting stuck while performing database operation after googling for solutions it was suggested that I use AsyncTask so that main thread doesn't get blocked.I have created seperate c...

weixin_39799825的博客 391

【深度学习新浪潮】深度学习特别是大模型在图像配准方面的研发进展

深度学习,尤其是大模型的出现,彻底改变了图像配准的技术范式——从“手工设计特征+几何约束”走向“数据驱动+通用特征学习”。当前,大模型配准已在医学影像、遥感、工业检测等领域实现商业化落地,解决了传统方法难以应对的跨模态、少样本、复杂形变等问题。但大模型配准仍面临推理效率、可解释性、数据隐私等挑战,未来的研发核心将是“精度与效率的平衡”“泛化能力的提升”“场景化适配的简化”。对于开发者而言,从简化版大模型配准代码入手,逐步理解预训练+微调的核心逻辑,是衔接前沿技术的有效路径。

专注:太空算力、AI infra、异构调度、大模型成本工程 426

C#部署YOLO三种方案深度实测:OpenCV DNN vs ONNX Runtime vs TensorRT

在工业视觉项目落地阶段,C#生态下部署YOLO模型主要有三条技术路线。很多开发者仅凭经验选型,往往在部署后期踩中性能瓶颈、兼容故障、维护成本超标的坑。本文基于工控机常见硬件配置,针对YOLOv8系列模型做控制变量实测,从推理性能、部署难度、工业稳定性、综合成本等多个维度做横向对比,给出可直接落地的选型结论。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 470

在android studio中用SQLiteOpenHelper()方法建立数据库

在android studio中存储数据有三个方法,分别是: (1)简单存储——SharedPreferences (2)文件存储: 内部存储——应用程序私有文件 外部存储——SD卡 资源文件——只读( RAW 、XML) (3)数据库存储——SQLiteDataBase 今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLite...

蝈蝈ly 1万+

手把手教你学Simulink--H桥逆变器的PWM控制设计与仿真

本文详细介绍了如何在Simulink环境中设计和仿真一个基于PWM控制的H桥逆变器。H桥逆变器广泛应用于电机驱动、UPS和可再生能源系统等领域,通过PWM技术可以有效控制输出电压的幅度和频率,减少谐波失真,提高系统效率和稳定性。文章首先介绍了所需的工具和环境,包括MATLAB/Simulink和SimscapeElectrical工具箱。接着,详细阐述了从定义任务需求、创建Simulink项目、建立基础电气模型、集成传感器模型、实现PWM控制算法到设置仿真参数和运行仿真的完整步骤。最后,文章总结了通过Sim

MHD0815的博客 720

【android】SQLiteOpenHelper实现数据库的增删改查(封装的思想,一个小框架)

SQLiteOpenHelper这个类来连接或者创建数据库,通过getWritableDatabase()或者getReadableDatabase(),来对表进行写入或读取操作。

此成非彼诚博客 5293

数据分析案例-对某宝用户评论做情感分析

目录 原始数据 绘制词云图 情感分析 原始数据 原始数据为某宝一商品的用户评论数据 绘制词云图 # coding=utf-8 import jieba import re import wordcloud import imageio # 打开需要分析词频的文本 with open('淘宝评论3.0.txt', encoding='utf-8') as f: data = f.read() # 文本预处理 :去除一些无用的字符只提取出中文出来 new_data

m0_64336780的博客 1万+

最新扣子智能体教程:手把手教你接入抖音评论区,实现自动回复

摘要:本文介绍如何利用扣子(Coze)平台搭建智能体实现抖音评论自动回复。从准备工作(账号注册、权限申请)到智能体创建(提示词优化、模型选择),再到抖音API接入和自动回复逻辑设置,详细说明了每个步骤的操作方法。文章还提供了回复模板示例和优化建议,帮助提升互动效率。通过这套方案,创作者可以显著减轻评论区管理压力,增强用户互动体验。(149字)

互联网架构师笔记 990

安卓案例:利用SQLiteOpenHelper操作数据库及表

安卓案例:利用SQLiteOpenHelper操作数据库及表 一、运行效果 二、涉及知识点 1、利用SQLiteOpenHelper类创建与升级数据库 这个类是一个抽象类,我们必须继承该类创建一个子类,实现里面的两个抽象方法: (1)public void onCreate(SQLiteDatabase db); (2)public void onUpgrade(SQLiteDatabase...

u011555996的博客 1309

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

继承SQLiteOpenHelper类实现自己的SQLite数据库操作

MySQLiteOpenDataBase.java package prictise.lxm.prictise; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androi

lxm_start的专栏 3012

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android下SQLite数据库借助SQLiteOpenHelper操作

文章将要实现的功能 开发一个app,在app中用SQLiteDatabase类创建sqlite数据库StudentSystem,创建数据表Course,数据字段如下: 字段名 数据类型 描述 id integer 主键,自动增长 course_no varchar 课程编号 course_name varchar 课程名称 credit integer 课程学分 r...

XXL_SanSui的博客 1178

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SQLiteOpenHelper数据库操作

发现之前写了这么多都没有涉及数据库的内容,但是数据库又是灰常的重要,所以这里就写一下安卓利用SQLiteOpenHelper进行数据库操作了。 数据库操作一般的思路是用一个类继承SQLiteOpenHelper,然后就可以各种增删改查了。必须要注意的是SQLiteDatabase和Cursor不用要close掉,不然会内存泄露。 提一下的是,设A继承了SQLiteOpenHelper,那么A的

湛江下暴雨 1543

android利用SQLiteOpenHelper类实现对数据库的增删查改操作

android内部提供了SQLiteOpenHelper工具类,封装了操作内置数据库SqLite的基本方法,完成实现对数据库的增删查改操作; 首先创建项目,实现几个操作按钮; <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.a

zfeig的专栏 4547
上一篇: 自定义内容提供者getType(Uri uri) 方法详解
下一篇: Android自定义内容提供者使用
一朵红杏
博客等级 码龄12年 51粉丝 282原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值