iOS/Android/Win,APP交互設(shè)計(jì)、視覺(jué)設(shè)計(jì)、HTML5開(kāi)發(fā)、功能定制開(kāi)發(fā)。獨(dú)特的開(kāi)發(fā)流程使用戶(hù)在移動(dòng)應(yīng)用體驗(yàn)度、開(kāi)發(fā)周期、開(kāi)發(fā)經(jīng)費(fèi)上都得到收益,公司陸續(xù)推出的電子商務(wù)、智慧旅游、移動(dòng)酒店等移動(dòng)解決方案。
ios開(kāi)發(fā)使用了iphone自己研發(fā)的開(kāi)發(fā)軟件xcode8.0,主要有UIkit框架和Foundation框架組成。IOS的項(xiàng)目開(kāi)發(fā),對(duì)數(shù)據(jù)進(jìn)行展示主要應(yīng)用列表控制器UItableview,在使用UItableview是對(duì)cell的復(fù)用是此技術(shù)的難點(diǎn),主要避免在cell復(fù)用是出現(xiàn)內(nèi)存泄露狀況而導(dǎo)致的程序崩潰,數(shù)據(jù)的獲取應(yīng)用了AFHttpNetWork第三方庫(kù),對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行g(shù)et和post獲取,把獲取的數(shù)據(jù)用數(shù)據(jù)模型接收,這樣有利于降低耦合性,是程序更順暢。在對(duì)數(shù)據(jù)保存時(shí)用到了FMDB第三方數(shù)據(jù)庫(kù),此數(shù)據(jù)庫(kù)的底層也是對(duì)squlite的封裝,應(yīng)用起來(lái)更順手簡(jiǎn)介,提高效率,界面之間的數(shù)據(jù)傳輸難點(diǎn)blcok的應(yīng)用。
應(yīng)用程序框架:編寫(xiě)應(yīng)用程序項(xiàng)目,都是從CocoaTouch層開(kāi)始的,具體來(lái)說(shuō)是從UIKit Framework開(kāi)始的。iOS常用的SDK框架如下:
AddressBook.framework 提供訪問(wèn)存儲(chǔ)核心數(shù)據(jù)庫(kù)中用戶(hù)聯(lián)系人信息的功能。
AddressBook.framework提供一個(gè)用戶(hù)界面,用于顯示存儲(chǔ)在地址薄中的聯(lián)系人詳情。 AudioUnit.framework提供一個(gè)接口,讓我們的應(yīng)用程序可以對(duì)音頻進(jìn)行處理。 AudioToolbox.framework和AVFoundation.framework提供音頻錄制和回放的底層API,同時(shí)也負(fù)責(zé)管理音頻硬件。
CFNetwork.framework訪問(wèn)和配置網(wǎng)絡(luò),像HTTP,F(xiàn)TP和Bonjour Services等。 CoreFoundation.framework提供抽象的常用數(shù)據(jù)類(lèi)型,如Unicode、strings、XML、URL等。
CoreGraphics.framework提供2D繪制的基于C的API。
Foundation.framework提供Object-C的基礎(chǔ)類(lèi)(像NSObject)、基本數(shù)據(jù)類(lèi)型和操作系統(tǒng)服務(wù)等。
GameKit.framework為游戲提供網(wǎng)絡(luò)功能,點(diǎn)對(duì)點(diǎn)互聯(lián)和游戲中的語(yǔ)音交流。 MapKit.framework為應(yīng)用程序提供內(nèi)嵌地圖的接口。
MediaPlayer.framework提供視頻播放和音頻的功能。
MessageUI.framework提供視圖控制接口用以處理E-mail和短信。
OpenGLES.framework提供簡(jiǎn)潔而高效的繪制2D和3D圖形的OpenGL API。 QuartzCore.framework提供動(dòng)畫(huà)特效以及通過(guò)硬件進(jìn)行渲染的能力。
StoreKit.framework為應(yīng)用程序提供在程序運(yùn)行中消費(fèi)的支持。 SystemConfiguration.framework檢測(cè)當(dāng)前網(wǎng)絡(luò)是否可用和硬件設(shè)備狀態(tài)的能力。
android開(kāi)發(fā)使用xUtils 框架,xUtils 最初源于Afinal框架,進(jìn)行了大量重構(gòu),使得xUtils支持大文件上傳,更全面的http請(qǐng)求協(xié)議支持(10種謂詞),擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響,xUitls最低兼容android 2.2 (api level 8), xUtils-2.6.14.jar 。
目前xUtils主要有四大模塊:DbUtils模塊、ViewUtils模塊、HttpUtils模塊和BitmapUtils模塊
DbUtils模塊:
android中的orm框架,一行代碼就可以進(jìn)行增刪改查;
支持事務(wù),默認(rèn)關(guān)閉;
可通過(guò)注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時(shí)候請(qǐng)注解表名和列名);
支持綁定外鍵,保存實(shí)體時(shí)外鍵關(guān)聯(lián)實(shí)體自動(dòng)保存或更新;
自動(dòng)加載外鍵關(guān)聯(lián)實(shí)體,支持延時(shí)加載;
支持鏈?zhǔn)奖磉_(dá)查詢(xún),更直觀的查詢(xún)語(yǔ)義,參考下面的介紹或sample中的例子。
ViewUtils模塊:
android中的ioc框架,完全注解方式就可以進(jìn)行UI綁定和事件綁定;
新的事件綁定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20種事件綁定,參見(jiàn)ViewCommonEventListener類(lèi)和包c(diǎn)om.lidroid.xutils.view.annotation.event。
HttpUtils模塊:
支持同步,異步方式的請(qǐng)求;
支持大文件上傳,上傳大文件不會(huì)oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT 請(qǐng)求;
下載支持301/302重定向,支持設(shè)置是否根據(jù)Content-Disposition重命名下載的文件;
返回文本內(nèi)容的請(qǐng)求(默認(rèn)只啟用了GET請(qǐng)求)支持緩存,可設(shè)置默認(rèn)過(guò)期時(shí)間和針對(duì)當(dāng)前請(qǐng)求的過(guò)期時(shí)間。
BitmapUtils模塊:
加載bitmap的時(shí)候無(wú)需考慮bitmap加載過(guò)程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象;
支持加載網(wǎng)絡(luò)圖片和本地圖片;
內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;
可配置線(xiàn)程加載線(xiàn)程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫(huà)等。