Day..09,SQLtie数据库

android中的sqlite查询数据时去掉重复值   1、方式一: /** * 参数一:是否去重 * 参数二:表名 * 参数三:columns 表示查询的字段,new String[]{MODEL}表示查询该表当中的模式(也表示查询的结果) * 参数思:selection表示查询的条件,PHONE_NUMBER+" = ?" 表示根据手机号去查询模式 ... 阅读详情

数据库的介绍:

Android 系统中集成的轻量级的数据库
轻量级 只用一个动态的库, 是以单个文件的形式进行存取
跨平台 支持多个操作系统
零配置 无需安装, 直接使用
嵌入式 内嵌到手机中

SQL语句的俩个核心类:

SQLiteOpenHelper

1.创建一个类 继承SQLiteOpenHelper

package com.example.day09;

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

public class Mysqlhelp extends SQLiteOpenHelper {

    public Mysqlhelp(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

 /**
 * 构造
 * @param context 上下文
 * @param name  数据库名称
 * @param factory  创建数据的工厂对象
 * @param version 数据版本号
 */	

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table user" +
                "(id integer primary key autoincrement," +
                "name varchar(20)," +
                "age integer)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

oncreate在这个方法中创建数据库的数据表
重点:(创建表的格式):create table 表名 (这里面填写数据)
主键:primary key
自增:autoincrement
配套使用

SQLiteDatabase

他是用来对数据库进行操作。。(增,删,改,查)
通过SQLiteOpenHelper获取SQLiteDatabase对象

		//创建SQL数据库
        Mysqlhelp mysqlhelp = new Mysqlhelp(this, "user.db", null, 1);
        //操作
        readableDatabase = mysqlhelp.getReadableDatabase();

用对象来进行操作
//添加

 public void click(View view) {
        //添加一条新数据
        //原生SQL
        String sql = "insert into user values(null,?,?)";
        readableDatabase.execSQL(sql,new Object[]{"kun",20});
        //这是安卓自带
        ContentValues contentValues = new ContentValues();
        contentValues.put("name","jia");
        contentValues.put("age",123);
//        readableDatabase.insert("user",null,contentValues);
    }

//更新数据库

    public void clicck(View view) {
        //原生SQL
        String sql = "update user set name = ? where id = ?";
        readableDatabase.execSQL(sql,new Object[]{"小小明",6});
        //这是安卓自带
        ContentValues contentValues = new ContentValues();
        contentValues.put("name","xiaoming");
        int user = readableDatabase.update("user", contentValues, "id = ?", new String[]{"1"});
    }

//删除

	    public void cliccck(View view) {
		//这是原生
        String sql = "delete from user where id = ?";
        readableDatabase.execSQL(sql,new Object[]{5});
		//这是安卓自带
        readableDatabase.delete("user","id = ?",new String[]{"5"});

    }

//查找

    public void clicccck(View view) {

//        String sql = "select * from user where id = ?";
//        Cursor cursor = readableDatabase.rawQuery(sql, new String[]{"2"});
//        if(cursor != null){
//            while(cursor.moveToNext()){
//                String name = cursor.getString(cursor.getColumnIndex("name"));
//                Toast.makeText(this, name, Toast.LENGTH_SHORT).show();
//            }
//        }
//        else {
//            Toast.makeText(this, "无", Toast.LENGTH_SHORT).show();
//        }
//        cursor.close();

        Cursor user = readableDatabase.query("user", null, null, null, null, null, null);
        if(user != null){
            while(user.moveToNext()){
                String name = user.getString(user.getColumnIndex("name"));
                String id = user.getString(user.getColumnIndex("id"));
                String age = user.getString(user.getColumnIndex("age"));
                entity entity = new entity();
                entity.setId(Integer.parseInt(id));
                entity.setName(name);
                entity.setAge(Integer.parseInt(age));

               Log.i("123456",entity.toString());
            }
        }
        user.close();
    }

