国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的藝術社區(qū)類APP設計

2017-03-24 11:53喬志剛楊晨光
電腦知識與技術 2017年1期
關鍵詞:沙盒手機app

喬志剛+楊晨光

摘要:隨著Android手機端應用軟件產(chǎn)業(yè)的迅速發(fā)展,各式各樣的APP也隨之出現(xiàn),大部分都是與我們平時的物質(zhì)生活息息相關的。在如今這樣一個日漸富足的社會狀態(tài)下,藝術的氛圍也日益濃重,人們樂于去欣賞藝術作品,但是在應用市場上極少有藝術社區(qū)類的APP平臺供人們選擇。因此,此類的APP是具有很大市場的。 本設計是基于Android系統(tǒng)開發(fā)的藝術社區(qū)類手機移動端APP,本系統(tǒng)主要采用了黑白作為主色調(diào),極簡風來作為主風格。后臺數(shù)據(jù)通過網(wǎng)絡get/post方法從服務器端獲取數(shù)據(jù)并解析,存放到本地數(shù)據(jù)庫。將用戶信息,收藏,評論數(shù)據(jù)放到手機端后臺,建立沙盒文件并存儲到沙盒。另添加地圖定位,導航,搜索,第三方分享等功能,并增加許多提高用戶體驗性的小功能,如動畫效果,推薦等。該系統(tǒng)面向所有的Android手機用戶,打造一款可以讓用戶足不出戶便可以看遍展覽,將線下作品如數(shù)呈現(xiàn)在手機端,可進行評論收藏或分享,隨時查找藝術機構地址,也會有達人幫你解讀藝術難題,幫你看懂藝術。

關鍵詞:手機App;藝術社區(qū);數(shù)據(jù)解析;沙盒;Android

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)01-0037-03

古往今來,藝術一直是對于人們生活文化的一個具體體現(xiàn),很多人一生都致力于藝術研究或藝術創(chuàng)造,而這樣的藝術家也常為人們所懷念。而隨著人們生活水平的提升,越來越多的人追求精神享受,享受藝術,因此,藝術的傳播途徑和接收途徑成為一個關鍵。藝術家們需要一個平臺去展示自己的作品,機構需要一個平臺去吸引更多的群眾,而人們也需要一個平臺去接觸各種藝術作品,因此藝術社區(qū)類的APP的出現(xiàn)是市場發(fā)展的必然。

藝術社區(qū)類APP的出現(xiàn)提供了一個線上平臺,不僅使這些藝術家們可以有一個可以展示自己作品的平臺,也使廣大的藝術喜愛者有一個交流平臺,欣賞平臺,去了解國內(nèi)外的藝術作品與機構,并能參與其中,為藝術的發(fā)展貢獻自己的一份力量。

目前國內(nèi)藝術發(fā)展的大環(huán)境對于藝術家來說,除了資金的支持外,藝術家們急切期盼有一個真正符合藝術市場規(guī)律同時也符合藝術投資人要求的藝術交流平臺。對于目前國內(nèi)的藝術資源發(fā)展的程度如何,到現(xiàn)在為止,沒任何一家權威機構能夠給出確切的結論。

目前在國內(nèi)文化繁榮和經(jīng)濟發(fā)展的大背景下,發(fā)達城市和不發(fā)達城市,國家資本、民間資本、企業(yè)資本和社會資源都在進入文化藝術領域。文化場館、藝術區(qū)、美術館、畫廊在某一些發(fā)達城市,文化設施的投入力度和密度已經(jīng)超過其實際的公共需求,部分場館甚至出現(xiàn)閑置狀態(tài)。但與藝術類場館的大力建設相比,作為文化主體,真正創(chuàng)造藝術的藝術家卻得不到社會資本的重視,只有某一些幸運的藝術家得到藏家和市場的青睞,但畢竟這類藝術家所占比例還是較少[1]。

而對于廣大的人民群眾來說,獲取藝術信息的渠道也少之又少,缺少一個專門的平臺提供藝術創(chuàng)作給人們欣賞,人們想要欣賞創(chuàng)作,需要去專門的藝術機構,這對于大部分忙碌與生活的人們來說,并不現(xiàn)實,因此打消了很大一部分人接觸欣賞藝術的念頭。

現(xiàn)在人們對于吃穿住行的物質(zhì)生活方面的APP的需求很大,因為隨時隨地都可能會用到,但是對于精神生活方面的APP,如藝術社區(qū)欣賞類并沒有很大的需求量,但是國內(nèi)外還是有很大一部分藝術喜愛者和藝術從事者關注這一方面,卻苦于找不到一款好的平臺,來展示自己的作品,或接觸藝術作品,在這個行業(yè)當中,中青年藝術家的發(fā)展,是目前在藝術上可以與那些大家作品進行比較,這些藝術家遍布各行各業(yè),有的是大學教授,有的是自由藝術家,有的是大學畢業(yè)生和研究生,也有畫院的職業(yè)畫家。這個群體中的藝術家的作品,近幾年上升勢頭很好,但是,這些藝術家卻沒有受到市場足夠的關注,還未得到大家的普遍認可。

