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
主站蜘蛛池模板: 亚洲人成日本在线观看| 一级毛片免费高清视频| 九九热在线视频| 亚洲精品va| 在线观看av永久| 狠狠做深爱婷婷久久一区| 国产网站一区二区三区| 波多野结衣在线se| a级毛片免费在线观看| 亚洲国产一区在线观看| 国产粉嫩粉嫩的18在线播放91 | 欧美乱妇高清无乱码免费| 久久香蕉国产线看观看式| 亚瑟天堂久久一区二区影院| 亚洲人成影视在线观看| 国产簧片免费在线播放| jijzzizz老师出水喷水喷出| 91九色最新地址| 亚洲福利网址| 亚洲另类国产欧美一区二区| 激情无码字幕综合| 色婷婷在线影院| 精品视频一区二区三区在线播| 亚洲最新地址| 在线国产毛片手机小视频| 日韩精品成人在线| 亚洲一区免费看| 久久久久久久蜜桃| 尤物精品视频一区二区三区| 欧美精品伊人久久| 国产高清精品在线91| 国产 日韩 欧美 第二页| 国产喷水视频| 伊大人香蕉久久网欧美| 18禁黄无遮挡网站| 亚洲成aⅴ人在线观看| 久久精品国产91久久综合麻豆自制 | 免费人成网站在线观看欧美| 九九久久99精品| 无码日韩人妻精品久久蜜桃| 精品一区二区三区水蜜桃| 国产精品99久久久久久董美香| 久久亚洲国产视频| 精品福利国产| 99热精品久久| jijzzizz老师出水喷水喷出| 国产视频a| 怡红院美国分院一区二区| 欧美性久久久久| 色综合成人| 国产主播一区二区三区| 国产又色又爽又黄| 国产成a人片在线播放| 亚洲高清在线播放| 国产在线拍偷自揄拍精品| 精品视频在线一区| 日a本亚洲中文在线观看| 自拍偷拍欧美| 高清无码一本到东京热| 妇女自拍偷自拍亚洲精品| 91精品啪在线观看国产60岁| 男人天堂伊人网| 欧美日韩中文字幕在线| 色综合手机在线| 国产色婷婷视频在线观看| 美女无遮挡拍拍拍免费视频| 国产亚洲现在一区二区中文| 伊人久久大香线蕉成人综合网| 一本大道无码高清| 操国产美女| 亚洲码一区二区三区| 不卡无码网| 又爽又黄又无遮挡网站| 人与鲁专区| 亚洲αv毛片| 99久久免费精品特色大片| 国产福利小视频在线播放观看| 亚洲综合国产一区二区三区| 亚洲中文无码h在线观看| 一级毛片免费高清视频| 午夜限制老子影院888| 99精品国产自在现线观看|