999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于iOS 的JSON 在線編輯工具的設計與實現

2020-11-05 09:52:10申凡
科學技術創新 2020年32期
關鍵詞:數據庫用戶

申凡

(天津科技大學 人工智能學院,天津300450)

1 概述

Firebase 實時數據庫是基于云存儲的數據庫。數據的存儲格式是JSON 文件。在實際的開發中,負責數據信息順序、屬性的操作通常更適用于運營團隊,他們的任務是在開發者完成之后進行數據的增刪改。本系統面向運營部門開發,開發語言是Objective-C,開發平臺為Xcode,采用的結構是典型的MVC(Model-View-Controller)設計者模式,布局方式有xib 布局和純代碼布局。使用Firebase 實時獲取數據,在APP 中實現多個代理和函數回調。對JSON 文件進行編輯,編輯結束后可以使用文件協調工具來得到新的文件地址,從而實現文件的保護和上傳功能。

2 相關技術

Firebase:本項目的數據庫放置在Firebase Realtime Database 中,不需要實時鏈接數據庫,只需要將JSON 文件導出,導出之后在本地進行操作,不用一直處于vpn 打開的狀態。

第三方庫管理工具:為了更好的管理第三方依賴庫,使用CocoPods 管理工具集中管理第三方庫。在更新gem 的時候,切換Ruby 源來安裝。首先需要移除國外的源再添加國內的源。替換成功則可以安裝CocoaPods。在安裝之后可以更新索引倉庫。如本系統使用該App 進行字典和模型之間的互相轉換。如表1所示。

表1 MHExtension 框架轉換表

3 系統設計

本系統開發和測試過程如下,首先需要將數據上傳至服務器,接著導入到開發工具端即可實現對JSON 文件數據源的操作,如搜索欲修改品名,可視化設置其屬性;根據url 鏈接直接添加新的json 文件;對數據進行刪除;修改當前字體或者表情包的屬性。將數據保存之后上傳到Firebase,可以在Firebase 上查看新的JSON 數據源,由于Firebase 是實時數據庫,因此可以在測試平臺直接顯示和使用字體或者表情包。

3.1 工具端設計

首先需要在Firebase 上導出JSON 文件,把該文件導入到iPhone。其次導入成功后,可以對當前JSON 文件添加新的表情或者字體,對其執行修改屬性,刪除,移動,保存等操作。服務器端存儲數據,涉及到的操作是導入/導出JSON 文件。工具端主要完成的工作是:導入JSON 文件、添加cell、修改屬性、控制vip權限、刪除表情包/字體、模糊搜索、移動表情包/字體、顯示輪播圖、保存文件。

3.2 Firebase 服務器設計

在Firebase 上主要分為兩個部分,font 和stickersfont 包含的屬性有installisNEw、lowercase、name、uppercase、vip 等。在sticker中主要包含contents_json_url,另外包含key 和value 值。

3.3 測試端模塊設計

需要一個成熟的測試端,如鍵盤輸入法平臺,包含多款皮膚、字體等。在此平臺上,開發一款基于該平臺的一個JSON 工具。JSON 工具可以對平臺數據進行操控,同時使用Firebase 進行數據存儲。多個界面和功能來進行JSON 編輯工具的測試和核準操作,并且經過工具測試之后可以直接使用于手機所有APP 的輸入操作。

4 系統實現

4.1 工具端實現

(1)獲取json 文件:創建實時數據庫,在開發者選項中,選擇數據庫輸入相應的字段信息,使用export 功能導出JSON 文件,此時無法在Firebase 上直接對其進行編輯,僅在本地進行操作。

(2)導入json 文件:懶加載數據“獲取模型數據,如果當前的數據不為空,則返回該數據源,如果為空,則初始化一個數據對象”,遍歷其中所有的數據,將其添加到Model 模型中。創建單元格,給當前的單元格設置一個ID,布局并賦值后返回單元格,最后將控制流程返回給UI 框架去進行處理。