系統(tǒng)總體四層架構

本系統(tǒng)的總體架構分為四層:表現(xiàn)層,服務層,數(shù)據(jù)訪問層和業(yè)務邏輯層,如圖1所示。

1)表現(xiàn)層:現(xiàn)實與用戶的交互,呈現(xiàn)給用戶的界面。

2)服務層:提供給表現(xiàn)層的業(yè)務邏輯入口,通過定義接口服務的方式,調(diào)用接口來實現(xiàn)數(shù)據(jù)的訪問。

3)數(shù)據(jù)訪問層:本地數(shù)據(jù)遠程數(shù)據(jù)的訪問接口。

4)業(yè)務邏輯層:① 接收服務層傳來的DTO, 然后根據(jù)業(yè)務規(guī)則, 對傳入的DTO進行加工, 返回加工后的信息。② 需要為每個對象提供業(yè)務行為, 并且這些對象之間是獨立的[2]。③ 業(yè)務對象之間的交互流程通過服務層來組織。

表現(xiàn)層基本框架

表現(xiàn)層的基本框架主要分為三部分:模型層(model),視圖層(view),控制層(controller),詳細作用與設計原則如表1所示。

模型層(model),視圖層(view),控制層(controller)三部分之間的關系與通信方式:controller要與model通信使用api接口調(diào)用,model要與controller通信使用notification和KVC機制,controller要與view通信使用target-action目標行為模式、delegate代理模式、數(shù)據(jù)源來實現(xiàn),view與controller通信使用outlet控件。如圖2所示。

系統(tǒng)總共分為四個模塊:精選頁模塊、發(fā)現(xiàn)頁模塊、市集頁模塊、我的頁面模塊,詳細模塊劃分如圖3。

1)首頁精選:在首頁中瀏覽下拉刷新最新的數(shù)據(jù),上拉加載以往的數(shù)據(jù),通過每一行概要展示行可以點擊進入詳情頁,瀏覽藝術文章,進行收藏,分享到第三方平臺,點評、回復的操作,也可在詳情頁點擊進入推薦閱讀的其他藝術文章詳情頁。

2)發(fā)現(xiàn)頁:發(fā)現(xiàn)頁中包含四個部分,可以通過橫向滑動來轉(zhuǎn)換顯示在屏幕上的數(shù)據(jù)。有上拉加載和下拉刷新功能,導航條中左側(cè)點擊定位城市選擇城市來更換展覽頁只顯示該城市的數(shù)據(jù)內(nèi)容,右側(cè)點擊搜索按鈕進入搜索頁面,支持模糊搜索相關部分的內(nèi)容。通過瀏覽頁點擊進入展覽,展覽詳情頁中點擊圖片全屏查看,收藏展覽,也可分享至第三方平臺,進入作品頁可評論作品,進入機構頁可以關注機構,地圖定位功能通過詳細地址定位機構,導航路線前往機構地址。

3)市集頁:主要功能就是積分簽到制度,用戶在登陸后點擊簽到獲取每天的積分,一天只可以簽到一次,累計積分,下方的商品瀏覽頁面,點擊進入后可以查看商品的詳細信息,可以通過積分來兌換相應的商品。

4)我的頁面:這個頁面最重要的功能就是用戶的注冊登錄功能,用戶可以通過手機號注冊賬號,登錄,后臺會對用戶的密碼信息作加密保存。登陸后在我的頁面可以查看收藏列表,點評列表,粉絲列表和關注機構列表,可以對個人信息資料進行修改,修改昵稱,個人說明,通過手機相冊修改頭像等,查看產(chǎn)品的相關信息,發(fā)表相關的意見建議等。

數(shù)據(jù)庫邏輯表設計

用戶實體表如表2所示。

首頁是進入APP后顯示的第一個頁面,從網(wǎng)絡端請求數(shù)據(jù),若無數(shù)據(jù),則使用舊數(shù)據(jù),界面包括頂部使用scrollView水平滾動顯示活動信息,下方使用tableView豎向滾動顯示精選文章列表,每一行的cell可點擊進入文章詳情頁瀏覽整篇文章,其他用戶對文章的評論和系統(tǒng)推薦閱讀。具體界面如圖4所示。

點擊進入cell詳情頁之后,同樣使用tableView實現(xiàn)上下滑動,并將tableview分為兩組,將文章的詳情放在tableView的頭部,將精彩評論部分放到tableView的第一組,點擊第一組的cell可以進入評論回復頁面或全部評論頁面,將推薦閱讀部分放到tableView的第二組,點擊第二組的cell可以進入推薦閱讀的文章詳情頁面,并在導航條右側(cè)設置兩個按鈕:收藏和分享實現(xiàn)兩大功能。