// 最后我们需要封装一个类 将数据放在里面:(一般情况下。。类名是entity)

package com.example.day09.entity;

public class entity {

    private Integer id;
    private String name;
    private Integer age;

    public entity(Integer id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public entity() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "entity{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

//用封装的类的get,set方法封装

基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真 本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。 阅读详情

相关推荐

银河麒麟系统安装redis【亲测可行】

架构:Linux 5.10.0-9-generic x86_64 GNU/Linux。redis版本:redis-6.2.3.tar.gz。然后在执行make install,结束;OS:银河麒麟V10(SP1)未激活。cpu:I5-10代;

lx_nhs的博客 3337

Android利用sqlite实现页面搜索记录功能

前言 数据库作为软件开发过程中必不可少的一门语言,一直深受广大后端程序员的关注和喜爱,作为移动开发来讲,虽然有着更多的其他存储方式可以使用,但是其也是并不可少的存在,特别是在某些特殊的应用场景下,因此掌握数据库的使用在移动开发也格外重要。本次我就通过一个存储搜索记录的例子,来一起巩固总结一下数据库在Android上的使用。 功能要点 相信大家应该在不少的App上见到过搜索记录这个功能,很简单...

Ever69的博客 911

基于gem5模拟trace的cache模拟器的实现

在做计算机体系结构的时候,模拟器是一个重要且又有效的工具。其中gem5集成了gem和m5的优点,使用起来比较简单和方便。其中包括了se模式和fs模式,se模式是在gem5运行我们已经编译好的程序,可以获取cache,cpu状态等数据,fs模式下可以模拟操作系统,我们可以将我们自己修改的linux内核加载到哥们上运行。下面介绍了使用gem5的se模式,运行编译好的ARM可执行文件。获取访存的trac

gaoxiang的专栏 8893

Android数据库sqlite的使用

Android的sqlite使用 我们先创建一个数据库以供使用 public class SqlOther extends SQLiteOpenHelper { public SqlOther(Context context) { super(context, "xinhao", null, 1);//标注1 } ...

Time丶时光不曾 502

《湖科大教书匠计算机网络》学习笔记总目录+思维导图

本篇文章是对《湖科大教书匠计算机网络》所有知识点的笔记总结归档和计算机网络的思维导图

weixin_73077810的博客 8255

微信小程序返回按钮的隐藏玩法:用onShow实现数据自动刷新(附完整代码)

本文深入探讨了微信小程序中用户点击返回按钮后,如何利用onShow生命周期函数实现页面数据的自动刷新。文章对比了onLoad与onShow的差异,提供了从基础的本地存储标记到进阶的EventChannel事件通信,再到状态管理库的多种解决方案,并附有完整的代码示例,帮助开发者构建流畅的用户体验。

agile9scrum的博客 925

rawQuery()方法的使用

SQLiteDatabase的rawQuery()用于执行select语句,使用例子如下: SQLiteDatabase db= ....; Cursor cursor = db.rawQuery("select * from person",null); ... cursor.close(); db.close(); rawQuery()方法的第一个参数为select语句;第二个参数为s

上帝派来的逗比 6294

【unity游戏开发入门到精通——通用篇】Post Processing 后处理插件Post-process Volume 和 Volume最全基础使用说明

之前我已经实现了不少后处理功能,本文其实就是将他们归类整理,以便更好的查找和理解。在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大修,可以让场景看起来更加真实或风格化,或者只是变得更好看。就像我们都会用手机拍照,但很多时候我们拍的原始的相片都打不到我们想要的效果。比如照片可能亮度不够,颜色不饱和或者对比度不好等。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 7900

SQLite数据库

SQLite数据库一.SQLite数据库介绍二.数据库核心类三.SQL语句四.增删改查五 .用事务处理 一.SQLite数据库介绍 1.Android 系统中集成的轻量级的数据库 2.特点: 轻量级 只用一个动态的库, 是以单个文件的形式进行存取 跨平台 支持多个操作系统 零配置 无需安装, 直接使用 嵌入式 内嵌到手机中 3.在程序的内部可以通过数据库的名称访问, 其他应用不能访问 4.路径: ...

weixin_45585195的博客 225

Python-增加b站视频播放量

如果条件允许的情况下,有代理API更好,每次请求url调用API也更方便。如果没有的话,也不用担心,网上本身也有着很多免费国内代理,不过代理是否可用需要自己花点时间去检测,检测方法笔者这里就不详述了,后面有时间的话会单独针对这一块做详细说明。在开始之前,需准备代理IP。总之,在每次请求url的时候,随机带入某个IP防止被平台检测,便于达到增加播放量预期。大致思路就是针对你的目标代理平台进行IP抓取,并存入到自己本地的IP代理池。本文是该专栏的第1篇,后面会持续更新对应平台干货知识,记得关注。

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 5215

rk3568 Android12 默认授予预装app权限

默认授予预装应用权限可以避免用户在每次使用应用时都要重复同意权限请求。尽管在Android 12中,用户对权限的管理有了更高的控制权,但这也可能导致用户在频繁使用预装应用时感到繁琐和不必要的干扰。通过默认授权,减少了这种麻烦。一些厂商可能会根据其定制的Android系统(如Samsung的One UI、Xiaomi的MIUI)要求某些预装应用默认获得权限,以便应用能够提供厂商特定的功能。这也有助于设备厂商提供统一和稳定的服务,不至于因为权限问题导致某些功能无法使用。

weixin_35723192的博客 661

第9天Sqltie数据库

Sqltie数据库SQLite数据库介绍SQL语句复习数据库使用及两个核心类使用事务批量处理数据查询的扩展 (一个查询的案例) SQLite数据库介绍 1.Android 系统中集成的轻量级的数据库 2.特点: 轻量级 只用一个动态的库, 是以单个文件的形式进行存取 跨平台 支持多个操作系统 零配置 无需安装, 直接使用 嵌入式 内嵌到手机中 3.在程序的内部可以通过数据库的名称访问, 其他应...

shuai_ge_feng的博客 1951

46、大数据助力SDN优化流量管理与控制器

本文探讨了大数据在软件定义网络(SDN)中的应用,重点分析了如何利用大数据技术优化SDN控制器的可扩展性和弹性。通过介绍SDN控制器的核心功能及其面临的挑战,提出了集中式、分布式、混合式和分层式控制器放置策略,并结合大数据分析系统架构与技术,详细阐述了在控制器放置优化、流聚合和备份路径识别等场景中的实际应用。文章还给出了大数据分析在SDN控制器优化中的操作流程与优势,展望了未来结合人工智能与物联网的发展方向,强调了数据安全与算法效率的重要性。

xx56789的博客 87

Day09 Sqltie数据库

Sqltie数据库介绍Sql语句复习数据库的使用及两个核心类SQLiteOpenHelper代码展示SQLiteDatabase代码展示查询的扩展 介绍 1、存放路径 data/data/应用程序包名/database/ ****.db 2、存放的类型 NULL 空值 INTEGER 整型(不用int) VARCHAR 可变长度的字符数据 TEXT 文本字符串 BOOLEAN 布尔 DATE ...

huang_one_jun的博客 197

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

安卓 专高 day09 Sqltie数据库

安卓 专高 day09 Sqltie数据库 Sqltie数据库 Sqltie数据库简介 SQL语句 使用方式 操作值 Sqltie数据库 Sqltie数据库简介 Android 系统中集成的轻量级的数据库 特点 轻量级 只用一个动态的库, 是以单个文件的形式进行存取 跨平台 支持多个操作系统 零配置 无需安装, 直接使用 嵌入式 内嵌到手机中 存放的类型 NULL 空值 INTEGER 整型(不...

qq_45233155的博客 160

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

安卓 Sqltie数据库

安卓 专高 day09 Sqltie数据库Sqltie数据库Sqltie数据库简介SQL语句使用方式操作值 Sqltie数据库 Sqltie数据库简介 Android 系统中集成的轻量级的数据库 特点 轻量级 只用一个动态的库, 是以单个文件的形式进行存取 跨平台 支持多个操作系统 零配置 无需安装, 直接使用 嵌入式 内嵌到手机中 存放的类型 NULL 空值 INTEGER 整型(不用int)...

zxsenqiu的博客 296

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SQLiteDatabase query 和 rawQuery 的区别

<span style="font-size:12px;">Cursor cursor = db.rawQuery("select name from *** where id=?", new String[]{"1"}); Cursor cursor = db.query("***", new String[]{"name"}, "id...

weixin_33863087的博客 802

数据库SQLiteOpenHelper :本地保存最新数据200条

SQLiteOpenHelper public class DBHelper extends SQLiteOpenHelper { public static final String DB_NAME = "wfbk.db"; public static int DB_VERSION = 1; private static DBHelper helper; priv...

火星男孩的分享空间 391

SQLiteDatabase之execSQL()和rawQuery()

Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。

轻轻一叶风 1万+

SQLiteDatabase.query()各个参数的意义

SQLiteDatabase包含有四个参数不同的query函数,分别包含有7,8,9,10个参数。这么多的参数很难记,所以在这里以10个参数的query函数为例,梳理一下各个参数的意义。 Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selection

空之境界 2万+

Android 引用外部数据库(一)

Android 引用外部数据库(一) 有现成的数据库,需要直接引入到项目中使用。 #准备 在开始之前我们要确认现有的数据库的表结构和字段信息等。(注意要看清楚数据库的大小,后面有用) #第一步 将外部数据库拷贝到项目中的 assets文件夹中,如图 #第二步 在你要使用数据库之前将数据库拷贝到 /data/data/包名/databases/ 目录下...

MartinDong的博客 2363

Android系列学习:SQLiteDatabase

android 系列学习之SQLiteDatabase  SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。 下面简单的简述sqlite的创建以及增删查改。 创建:    创建sqlite数据库,首先的创建一个 SQLiteOpenHeper   的之类

gaosililin的专栏 524

android 数据库语法,SQLite语法与Android数据库操作

本篇文章可以学到以下内容:SQLite操作以及SQL基本语法Android中的数据库操作(增删改查)Android中ContentProvide内容提供者和ContentResolver内容解析者的使用项目地址:学习android的小伙伴们在使用Android的SQLiteDatabase类进行数据库操作的时候总会有一些力不从心,特别是对于初涉数据库的小伙伴来说更是如此。这是因为Android的S...

weixin_31090341的博客 610

android数据库的简单Demo(原生版+Google版)

android和ios的数据库都是用SQLite来实现。 在安卓里面数据库怎么用呢,简单来说可用分为以下三步: 1、新建一个数据库帮助类,继承自SQLiteOpenHelper,复写onCreate() 和 onUpgrade() 2、新建一个数据里操作类(dao类),利用 数据库帮助类 得到数据库的实例,然后在dao类里面编写 增删改查 的方法 3、在Activity里面实例化数据库操作

阿敏其人的专栏 1045

Android对SQLite数据库进行封装使用反射来进行表的增删改查

一、介绍 1.首先该操作类由三部分组成:DBOperHelper、AppDao、DBProviderDBOperHelper:用来管理表的创建和版本升级 AppDao:数据库的操作类,该方法进行数据库的增、删、改、查DBProvider:数据库内容变化监听器2、使用 比如说我们现在需要建个Student表 (1).创建Student的bean对象package lc.com.car.bean;

凌风的博客 898
上一篇: Day08..案例
下一篇: Android 内容提供者。。内容接收者
Shawkun
博客等级 码龄7年 0粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值