(3)添加sticker/Foot:獲取添加表情包或者字體的文件鏈接。一個表情包涉及到很多表情,每個表情對應著一個鏈接,需要把該JSON 文件的內容解析,添加主要的字段到表情包的JSON 文件。為了方便用戶的對新添加的元素進行管理,在用戶添加的時候,可以對主要的兩個屬性更改Boolean 值,這個Boolean 值設置為可變數組,以TableView的形式展示。

(4)修改屬性:當所有的字體都加入到當前的TableView 之后,每個單元格均顯示出序號、名字和兩個可以更改的屬性值("isNew" : true 和"lock_type" : true), 在每一行的上面有兩個UIswtich 可以改這兩個值。這兩個值修改之后上傳服務器。當用戶更新APP 再次進行下載的時候,就可以被相應的屬性控制下載的權限,如圖1 所示。

圖1 可視化修改Font 屬性

(5)刪除:在tableview 上實現刪除操作,需要啟動表格的編輯模式。

a.視圖:View 打開ViewController.xib,打開ViewController.m,在viewDidLoad 方法添加布局代碼。在刪除操作中,首先需要啟動的是表格的編輯模式,在編輯模式打開之后,每行的左邊會默認出現紅色的刪除按鈕。

操作的值主要是,將editingStyleForRowAtIndexPath 方法中的UITableViewCellEditingStyleNone 進行編輯,即可完成操作。

b.控制器Controller:刪除操作實現:將方法加入之后,APP無法對每行進行標記,即不會執行didSelectRowAtIndexPath 這個方法。刪除的具體操作是執行editingStyleForRowAtIndexPath方法。

(6)搜索:在ViewController 中創建一個搜索函數,在函數中,首先需要創建一個UISearchController 控制器,在self 的基礎上初始化一個搜索對象,這個searchController 主要是聲明為UISearchController 類型,可以直接使用UISearchController 的委托方法。

(7)移動:移動數據可以直接拖動每行的移動按鈕,拖拽實現移動效果。實現的邏輯為當用戶拖拽x 行至y 行,則需要先移除x 行,再將數據插入到y 行,這樣就能實現了移動操作。移動數據主要使用的方式是當用戶點擊移動按鈕即可以觸發LXAlertView 調用它的代理方法,代理方法中包含@property(nonatomic, copy) void (^changeBlock) (NSString * oldNumber,NSString * changeNumber);方法。可以直接輸入兩個行號進行移動。移動結束之后,可以直接進行保存。

(8)保存:當用戶對該JSON 文件操作結束之后,就可以進行保存操作,可以選擇保存至iCloud Drive 或者是保存到iphone本地。登入Firebase 服務器,打開Database 導入JSON 文件。

4.2 服務器端實現

第一步是配置服務器端bundle ID,在Xcode 上創建項目之后,需要查看生成的ID,將其配置到服務器Firebase 上,其中包含Project name,Project ID,Web API Key。

第二步是下載plist 文件,將其導入到項目之中,導入FirebaseSDK。

4.3 測試端實現

(1)Emoji Keyboard

獲取數據:在該頁面,在當前的TableView 中首先需要獲取到Firebase 實時數據庫中的數據,將其添加到本地數據源中,請求實時數據庫使用的是回調函數。

使用url 鏈接下載回調,由于JSON 文件仍然會存一個表情包的icon,需要設置URL 鏈接來下載圖片的回調;id 下載回調,使用id 來下載表情包;返回添加反饋值:若添加成功,addendLocalResourceSticker:(NSDictionary *)model 函數將返回一個Boolean 值。

在下載過程中,在控制器中使用UITableView 來獲取數據源顯示信息。其中包含購買vip 按鈕,積分按鈕,TableDataSource數據源,積分模型、輪播圖的view等。

(2)判斷是否為vip

在用戶下載的時候,有一個重要的屬性是判斷當(轉下頁)前用戶是否處于VIP 狀態,涉及到一個權限問題。具體需要判斷是否處于VIP 的邏輯。