進入首頁之后,用AFNetWorking從接口抓取最新數(shù)據(jù),抓取的數(shù)據(jù)為json格式,需將數(shù)據(jù)解析為OC數(shù)據(jù),以下為關鍵代碼:

-(void)loadData{

[[ActivityIndicatorToast shareToast] createActivityIndicator];

NSString *urlStr = [NSString stringWithFormat:URL,_token,_topicId];

urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

// GET方法

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

[manager GET:urlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

id result = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:NULL];

NSDictionary *dataDic = [result objectForKey:@"data"];

NSArray *exhibitCommentVosArr = [dataDic objectForKey:@"exhibitCommentVos"];

NSArray *topicVosArr = [dataDic objectForKey:@"topicVos"];

for (NSDictionary *dataDic in exhibitCommentVosArr) {

CommentCellFrame *frame = [[CommentCellFrame alloc] init];

frame.comment = [DetailCommentData dataWithArr:dataDic];

[self.allData addObject:frame];}

NSString *pathComment = [MyHelpUtil documentPathBySearch:@"MyComment.archive"];

_myCommentArr = [NSKeyedUnarchiver unarchiveObjectWithFile:pathComment];

if (_myCommentArr == nil) {

_myCommentArr = [NSMutableArray array];

[NSKeyedArchiver archiveRootObject:_myCommentArr toFile:pathComment];

_myCommentArr = [NSKeyedUnarchiver unarchiveObjectWithFile:pathComment];}

for (DetailCommentData *com in _myCommentArr) {

if (com.topicId == _topicId) {

CommentCellFrame *frame = [[CommentCellFrame alloc] init];

frame.comment = com;

[_allData addObject:frame];} }

for (NSDictionary *dataDic in topicVosArr) {

HomeData *recommend = [HomeData dataWithArr:dataDic];

[self.recommendedData addObject:recommend];}

dispatch_async(dispatch_get_main_queue(), ^{

[self.myTableView reloadData];

[[ActivityIndicatorToast shareToast] stopAnimating];});

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"errr=======%@", error);

[[ActivityIndicatorToast shareToast] stopAnimating];}];}

基于Android的藝術社區(qū)類APP的開發(fā)工作,能夠穩(wěn)定地運行在手機端,實現(xiàn)了預期的基本功能需求,采用MVC的Android開發(fā)使用基本框架,采用服務器,提供API接口的方式獲取網(wǎng)絡數(shù)據(jù),解析數(shù)據(jù)存放到數(shù)據(jù)庫保存,顯示到表現(xiàn)層與用戶實現(xiàn)交互,數(shù)據(jù)庫使用了適用于手機端的SQLite輕型數(shù)據(jù)庫,也使用了第三方的框架,添加了第三方分享,第三方登錄,推送等功能。將整個系統(tǒng)分為表現(xiàn)層、業(yè)務邏輯層、數(shù)據(jù)訪問層,使得系統(tǒng)更容易開發(fā)與維護。通過對軟件各個功能和性能的測試,使APP能夠運行基本穩(wěn)定,性能可靠,基本指標達到用戶的需求,具有較好的實用性和易用性[3]。

參考文獻:

[1] 賈廷峰.拍賣行別攬畫廊的活兒[J].藝術市場,2013(19):91-93.

[2] 蹇潔,張謐,馮振翔.移動銀行系統(tǒng)架構的設計[J].數(shù)字通信,2011(4):32-35.

[3] 劉熱.《軟件測試》課程教學改革設計[J].軟件導刊,2014(1):157-159.

猜你喜歡
沙盒手機app
不好惹的沙盒樹
韓國版金融科技“監(jiān)管沙盒”法案及其啟示
Windows 10“沙盒” 不僅更安全
智能手機APP支持下的大學英語聽力教學
基于手機藍牙的無線智能控制系統(tǒng)的設計
熱點追蹤 角逐創(chuàng)新沙盒絕賽Phantom異軍突起奪冠
罗定市| 威远县| 额敏县| 读书| 田阳县| 界首市| 和林格尔县| 乌兰浩特市| 昌江| 驻马店市| 古浪县| 乐陵市| 松潘县| 德钦县| 昌平区| 张家口市| 新丰县| 富顺县| 团风县| 龙海市| 芮城县| 津南区| 邯郸市| 三原县| 金阳县| 山东省| 阿拉善盟| 西乌| 郁南县| 长治市| 湖南省| 平谷区| 南华县| 镇赉县| 岳池县| 临漳县| 治县。| 什邡市| 会泽县| 讷河市| 大同县|