iOS应用开发中SQLite的初步配置指南
iOS开发数据库篇—SQLite简单介绍
一、离线缓存
在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等。
说明:离线缓存一般都是把数据保存到项目的沙盒中。有以下几种方式
(1)归档:NSCodeing、NSKeyedArchiver
(2)偏好设置:NSUserDefaults
(3)Plist存储:writeToFile
提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题。
举例:使用归档
两个问题:
(1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性全部读取,这涉及到应用的性能问题。
(2)如果有1000条数据,此时要把第1001条数据存入,那么需要把所有的数据取出来,把这条数据加上去之后,再存入。
说明:以上的三种技术不能处理大批量数据的存储,大批量数据通常使用数据库来进行存储。
二、SQLite简单介绍
1.ios中数据的存储方式
(1)Plist(NSArray\NSDictionary)
(2)Preference(偏好设置\NSUserDefaults)
(3)NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)
(4)SQLite3
(5)Core Data
说明:
3是版本号,是SQLite的第三个版本。
core Data是对SQLite的封装,因为iOS中使用的SQLite是纯C语言的。
2.SQLite
(1)什么是SQLite?
答:SQLite是一款轻型的嵌入式数据库,安卓和ios开发使用的都是SQLite数据库
(2)特点(优点)
答:1)它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了
2)它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快
(3)什么是数据库
答:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
(4)数据库的分类
答:可以分为2大种类
关系型数据库(主流)和对象型数据库(直接把内存中的对象塞入到数据库,对比关系型数据库而言性能不能很好,效率不高)
(5)常用关系型数据库有哪些?
答:PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase
嵌入式\移动客户端:SQLite
(6)数据库是如何存储数据的?
答:数据库的存储结构和excel很像,以表(table)为单位 。表由多个字段(列、属性、column)组成,表里面的每一行数据称为记录
(7)数据库存储数据的步骤?
1)新建一张表(table)
2)添加多个字段(column,列,属性)
3)添加多行记录(row,record,每行存放多个字段对应的值)
三、Navicat
Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括SQLite)
1.Navicat的安装
(1)下载该软件后,先打开该软件
(2)把文件拖入到应用程序拷贝
(3)破解版,千万不要打开app,先打开sn.app
(4)点击patch,找到应用程序的路径,点击open.
(5)点击Generate,生成注册码
(6)点击activate,选择文件,open
(7)退出sn,打开安装文件,完成安装
2.Navicat的使用
新建一个SQLite3数据库
创建一个新的数据库
设置数据库保存的位置(新建一个文件夹):
起个名称之后,保存
设置数据库连接的名称
完成之后,双击连接数据库
注意:yangyong是连接名称,不是数据库,利用yangyong这个连接,连接了main数据库。几项依次是表、视图、索引、触发器、查询。
新建一张表,设置字段名
保存,设置表名(建议以t开头以下划线隔开,以示区分,说明这是张表)
相关推荐
-
iOS开发中使用FMDB来使程序连接SQLite数据库
一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 3.FMDB的github地址 https://github.com/ccgus/fmdb 二.核心类 FMDB有三个主要的类 (1)FMDatabase 一个FMDatabase
-
简介iOS开发中应用SQLite的模糊查询和常用函数
SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: 复制代码 代码如下: // // YYPerson.h // 03-模糊查询 // // Created by apple on 14-7-27. // Copyright (c) 2014年 wendingding. All rights reserved. // #import <Foundation/Foundation.h> @interface
-
iOS中SQLite的操作方法
今天终于花了点时间把之前项目中使用到的对SQLite操作的方法整理一下并上传到github上,下载地址:(https://github.com/peanutNote/QYSQLiteManagerDemo.git). 与其他第三方目的一样,主要是为了使代码中有关对SQLite操作简单化,具体用法: 将QYSQLiteManager文件add到项目中,并在需要对SQLite进行操作的类中添加#import "QYSQLiteManager" . // 插入语句 - (void)inser
-
iOS中SQLite使用教程
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口,同样比起Mysql.PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快.SQLite第一个Alpha版本诞生于2
-
iOS App使用SQLite之句柄的定义及数据库的基本操作
句柄 要操纵一个数据库你就得有一个这个数据库的句柄(又碰到这个难以理解的词了,不过确实还没得一个更好的词来替代它).其实你跟本不需要去在乎这个词叫什么,你只要搞清楚他是一个什么玩意儿.就如同鞋子为什么叫鞋子,仔细想想确实也难以理解,不过 清楚他的功能就OK了,不是吗? 句柄在很多地方我们见到过,最常见的就是文件的句柄,我们要操纵一个文件,我们就要取得一个文件的句柄.句柄是个什么东东呢?其实很简单,句柄是一个东东的描述,他被定义为一个结构体,这个结构体可能会包含要描述的东东的具体信息,比如位置.大
-
iOS App项目中引入SQLite数据库的教程
引入SQLite sqlite是纯C实现的,所以注定了它是一个跨平台利器,在Android与IOS下均能使用,而且完全可以写出通用的代码,方便我们移植.当然Android和IOS下都有封装过的sqlite给开发者使用,不过这样子一个是不方便移植,另一个是封装后的效率咋样我们也不知道,所以还是原生态的最健康.最后一个重要的原因就是原生的使用也是相当简单.我将在接下来的教程中为您一一讲解. 首先最重要的一点是在工程中导入sqlite,苹果的SDK已经给你包含进来了,所以只要导入一个叫 libsqli
-
iOS中sqlite的详细用法
本文实例为大家分享了ios中sqlite的具体操作方法,供大家参考,具体内容如下 #import <sqlite3.h> @interface ViewController () { sqlite3 *_sqldb; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typicall
-
iOS中sqlite数据库的原生用法
在iOS中,也同样支持sqlite.目前有很多第三方库,封装了sqlite操作,比如swift语言写的SQLite.swift.苹果官网也为我们封装了一个框架:CoreData. 它们都离不开Sqlite数据库的支持. 本文主要介绍下,如何在swift中使用原生的sqlite的API. 在Xcode中引入sqlite API 新建一个swift项目后,我们需要让项目引入sqlite的动态链接库: 1.项目配置界面,选择Build Phases 2.点开Link Binary With Libra
-
iOS sqlite对数据库的各种操作(日常整理全)
在IOS中使用Sqlite来处理数据.如果你已经了解了SQL,那你可以很容易的掌握SQLite数据库的操作.iOS对于数据库的操作:增加.删除.查找.修改具体介绍如下所示: 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Manager的步骤: 第一步:在工具栏找到附加组件,点击进入 第二步:搜索 SQP,找到并下载,安装完成之后需要重启浏览器 第三步:在工具只乐观找到SQLite Manager,点击打开 SQLite Manager界面
-
iOS应用开发中SQLite的初步配置指南
iOS开发数据库篇-SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyedArchiver (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题. 举例:使用归档 两个问题: (1)数据的存取都必须是完整的,要求
-
Android应用开发中CardView的初步使用指南
引言 在Google I/O 2014上,Google公布了Android L Preview版本,此版本的UI有了非常大的改变,很炫很给力!同时,Google也给出了两个可以向下兼容的控件放到了V7包中,分别是RecyclerView和CardView,这篇博文就说一下怎么使用CardView. CardView的包在哪? 虽然说CardView整合到了V7中,但是在support-v7中并不能发现,通过查看sdk extra路径下的文件可以发现,其名字叫cardview-v7. 这个路径下就
-
Android开发中Launcher3常见默认配置修改方法总结
本文实例讲述了Android开发中Launcher3常见默认配置修改方法.分享给大家供大家参考,具体如下: Launcher概述 Launcher是开机完成后第一个启动的应用,用来展示应用列表和快捷方式.小部件等.Launcher作为第一个(开机后第一个启动的应用)展示给用户的应用程序,其设计的好坏影响到用户的体验,甚至影响用户购机的判断.所以很多品牌厂商都会不遗余力的对Launcher进行深度定制,如小米的MIUI.华为的EMUI等.Android默认的Launcher没有过多的定制,更加简洁
-
iOS App开发中Core Data框架基本的数据管理功能小结
一.何为CoreData CoreData是一个专门用来管理数据的框架,其在性能与书写方便上都有很大的优势,在数据库管理方面,apple强烈推荐开发者使用CoreData框架,在apple的官方文档中称,使用CoreData框架可以减少开发者50%--70%的代码量,这虽然有些夸张,但由此可见,CoreData的确十分强大. 二.设计数据模型 在iOS开发中,时常使用SQL数据库对大量的表结构数据进行处理,但是SQL有一个十分明显的缺陷,对于常规数据模型的表,其处理起来是没问题的,例如一个班级表
-
iOS App开发中扩展RCLabel组件进行基于HTML的文本布局
iOS系统是一个十分注重用户体验的系统,在iOS系统中,用户交互的方案也十分多,然而要在label中的某部分字体中添加交互行为确实不容易的,如果使用其他类似Button的控件来模拟,文字的排版又将是一个解决十分困难的问题.这个问题的由来是项目中的一个界面中有一些广告位标签,而这些广告位的标签却是嵌在文本中的,当用户点击文字标签的位置时,会跳转到响应的广告页. CoreText框架和一些第三方库可以解决这个问题,但直接使用CoreText十分复杂,第三方库多注重于富文本的排版,对类似文字超链接的支
-
iOS应用开发中使UITextField实现placeholder属性的方法
我们都知道iOS开发中的UITextField有个placeholder属性,placeholder可以很方便引导用户输入.但是UITextView却没有placeholder属性. 一.猥琐的方法 如何让UITextView也有placeholder功能呢?今天给各位分享一个比较猥琐的做法.思路大概是这样的: 把UITextView的text当placeholder使用. 在开始编辑的代理方法里清除placeholder. 在结束编辑的代理方法里在设置placeholder. 实现方法: 1.
-
iOS App开发中UIViewController类的使用教程
一.引言 作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上.iOS中的UIViewController是UIKit框架中最基本的一个类.从第一个UI视图到复杂完整项目,都离不开UIViewController作为基础.基于UIViewController的封装和扩展,也能够出色的完成各种复杂界面逻辑.这里旨在讨论UIViewController的生命周期和属性方法,在最基础的东西上,往往会
-
iOS应用开发中使用Auto Layout来适配不同屏幕尺寸
简介 Auto Layout 是苹果在 Xcode 5 (iOS 6) 中新引入的布局方式,旨在解决 3.5 寸和 4 寸屏幕的适配问题.屏幕适配工作在 iPhone 6 及 plus 发布以后变得更加重要,而且以往的"笨办法"的工作量大幅增加,所以很多人开始学习使用 Auto Layout 技术. 初体验 0. 开发环境 本系列文章的开发环境为: OS X 10.10.3 Xcode Version 6.3.1 (6D1002) 1. 新建应用 新建一个 Single View Ap
-
iOS应用开发中视图控件UIWindow的基本使用教程
一.简单介绍 iPhone应用程序通常只有一个窗口,表示为一个UIWindow类的实例.应用程序在启动时(或者从nib文件进行装载)创建这个窗口,并往窗口中加入一或多个视图并显示出来.之后我们很少需要再次引用它.UIWindow对象是所有UIView的根,管理和协调的应用程序的显示.一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件. 在IOS中,UIWindow对象并没有像windows应用程序中常见的关闭框或标题栏这样
-
iOS App开发中使cell高度自适应的黑魔法详解
在使用 table view 的时侯经常会遇到这样的需求:table view 的 cell 中的内容是动态的,导致在开发的时候不知道一个 cell 的高度具体是多少,所以需要提供一个计算 cell 高度的算法,在每次加载到这个 cell 的时候计算出 cell 真正的高度. 在 iOS 8 之前 没有使用 Autolayout 的情况下,需要实现 table view delegate 的 tableView(tableView: UITableView, heightForRowAtInde
随机推荐
- php批量添加数据与批量更新数据的实现方法
- Vue.js一个文件对应一个组件实践
- JAVA实现简单系统登陆注册模块
- js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
- 冒泡排序算法原理及JAVA实现代码
- 基于JS实现的倒计时程序实例
- 基于WebUploader的文件上传js插件
- JS动态添加的div点击跳转到另一页面实现代码
- 教你如何使用VS远程调试
- PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
- php插入含有特殊符号数据的处理方法
- ajax添加数据后如何在网页显示
- Java读写Excel实例分享
- Android自带emoji表情的使用方法详解
- SWFObject 2.1以上版本语法介绍
- 菜鸟必备:网络摄像头大揭露
- Android 正则表达式验证手机号、姓名(包含少数民族)、身份证号
- Android开发之资源目录assets与res/raw的区别分析
- Java背包问题求解实例代码
- 解析JAVA深度克隆与浅度克隆的区别详解