首先需要在Analysis 里面新建一個User Explorer 類型的表格,在filter 里將revenue >0 的用戶篩選出來。點擊任意一個用戶,會新建一個Tab,包括了該用戶全生命周期的詳細操作;同樣在左側有篩選,可以過濾埋點;也可以點擊埋點,查看這個埋點的詳細信息。

以應用的埋點,創建一個購買用戶的Segment,應用到表格上;可以按照需求篩選任意類型的用戶;篩選payment_finish 埋點title 為Cool Font 的用戶,只需要點擊+號創建一個Segment然后選擇相應的埋點與參數;右側會有人數與會話預估;應用Segment 后會將對應的用戶篩選出來。

5 系統總結

工作成果是設計并實現了一個基于iOS 和Firebase 開發的JSON 在線編輯工具。

該APP 具備良好的前景,作為json 文件的操作工具所服務的便是用戶的邊界操作體驗,無論是選擇品牌管理、商品管理、營銷、還是資源列表等服務,對JSON 文件的等操作體驗直接決定了用戶的工作效率。用戶可以根據市場的下載量等信息,對產品的價格、類別進行多次更改,不借助于程序員完成日常的更新需求。

測試端和工具端得到了完美的契合,互相配合完日常的工作。

猜你喜歡
數據庫用戶
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产精品中文免费福利| 国产精品露脸视频| 国产成人盗摄精品| 亚洲首页在线观看| 亚洲综合精品第一页| 国产精品亚洲天堂| 黑色丝袜高跟国产在线91| 欧美丝袜高跟鞋一区二区| 久草视频中文| AV网站中文| a欧美在线| 亚洲成人网在线观看| 久久精品中文无码资源站| 久久中文字幕2021精品| 国产精品污视频| 国产亚洲精久久久久久无码AV| 亚洲色图在线观看| 国产手机在线小视频免费观看 | 伊人激情综合网| 亚洲第一香蕉视频| 国产亚洲视频中文字幕视频| 在线日韩一区二区| 在线国产三级| 亚洲色图欧美视频| 国产杨幂丝袜av在线播放| 国产美女丝袜高潮| 精品少妇人妻av无码久久| 香蕉国产精品视频| 在线免费观看a视频| 亚洲九九视频| 国产精品香蕉在线| 欧美日韩一区二区在线免费观看| 成人av手机在线观看| 久久国产精品无码hdav| 日韩无码黄色| 香蕉久久国产精品免| 幺女国产一级毛片| 999国内精品久久免费视频| 亚洲视频无码| 国产成人高清在线精品| 在线免费不卡视频| 露脸国产精品自产在线播| 日本一区二区三区精品国产| 九色免费视频| 国产网站一区二区三区| 伊人五月丁香综合AⅤ| 欧美在线天堂| 亚洲综合第一页| 亚洲精品图区| 98超碰在线观看| 国禁国产you女视频网站| 91久久偷偷做嫩草影院免费看| 狼友av永久网站免费观看| 无码一区18禁| 老司国产精品视频91| 朝桐光一区二区| 无码高潮喷水专区久久| 久草中文网| 亚洲不卡av中文在线| 国产99久久亚洲综合精品西瓜tv| 午夜日b视频| 亚洲av无码成人专区| 国产91全国探花系列在线播放| 国产视频大全| 国产SUV精品一区二区6| 久久精品国产999大香线焦| 综合五月天网| 无码福利日韩神码福利片| 亚洲成肉网| 99伊人精品| 在线看免费无码av天堂的| 国产精品视频第一专区| 亚洲天堂在线免费| 久久精品66| 最新加勒比隔壁人妻| 国产欧美日韩专区发布| 五月综合色婷婷| 午夜少妇精品视频小电影| 国产欧美日韩专区发布| 91福利片| 午夜国产精品视频| 激情综合五月网|