在上一节讲完了登录界面的内容,现在随着Activity的跳转,来到MainActivity. 1.主界面activity_main.xml 由上图,activity_main.xml的内容很简单. 首先是定义了一个androidx.appcompat.widget.Toolbar.先来看看,什么是Toolbar.这是由AndroidX库提供的一个控件. 看Toolbar之前,先来看看ActionBar.ActionBar是什么?其实每个Activity最顶部的标题栏就是ActionBar,不过系…
(3)RecyclerView的实现 ---中间的内容 RecyclerView是一个比ListView更加强大的滚动控件.要使用这个控件需要先在项目的build.gradle中添加RecyclerView库的依赖.这个内容在第一节就讲过,此处按下不表.然后在布局文件中加入RecyclerView的控件.---->然后新建一个布局文件recycler_item.xml,在这里写RecyclerView的子项布局.以上布局步骤在前面的小节中已经讲过.现在看看他们的具体实现.上一节代码讲到: ada…
最后就是添加备忘录的界面了.同时也是显示备忘录内容的界面. 1.activity_add_info.xml 也是比较简陋的一个页面设计. 顶部是一个自定义的Toolbar,剩下的部分都是ScrollView.这里我是放了一个ImageView,用于将图片插入进来. 整段代码只有ScrollView(滚动条)需要稍稍解释下.指路https://www.runoob.com/w3cnote/android-tutorial-scrollview.html 2.AddInfoActivity 先看整体…
先看效果 图一只是做了简单的页面,没有连接数据库,刚写完页面才想起备忘录好像不需要登录------但用SharedPreferences写了个记住密码. 图二是主页面,实现了搜索,添加,删除,修改几个基本功能. android菜鸡,只是记录学习路程,代码质量误究. ok,正式开始前先看这个: 三个Activity,三个类,四个xml.见名思意,应该不用多说都知道是干嘛的. 1.登录界面activity_login.xml 很简单的布局文件,自己瞎写的. 用了google的Material库,是为…
C# 在SQLite数据库中存储图像 更多 0 C# SQLite   建表语句 CREATE TABLE [ImageStore]([ImageStore_Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,[ImageFile] NVARCHAR(20) NULL,[ImageBlob] BLOB NULL ); 加载图像 privateImageLoadImage(){//Create an instance of the Image Class/…
将 flask 中的 session 存储到 SQLite 数据库中 使用 flask 构建服务器后端时,常需要在浏览器端存储 cookie 用于识别不同用户,根据不同的 cookie 判断出当前请求访问的用户.而在服务器端 flask 提供了易用的 session 代理,通过 from flask import session, 可以引入 session 并将其作为特定用户信息的字典来用. 要使用 session 代理,首先要给 flask 实例设置 secret_key,然后就可以在请求上下…
一 本系列随笔目录及本节代码下载 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软件使用.NET技术开发,为回馈社区,现将该软件中用到的核心技术,开辟一个专栏,写一个系列文章,以飨广大技术爱好者. 本系列文章除了讲解网络采编发用到的各种重要技术之外,也提供了不少问题的解决思路和界面开发的编程经验,非常适合.NET开发的初级,中级读者,希望大家多多支持. 很多初学者常有此类困惑,“…
SQLite数据库中rowid使用   SQLite中每个表都默认包含一个隐藏列rowid,使用WITHOUT ROWID定义的表除外.通常情况下,rowid可以唯一的标记表中的每个记录.表中插入的第一个条记录的rowid为1,后续插入的记录的rowid依次递增1.即使插入失败,rowid也会被加一.所以,整个表中的rowid并不一定连续,即使用户没有删除过记录.   由于唯一性,所以rowid在很多场合中当作主键使用.在使用的时候,select * from tablename 并不能获取ro…
SQLite使用动态类型系统,在SQLite中,值的数据类型和值本身,而不是和它的容器,关联在一起的.SQLite的动态类型系统和其他数据库引擎的静态类型系统是兼容的,这样在静态类型的数据库上执行的SQL语句也可以在SQLite中执行. 1.0 存储类和数据类型 每个存储在SQLite数据库中(或被数据库引擎操纵的)的值都有下列存储类的一个: NULL.空值. INTEGER.有符号整数,存储在1.2.3.4.6或8个字节中. REAL.浮点数,存储为8字节的IEEE浮点数. TEXT.文本串,…
Mysql(或者sqlite), Mongo中update Column + 1 有类似以下需求,在数据库表里有一个字段,记录了一个count,然后又时候需要在count的基础上加上某个数字,比如1.看到这个需求后,由于是要操作mongo数据库,发现mongo update的时候$inc可以实现这个结果,但是没想起Mysql或者sqlite要怎么操作,总不能query拿到count后再update吧.在stackoverflow上找到了以下的解决方案,果然是简单方便. update table…
目录 一.前言 二.效果图 1.插件界面 2.SQLite数据库 3.QQ群消息 三.准备工作 1.CQA软件 2.CQA-SDK易语言版本 3.易语言破解版 4.使用到的相关模块 四.开始撸代码 五.结尾 一.前言 公司有个需求,需要抓取QQ群里的消息内容,把消息内容存储到数据库当中.做这个功能之前,网上到处找了很多相关的资料及软件.有看到很多群消息监控的软件,但是都不太满足博主的要求,整来整去,最后博主还是决定自己开发一个,毕竟自己开发的源码啥的都在自己手里,想做成什么样子都可以,完全随自己…
由于项目是接手之前的烂尾项目,经常被吐槽说界面卡半天,后来发现项目里的网络请求,数据库操作都是在主线程.将一些长时间的操作换到多线程或者异步之后后,用户交互是变的顺畅多了,可是经常出现莫名其妙的闪退,还有数据插入错表的情况(用户表数据插入到消息表中). 因为项目比较早,用的三方库都比较旧,所以数据库用的是SQLitePersistentObject,本以为是数据库比较老旧问题,因为数据操作遍布数据库各处,也只能先帮办法解决问题,以后在考虑重构.优化了.网上也没有报出说这个三方库有什么问题.后来看…
很久之前的代码了,拉出来晾晾! 购物车大致思路: 分为:商品.店铺.全选: 商品全部选中后--店铺自动选中:商品未全部选中(若有一个商品未选中)--店铺不选中. 店铺全部选中后--全选自动选中:店铺未全部选中(若有一个店铺未选中)--全选不选中. 选中店铺 -- 店铺中的商品全部选中. 全选选中 -- 店铺全部选中.(全部选中): 我是使用RecyclerView来写的,适配器用的是BaseRecyclerViewAdapterHelper;当然ListView也能实现,思路代码什么的都一样.…
在项目中,我们往往会有把错误日志记录下来的习惯,这样有利于当网站发布后,能第一时间找到错误的所在地,以及错误的原因,以便于我们第一时间纠错.往往我们会把错误日志直接写到txt文本中,虽然操作简单,但是却不利于后期的维护.所以我们常常还会把错误日志记录在数据库中,而Log4net操作数据库的性能相对较高,所以衍生出这篇文章.废话不多讲,开始教大家如何去配置. 一.首先需要准备好Log4net和SQLite的DLL文件 Log4net的下载连接:http://logging.apache.org/l…
原文链接1   原文链接2 3. 索引的种类 1)聚集索引:表中行的物理顺序与键值的逻辑(索引)顺序相同.因为数据的物理顺序只能有一种,所以一张表只能有一个聚集索引.如果一张表没有聚集索引,那么这张表就没有顺序的概念,所有的新行都会插入到表的末尾.对于聚集索引,叶节点即存储了数据行,不再有单独的数据页.就比如说我小时候查字典从来不看目录,我觉得字典本身就是一个目录,比如查裴字,只需要翻到p字母开头的,再按顺序找到e.通过这个方法我每次都能最快的查到老师说的那个字,得到老师的表扬. 2)非聚集索引…
SQLite数据库中有一有列名为ID的自增列,项目需求要在向数据库在插入新数据的同时返回新插入数据行的ID. 我这里用事务,把插入和查询语句通过ExecuteReader一起提交,返回DbDataReader. 实现代码 public bool Insert(string topic, string key, string value, out int id) { DbProviderFactory factory = SQLiteFactory.Instance; using (DbConne…
原则:先检测该数据库的指定表中,是否已经存在我们要插入的这条数据记录,若已经存在,则不插入这条数据记录(即忽略此次插入操作),若尚不存在,才插入这条数据记录(即才执行此次插入操作) 我们这里使用的是FMDB框架 方法一: FMDatabase *collectionBookDB = [FavoriteBooksDataBase favoriteBooksDataBase]; NSString *sqlObjectiveString = [NSString stringWithFormat:@"I…
+ (void)getPersonByID:(int)ID { sqlite3 *db = [DB open]; sqlite3_stmt *stmt = nil; int result = sqlite3_prepare_v2(db, "select * from Persons where ID = 1", -1, &stmt, nil); if (result == SQLITE_OK) { NSData *data = [NSData dataWithBytes:sql…
开始 `creation_time` NUMERIC DEFAULT (datetime('now','localtime')), `update_time` NUMERIC DEFAULT (datetime('now','localtime')) 以上…
public void testTrasaction() throws Exception{  PersonSQLiteOpenHelper helper = new PersonSQLiteOpenHelper(getContext());  SQLiteDatabase db = helper.getWritableDatabase();  db.beginTransaction();  try{   db.execSQL("update sys_user set account = acc…
2016-03-16 Android数据库支持 本文节选并翻译<Enterprise Android - Programing Android Database Applications for the Enterprise>.学习目标: 学习Android对SQL的支持. 理解在Java中使用SQL——通过SQLiteDatabase类. 创建数据库——SQLiteOpenHelper类. 理解loaders.cursors和adapters. 为了在程序中使用本地的,结构化的数据,需要完成…
我想在我的安卓项目中实现一个这样的功能,读取sqlite数据库中的数据并显示到某个页面的listview控件中. 首先,我建立了一个Service类,来实现对数据库的各种操作,然后在这个类中添加对数据库操作的增删改查方法.具体代码如下: import java.util.ArrayList;import java.util.HashMap;import java.util.List; import android.content.ContentValues;import android.cont…
英文原文:Implementing video playback in a scrolled list (ListView & RecyclerView) 本文将讲解如何在列表中实现视频播放.类似于诸如 Facebook, Instagram 或者 Magisto这些热门应用的效果: Facebook: Magisto: Instagram: 这片文章基于开源项目: VideoPlayerManager. 所有的代码和示例都在那里.本文将跳过许多东西.因此如果你要真正理解它是如何工作的,最好下载…
英文原文:Limits In SQLite       本文定义了 SQLite 的限制,如何针对这些限制定制特定的应用程序.默认的限制设置通常是适当的,几乎适合于每一个应用.有一些应用程序可能需要在这里或者那里增加一个设置,但是我们估计这非常罕见.更普遍的是,应用程序可能需要重新编译SQLite以及更低的限制来避免过多的资源利用率,以及在高级SQL语句生成器上帮助阻止攻击者注入恶意SQL语句时发生错误. 在使用 sqlite3_limit() 接口的 limit categories 上,为该…
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能. 此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由以下几个组件组成:SQL 编译器.内核.后端以及附件. SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展 SQLite 的内核变得更加方便. SQLite 内部结构 原文 http://www.ibm.com/d…
原文: Android SQLite Database with Multiple Tables 在上一篇教程Android SQLite Database Tutorial中,解释了如何在你的Android应用中使用SQLite数据库.但它只涵盖了你的数据库中只有一个表的情景.有很多人询问当数据库中有多个表时如何处理. 以下解释了当有多个表存在时如何处理SQLite数据库. 用例: Todo应用 为了便于理解,我在这一教程中用了一个真实的用例,一个TODO应用的数据库方案.本文不会涵盖如何设计…
在RecyclerView更细数据时出现java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder错误时,有如下三种解决方案: 1. 自定义类继承LinearLayoutManager的包装类 自定义类继承LinearLayoutManager,重写onLayoutChildren,捕获异常 public class WrapContentL…
当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方式: 1. SharedPreferences存储数据  SharedPreferences数据存储,也叫作xml存储.这是将数据存储“data/data/程序包名/share_prefs”路径下的到xml文件中. 相关连接:<Android中数据存储(一)——SharedPreferences存储数据>2. 文件存储…
1. 创建数据如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库. 2. 如何通过sqlite3.dll与sqlite3.def生成sqlite3.lib文件LIB /DEF:sqlite3.def /machine:IX86 3. sqlite3_open打开一个数据库时,如果数据库不存在就会新生成一个数据库文件.如果接着执行其他查询语句就会失败,比如sqlite3_prepare,编程中出现明明指定了数据库而且里面也有数据…
http://www.sqlite.org/download.html 截至我安装SQLite数据库为止的时间,最新的版本可以下载sqlite-dll-win64-x64-3200000.zip和sqlite-tools-win32-x86-3200100.zip(当然要根据自己的系统位数),然后分别解压,从sqlite-tools中解压出的是三个.exe文件. 然后是将SQLite加入到path环境变量中,右击我的电脑,选择属性-高级系统设置-环境变量,双击path,在弹出的窗口中点击新建,输…