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

給App插上“云服務”的翅膀

2014-11-17 17:46:01謝作如
中國信息技術教育 2014年21期
關鍵詞:文本游戲用戶

謝作如

開設App Inventor課程一段時間后,學生的學習熱情被點燃了,開發了各種各樣的App。當然,很多新的問題和新的想法也提出來了,如我開發的App能不能實時獲取網絡上的天氣預報等問題大都和Web應用有關。其實大部分手機App都具有將信息上傳到Web,或者從Web中獲取信息的功能。App Inventor中提供了Web組件,也能夠實現上述的功能。App和Web的互動,其原理和現在很流行的“云計算”、“云服務”是一樣的。

● 項目描述

設計一款App小游戲,用戶能夠將游戲得分上傳到網絡,并且和其他玩這款App的用戶比較,統計出“擊敗**%的用戶”的提示,增加游戲的互動性。

● 項目分析

要完成這個項目,我們首先需要一個專用的Web服務,這一Web服務的數據庫能存儲App提交的信息,并且能返回相關的統計信息。Web服務要提供API接口,App Inventor的連接組件中提供了Web組件,可以通過這一組件與Web服務的API接口進行互動,流程如圖1所示。

實際上,連接Web服務的手機App遠遠不只是一個,而是N個,構成了云服務的模型。

目前網絡上似乎還沒有哪家服務商提供了類似的云服務,尤其是能夠讓App Inventor的Web控件簡單訪問的云服務。為了能讓學生們開發的App具有云服務的功能,我使用動態語言Asp,開發了一個“手機App云用戶管理系統”,上傳到學校的服務器,供學生使用。

“手機App云用戶管理系統”是一個多用戶的系統,支持多個App應用同時使用,能夠實現用戶注冊、用戶登錄、更新密碼、更新得分和綜合查詢等功能。系統提供了一個簡單的Api接口,通過這個接口與手機App互動。Api文件的具體使用說明的地址為:http://www.wzms.cn/tot/reg/index.asp。

1.接口參數

本接口支持POST和GET兩種形式提交參數,參數分為appid、action、regname、regpass、newregpass、score等六個。接口文件地址和各種參數合并為一個完成的URL地址后,通過Web組件提交,即可獲取返回的信息。具體的參數說明如下頁表。

2.數據返回格式

前兩個字符為ok或者no,后面則為其他具體的信息,如統計信息,分別用“;”分隔。

3.使用范例

因為這一系統提供給更多的學生使用,支持多個App同時使用,所以設計了appid參數來區分。下面以appid等于1為例進行說明。

①將用戶xzr的分數更新為99。

需要的參數為:appid、action、regname、score。URL為:http://www.wzms.cn/tot/reg/ index.asp?appid=1?name=xzr&score=99&action=5。

返回信息為:True:ok,更新成功!名次:1;有效分數:4;最高:99;最低:30;平均:79.25。

注:用戶如果不存在,就自動添加密碼為“123456”的用戶,同時返回上述的信息。

②統計Appid為1的應用程序注冊用戶情況。

需要的參數為:appid、action。URL為:http://www.wzms.cn/tot/reg/index.asp?appid=1&action=6。

返回信息為:True:ok,注冊人數:4;有效分數:4;最高:99;最低:30;平均:79.25。

注:如果appid不存在,系統則輸出:ok,注冊人數:0;有效分數:0;最高:;最低:;平均:,如果需要詳細的使用文檔,請訪問http://www.wzms.cn/tot/reg/index.htm。

● 編程實現

有了手機App云用戶管理系統的支持,App Inventor端的編程主要是通過Web組件提交參數,然后使用文本組件的各種函數,在返回信息中找到需要的數據。

我找了一個打地鼠的學生作品,這個小游戲已經能夠通過TinyDB組件來存儲并且讀取最高的游戲成績。我在這一基礎上增加了Web組件,使其支持通過Web存儲用戶的游戲得分,還能比較不同的游戲用戶的得分情況,輸出統計結果,如“擊敗90%的用戶”之類。

