符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
1. OrmLite
创新互联-专业网站定制、快速模板网站建设、高性价比湘乡网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式湘乡网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖湘乡地区。费用合理售后完善,十载实体公司更值得信赖。
OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM。支持JDBC连接,Spring以及Android平台。语法中广泛使用了注解(Annotation)。
2. SugarORM
SugarORM 是 Android 平台专用ORM。提供简单易学的APIs。可以很容易的处理1对1和1对多的关系型数据,并通过3个函数save(), delete() 和 find() (或者 findById()) 来简化CRUD基本操作。
要启用SugarORM,需要在你的应用程序 AndroidManifest.xml 配置中添加如下meta-data标签:
meta-data android:name="DATABASE" android:value="my_database.db" /
meta-data android:name="VERSION" android:value="1" /
meta-data android:name="QUERY_LOG" android:value="true" /
meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.my-domain" /
然后就可以从SugarORM扩展需要保存的数据类:
public class User extends SugarRecordUser {
String username;
String password;
int age;
@Ignore
String bio; //this will be ignored by SugarORM
public User() { }
public User(String username, String password,int age){
this.username = username;
this.password = password;
this.age = age;
}
}
要添加一个User,代码如下:
User johndoe = new User(getContext(),"john.doe","secret",19);
johndoe.save(); //stores the new user into the database
3. GreenDAO
当性能很重要时(数据访问频繁),GreenDao是一个很快的解决方案,它能够支持数千条记录的CRUD每秒,和OrmLite相比,GreenDAO要快几乎4.5倍。(准确数据请自行benchmark)。
GreenDAO小于100KB,所以对于应用程序APK的大小影响很小。
这里有一个教程,演示如何使用Android Studio,在Android应用程序中使用GreenDAO框架。
4. Active Android
Active Record(活动目录)是Yii、Rails等框架中对ORM实现的典型命名方式。Active Android 帮助你以面向对象的方式来操作SQLite。
5. Realm
Realm 是一个将可以使用的Android ORM,基于C++编写,直接运行在你的设备硬件上(不需要被解释),因此运行很快。它同时是开源跨平台的,iOS的代码可以在GitHub找到,你还可以找到Objective C以及Swift编写的Realm使用实例。
公司开发的SDK,是集成了各个平台的商品,包括购买、分享、提现等功能,为了加快进度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者还有,必须用到微信的SDK。考虑到后期的维护成本和集成,笔者采用了cocoapods管理第三方库。
笔者有片文章专门介绍SDK的开发步骤的,大家可以参考,我这里就直接进入主题了。
首先,你创建一个静态的framework工程MyTestSDK,把这个工程集成cocpapods,至于如何集成cocpapods,网上有教程,自己搜索。这个时候把你项目中所用的第三方库添加到Podfile文件中,然后 pod install。这个时候你command + B 编译运行,如果你的第三方库中还有Bundle资源,那么编译后,第三方库的bundle资源会被编译,一起放到Products文件下的framework文件中,右键Show in Finder就会看到。如下图所示的MBProgressHUD文件夹,里面都是MBProgressHUD第三方的资源文件。
然后把你的项目放入SDK工程中,编译运行一下,看看有没有错误。之所以先把SDK工程选用cocoapods管理,就是怕你的项目放入SDK中运行报错。没有任何问题,直接编译即可。
由于SDK中的第三方是通过cocoapods管理的,所以接入者的项目也要用cocoapods管理。
1:把SDK工程中,Products文件夹下的framework文件copy到项目中,最好项目中建立一个文件夹,专门放SDK和bundle。我是放到了一个文件夹中,方便分类寻找。如下图所示:
2:打开终端,cd到SDK所在的文件夹下,执行如下命令,回车,创建spec文件。
其中,MyTestSDK是你的SDK名称。
创建出来的spec文件,是个很长的文件,但是大部分都是注释的,我这里只提取了有用的信息展示出来:
然后把spec中依赖的第三方库,逐个加入到项目中的Podfie文件中。然后 终端打开,cd到自己的项目中,pod install即可。
本人亲自测试过的,No Problem。当初感觉SDK如果依赖了第三方库,接入的项目中也有同样的第三方库,会不会冲突啊,感觉好难搞啊。事实证明,通过spec进行依赖,可以很好的解决这个问题,也就没有那么麻烦了。
首次开发SDK还是遇到了很多问题,运行出现很多bug,但是最后还是一一解决了,就是没有记录下bug和解决发的方法。
1;path路径不对,就会报错 ,如下
是因为我把路径写成了:
其实正确的写法是:把“/”放在前面
2:SDK中有第三方,但是项目中的Podfile里面没有这个第三方,报错如下所示:
解决办法是就是在项目中的 Podfile里面加入缺失的第三方库,重新 pod install。
一般的数据量很小的项目,没必要使用数据库,如果只是保存写用户信息,大可以用其他的方法,用keychain或者nsuserdefault或者其他的都可以。任何一个项目都需要保存一个使用状态,不能每次打开项目的时候都和第一次运行一样,完全新,要给人以使用过的感觉就要存储一些历史数据。如果怕影响用户体验的话,可以多开线程在后台去对数据操作(数据量大的情况下),记得对线程要回收。如果你对保存数据比较迷茫的话,你可以google一下ios的四种数据持久化,对于sqlite和coredata,我个人认为只是两种不同的存储方法,一种是小型轻量级sqlite数据库,所有移动设备经常用到的,还有一种是苹果针对ios操作系统开发的coredata数据存储,具体孰胜孰略还有待你自己去了解,一般如果我的数据库要非常多的表格互相关联最后查询一条结果那么我会采用sqlite,如果存储一些有规律的数据那么我会采用coredata,没有哪个更好的说法,只能说这两种都各有千秋,而我听前辈们说,coredata只是苹果对sqlite的又一次封装而已,方便操作但也局限操作
1.goole开源
2.iOS基础知识
;page=1
3.OC的缺陷和陷阱
4.文顶顶博客园
5.FaceBook
6.objc中国
7.唐巧的技术博客
8.念茜的博客
9.code4app
10.cocoaChina
11.IT 社区
12.C博客
13.CocoaPods的安装及使用
14.标准时间与时间戳相互转化
15.博客 loadView、viewDidLoad及viewDidUnload的关系
16.iOS即时通讯语音聊天本地音频处理
17.承影博客
18.常用加密
19.正则表达式
20.iphone开发过程中调试多次release问题
21.使用 Xcode 和 Instruments 调试解决 iOS 内存泄露
22.iOS开发中常见的一些bug
23.玩转swift
24.友盟分享
25.objc中国
26.ViewController的切换
27.iOS 平台 Cocos2d-x 项目接入新浪微博 SDK 的坑
28.joosonmao的专栏(里面的文章都很棒)
29.移动IM(环信)
环信XMPP:
30.各种错误汇总博客园
31.菜鸟笔记
;page=1
32.开发者账号注册和支付
33.在Xcode中使用Git进行源码版本控制
34.PNChart(图像绘画)
35.微信公众平台
36.常用加密
37.cocoaPod相关网址:
38.2014年整理的IOS开发常用库
39.挺好的一个网站
40、响应者链
41、改变UITabBar的背景色
;utm_medium=referral
42、 IOS 集成到支付宝的步骤及问题
43、 XMPP 协议实现原理介绍
44、 iOS开发多线程篇—多线程简单介绍
45、KVC 与 KVO理解
46、 iOS 设计模式之单例模式
47. 一些第三方库的了解
动态链接库是以 .dylib 和 .framework 为结构的文件。
1.把framework封装进另一个framework中?
首先,苹果大方的告诉我们他们是不允许这样做的。。。
其次,实际上把静态库封进另一个静态库确实是行不通的;
然而,把动态库封进静态库是可行的:
使用方式:
场景2:
当你在静态库中使用了动态库的方法,当你使用此静态库时也要在project中引入动态库并且做如下图操作:
否则,会报错,错误如下:
dyld: Library not loaded: @rpath/ZegoAVKit2.framework/ZegoAVKit2
Referenced from: /var/containers/Bundle/Application/0A23D0E0-EE5E-4E18-8020-D9F7D2F3B5CD/ahwx.app/ahwx
Reason: image not found
1.证书引起的错误
控制台错误截图
在动态库内容没有问题的情况下,大多是由于没有对动态库签名导致的。iOS 8以后,苹果支持使用自定义的动态库,但不能上架到AppStore。我们的是企业级项目,不上架没关系。
先查看一下你的动态库内容
解决办法:在生成动态库时选择一个Team进行签名即可。
2.Swift版本引起的错误(注意:下图问题不一定是由于swift版本引起的,我遇到的问题就是swift版本引起了下面的问题)
解决方法:把下面的设置为YES
详细说明我的问题:在之前,也就是Xcode7.3,动态库是swift2.3写的。通过loadAndReturnError加载是没有问题的,因为Xcode7.3对应的就是swift2.3。swift3.0是Xcode8才推出来的,所以就没问题。而现在,Xcode升级到的8.2,而swift也升到了3.0;但是,这个动态库还是swift2.3,同时:工程设置里使用的是最新的swift版本,所以就会出现这个问题。