1.程序界面

Web和TinyDB都是為非可視組件。Web組件位于“連接組件”區域,這一組件的作用為發送HTTP的GET、POST、PUT及DELETE請求(如圖2)。

圖2

2.生成隨機用戶名

為了更容易理解,我將程序中與生成、讀取用戶名無關的代碼去除。程序在第一次時要生成一個隨機用戶,并存儲在TinyDB中。變量(Tag)score存儲的是游戲得分,regname存儲的是用戶名。如果從TingDB中讀出的regname為0,則會生成一個以5位的數字組成的用戶名(如圖3)。

3.提交成績到網絡

游戲結束的時候,將成績提交到網絡。geturl是自定義的過程,在游戲結束的時候調用這一過程,需要提交的參數為regname和score(如下頁圖4)。

4.編寫geturl過程

geturl過程的功能僅僅為給Web組件設置Url地址,然后調用Get方法(如下頁圖5)。Web組件收到返回的信息時,會觸發GotText事件。

5.編寫GotText事件

最核心的工作就是在GotText事件中處理返回的信息,代碼如下頁圖7所示。根據前面的說明,GotText事件將收到類似如下的信息:ok,更新成功!名次:1;有效分數:4;最高:99;最低:30;平均:79.25。endprint

首先要用segment函數取出前兩個字符,如果等于“ok”,則繼續進行提取數據。segment函數類似VB中的Mid函數,能夠從給定的文本中提取指定起點及指定長度的文本片段。需要注意的是,App Inventor中無論是列表還是文本,都是從1開始計數的,而不是0。

要統計這一得分能擊敗多少用戶,需要在反饋信息中提取名次和有效分數(大于0的分數)這兩個數據。其實處理起來也不麻煩,先用“;”分割字符串,再用“:”分割。取出后用公式計算:擊敗率=(有效分數-名次+1)/有效分數。

可是,用App Inventor寫數學表達式卻有點麻煩,構建出來的積木非常龐大,只好再用個變量temp,讓代碼看起來稍微短一些。

6.測試代碼

游戲結束的時候,看到熟悉的提示跳出來,是不是非常激動?這可是插上了云服務的翅膀的App(如圖7)!

● 拓展應用

本項目雖然僅僅完成了通過網絡來比較游戲得分的功能,但我提供的“手機App云用戶管理系統”還可以實現其他的功能,如用戶注冊功能。我們甚至還可以利用這一更新得分的功能,開發出更加有趣的互動功能,如用支持WiFi訪問的機器人或者其他智能產品,定時去讀取這一Api接口,根據返回的數據不同而執行不同的動作,這就是物聯網智能產品的遠程控制功能。

有了上面的范例,實時獲取天氣預報的操作就顯得很簡單了,只要你找到一個穩定的更新及時的天氣預報網站,通過分隔字符串的形式,把需要的數據提取出來即可。App Inventor的Web組件功能非常強大,不要說提交分數,利用其支持POST,并且能夠設置RequestHeaders的功能,我們甚至可以做出類似云筆記之類的應用來。

App Inventor的Web組件還支持Josn格式。使用JsonTextDecode方法,可以對給定的json格式的值進行解碼,生成與App Inventor對應的值。這樣一來,對Web組件返回信息的處理將更加簡單。手機App云用戶管理系統也將提供支持Josn的接口。

● 總結

本項目主要演示了App中云服務功能的開發。雖然簡單,但給學生們提供的卻是一條增強手機App功能的開發途徑,能初步體會云計算的功能和優勢。很多專家都曾經提出,云計算將帶來手機領域下一場革命,手機僅僅是網絡應用的“瘦客戶端”,讓服務器做復雜、繁重的計算、存儲工作吧。

(本文提到的范例可以通過作者的新浪博客獲取,地址為:http://blog.sina.com.cn/xiezuoru/)endprint

首先要用segment函數取出前兩個字符,如果等于“ok”,則繼續進行提取數據。segment函數類似VB中的Mid函數,能夠從給定的文本中提取指定起點及指定長度的文本片段。需要注意的是,App Inventor中無論是列表還是文本,都是從1開始計數的,而不是0。

要統計這一得分能擊敗多少用戶,需要在反饋信息中提取名次和有效分數(大于0的分數)這兩個數據。其實處理起來也不麻煩,先用“;”分割字符串,再用“:”分割。取出后用公式計算:擊敗率=(有效分數-名次+1)/有效分數。

可是,用App Inventor寫數學表達式卻有點麻煩,構建出來的積木非常龐大,只好再用個變量temp,讓代碼看起來稍微短一些。

6.測試代碼

游戲結束的時候,看到熟悉的提示跳出來,是不是非常激動?這可是插上了云服務的翅膀的App(如圖7)!

● 拓展應用

本項目雖然僅僅完成了通過網絡來比較游戲得分的功能,但我提供的“手機App云用戶管理系統”還可以實現其他的功能,如用戶注冊功能。我們甚至還可以利用這一更新得分的功能,開發出更加有趣的互動功能,如用支持WiFi訪問的機器人或者其他智能產品,定時去讀取這一Api接口,根據返回的數據不同而執行不同的動作,這就是物聯網智能產品的遠程控制功能。

有了上面的范例,實時獲取天氣預報的操作就顯得很簡單了,只要你找到一個穩定的更新及時的天氣預報網站,通過分隔字符串的形式,把需要的數據提取出來即可。App Inventor的Web組件功能非常強大,不要說提交分數,利用其支持POST,并且能夠設置RequestHeaders的功能,我們甚至可以做出類似云筆記之類的應用來。

App Inventor的Web組件還支持Josn格式。使用JsonTextDecode方法,可以對給定的json格式的值進行解碼,生成與App Inventor對應的值。這樣一來,對Web組件返回信息的處理將更加簡單。手機App云用戶管理系統也將提供支持Josn的接口。

● 總結

本項目主要演示了App中云服務功能的開發。雖然簡單,但給學生們提供的卻是一條增強手機App功能的開發途徑,能初步體會云計算的功能和優勢。很多專家都曾經提出,云計算將帶來手機領域下一場革命,手機僅僅是網絡應用的“瘦客戶端”,讓服務器做復雜、繁重的計算、存儲工作吧。

(本文提到的范例可以通過作者的新浪博客獲取,地址為:http://blog.sina.com.cn/xiezuoru/)endprint

首先要用segment函數取出前兩個字符,如果等于“ok”,則繼續進行提取數據。segment函數類似VB中的Mid函數,能夠從給定的文本中提取指定起點及指定長度的文本片段。需要注意的是,App Inventor中無論是列表還是文本,都是從1開始計數的,而不是0。

要統計這一得分能擊敗多少用戶,需要在反饋信息中提取名次和有效分數(大于0的分數)這兩個數據。其實處理起來也不麻煩,先用“;”分割字符串,再用“:”分割。取出后用公式計算:擊敗率=(有效分數-名次+1)/有效分數。

可是,用App Inventor寫數學表達式卻有點麻煩,構建出來的積木非常龐大,只好再用個變量temp,讓代碼看起來稍微短一些。

6.測試代碼

游戲結束的時候,看到熟悉的提示跳出來,是不是非常激動?這可是插上了云服務的翅膀的App(如圖7)!

● 拓展應用

本項目雖然僅僅完成了通過網絡來比較游戲得分的功能,但我提供的“手機App云用戶管理系統”還可以實現其他的功能,如用戶注冊功能。我們甚至還可以利用這一更新得分的功能,開發出更加有趣的互動功能,如用支持WiFi訪問的機器人或者其他智能產品,定時去讀取這一Api接口,根據返回的數據不同而執行不同的動作,這就是物聯網智能產品的遠程控制功能。

有了上面的范例,實時獲取天氣預報的操作就顯得很簡單了,只要你找到一個穩定的更新及時的天氣預報網站,通過分隔字符串的形式,把需要的數據提取出來即可。App Inventor的Web組件功能非常強大,不要說提交分數,利用其支持POST,并且能夠設置RequestHeaders的功能,我們甚至可以做出類似云筆記之類的應用來。

App Inventor的Web組件還支持Josn格式。使用JsonTextDecode方法,可以對給定的json格式的值進行解碼,生成與App Inventor對應的值。這樣一來,對Web組件返回信息的處理將更加簡單。手機App云用戶管理系統也將提供支持Josn的接口。

● 總結

本項目主要演示了App中云服務功能的開發。雖然簡單,但給學生們提供的卻是一條增強手機App功能的開發途徑,能初步體會云計算的功能和優勢。很多專家都曾經提出,云計算將帶來手機領域下一場革命,手機僅僅是網絡應用的“瘦客戶端”,讓服務器做復雜、繁重的計算、存儲工作吧。

(本文提到的范例可以通過作者的新浪博客獲取,地址為:http://blog.sina.com.cn/xiezuoru/)endprint

猜你喜歡
文本游戲用戶
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
主站蜘蛛池模板: 啊嗯不日本网站| 亚洲欧美另类中文字幕| 国产精品漂亮美女在线观看| 亚洲日韩精品无码专区97| 国产大全韩国亚洲一区二区三区| 亚洲热线99精品视频| 美女黄网十八禁免费看| 日韩精品免费一线在线观看| 亚洲欧洲免费视频| 亚洲久悠悠色悠在线播放| 久久这里只精品热免费99| 色老头综合网| 玖玖免费视频在线观看| 91年精品国产福利线观看久久 | 欧美成人精品高清在线下载| 精品久久久久久成人AV| 亚洲 欧美 日韩综合一区| 日韩欧美中文亚洲高清在线| 性视频一区| 亚洲熟女偷拍| 久久久久亚洲AV成人网站软件| 91精品网站| 国产福利影院在线观看| 91精品伊人久久大香线蕉| 免费在线色| 九九精品在线观看| 无码专区国产精品一区| 欧美日韩在线亚洲国产人| www.91在线播放| 久久精品女人天堂aaa| 国产第一页第二页| 国产三级成人| 亚洲六月丁香六月婷婷蜜芽| 欧美午夜网| a色毛片免费视频| 亚洲热线99精品视频| 国产欧美日韩精品第二区| 国产欧美视频综合二区| 看你懂的巨臀中文字幕一区二区| 亚洲国产成人无码AV在线影院L| 全色黄大色大片免费久久老太| 国产欧美日韩视频一区二区三区| 2020久久国产综合精品swag| 国产第四页| 亚洲欧美日韩成人在线| 精品国产污污免费网站| 成人自拍视频在线观看| 好紧太爽了视频免费无码| 亚洲日韩在线满18点击进入| 2022国产无码在线| 精品无码日韩国产不卡av| 青青草原国产免费av观看| 国产第八页| 91久久国产成人免费观看| 伊在人亞洲香蕉精品區| 毛片一区二区在线看| 婷婷六月在线| 91精品网站| 欧美一级黄色影院| 亚洲a级在线观看| 狠狠躁天天躁夜夜躁婷婷| 高清色本在线www| 亚洲美女操| 久久久久久尹人网香蕉| 亚洲中文制服丝袜欧美精品| AV不卡在线永久免费观看| 在线欧美一区| 日韩a级片视频| 国产女人18水真多毛片18精品 | 亚洲bt欧美bt精品| 黄色三级网站免费| 色综合手机在线| 亚洲人成网站在线观看播放不卡| 成人国产精品网站在线看| 国产精品无码AⅤ在线观看播放| 日韩福利在线观看| 亚洲码一区二区三区| 国产chinese男男gay视频网| 国产午夜一级淫片| 91精品国产91久无码网站| 99热这里只有免费国产精品| 亚洲成人一区在线|