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

用Python寫一款A(yù)pp Inventor網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器

2022-01-15 00:48:23李偉
中國(guó)信息技術(shù)教育 2022年1期
關(guān)鍵詞:數(shù)據(jù)庫(kù)設(shè)計(jì)

李偉

App Inventor是目前廣受中小學(xué)生喜愛的圖形化移動(dòng)應(yīng)用開發(fā)軟件,通過這款軟件,用戶可以快速地開發(fā)簡(jiǎn)易的移動(dòng)應(yīng)用程序。App Inventor的數(shù)據(jù)存儲(chǔ)采用了多種方式,包括文本文件、TinyDB、TinyWebDB等,其中TinyWebDB屬于網(wǎng)絡(luò)微數(shù)據(jù)庫(kù),用戶使用此數(shù)據(jù)庫(kù),可實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)存儲(chǔ),從而實(shí)現(xiàn)開發(fā)網(wǎng)絡(luò)版應(yīng)用程序。

由于網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)需要服務(wù)器的支持,一般的用戶只能借助他人提供的遠(yuǎn)程服務(wù)器才可以使用這一功能,很不自由。在教學(xué)中,還常常因?yàn)檫h(yuǎn)程服務(wù)器的連接限制而導(dǎo)致測(cè)試失敗。因而,本文介紹一種基于Python的Flask框架開發(fā)App Inventor網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器的方法,讓任何計(jì)算機(jī)都能“搖身”變?yōu)榫W(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器,以滿足個(gè)人開發(fā)和日常教學(xué)的需求。

● 開發(fā)網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器的技術(shù)分析

1.網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)存儲(chǔ)機(jī)制

App Inventor開發(fā)的應(yīng)用程序,是通過TinyWebDB可以完成讀取數(shù)據(jù)與存儲(chǔ)數(shù)據(jù)的功能,其相關(guān)的數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)潔,每條記錄只包含了tag(鍵)和value(值)兩項(xiàng)。

在利用網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)進(jìn)行“讀取數(shù)據(jù)”時(shí),其實(shí)質(zhì)是發(fā)送一條網(wǎng)頁(yè)form表單請(qǐng)求,類似于“/get? tag=tagvalue”這樣的一條請(qǐng)求語(yǔ)句,傳送一個(gè)tag值,服務(wù)器捕獲這個(gè)請(qǐng)求后,查詢數(shù)據(jù)庫(kù)中是否存在這個(gè)tagvalue值,假若存在,則將此值返回給APP。

而當(dāng)利用網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)進(jìn)行“保存數(shù)據(jù)”時(shí),其實(shí)質(zhì)同樣是發(fā)送一條網(wǎng)頁(yè)form表單請(qǐng)求。類似于“/get? stored=storedvalue”這樣的一條請(qǐng)求語(yǔ)句,傳送一個(gè)stored值,此stored值實(shí)際上是一個(gè)json格式的數(shù)組字符串,即["STORED", "tag","value"],以此告知服務(wù)器程序,需要保存的數(shù)據(jù)為:tag=“tag”,value=“value”。服務(wù)器捕獲這個(gè)get請(qǐng)求后,將此數(shù)據(jù)作為一條記錄存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)。

2.網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器開發(fā)技術(shù)

由網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)存儲(chǔ)機(jī)制可知,服務(wù)器程序應(yīng)提供兩項(xiàng)服務(wù),即數(shù)據(jù)讀取與數(shù)據(jù)存儲(chǔ)功能,其實(shí)質(zhì)是一個(gè)典型的Web應(yīng)用服務(wù)平臺(tái)。因此,只需搭建一個(gè)能提供數(shù)據(jù)讀取與數(shù)據(jù)存儲(chǔ)功能的Web應(yīng)用服務(wù)平臺(tái),并且在格式上進(jìn)行規(guī)范,即可替代原有的網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器。

3.開發(fā)環(huán)境選擇

程序主體采用目前廣受用戶喜愛的Python語(yǔ)言的Flask網(wǎng)頁(yè)框架進(jìn)行編寫,數(shù)據(jù)庫(kù)可以采用SQLite3模塊進(jìn)行構(gòu)建。由于數(shù)據(jù)傳輸中需要進(jìn)行json格式的轉(zhuǎn)換,因此還需要導(dǎo)入json模塊。

4.主要功能模塊設(shè)計(jì)

網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器由數(shù)據(jù)庫(kù)、服務(wù)器端等模塊構(gòu)成。

其中,數(shù)據(jù)庫(kù)用于數(shù)據(jù)的存儲(chǔ),服務(wù)器端部分屬于反饋系統(tǒng)的主邏輯,承載著響應(yīng)APP請(qǐng)求,讀取相應(yīng)數(shù)據(jù)返回APP、捕獲APP發(fā)送的數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)庫(kù)。

整體架構(gòu)如上頁(yè)圖1所示。

● 網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器的開發(fā)

1.數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)主要用于APP數(shù)據(jù)的存儲(chǔ)。對(duì)于最基本的服務(wù),可以設(shè)計(jì)一個(gè)數(shù)據(jù)表,并在數(shù)據(jù)表中設(shè)計(jì)兩個(gè)字段,分別為webtag與webvalue。本系統(tǒng)采用Python語(yǔ)言的SQLite3模塊構(gòu)建與操作數(shù)據(jù)庫(kù),其數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)如上頁(yè)表所示。建立數(shù)據(jù)庫(kù)的核心代碼如圖2所示。

2.網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器程序編寫

服務(wù)器端程序采用Flask網(wǎng)頁(yè)框架編寫,主要包括以下兩個(gè)主函數(shù)。

getvalue()函數(shù):用于接收APP端讀取數(shù)據(jù)請(qǐng)求,并返回json格式的目標(biāo)數(shù)據(jù)。函數(shù)設(shè)計(jì)如圖3所示。

storeavalue()函數(shù):用于接收APP端存儲(chǔ)數(shù)據(jù)請(qǐng)求,并將接收到的數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù)中。函數(shù)設(shè)計(jì)如圖4所示。

● 網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器的部署與應(yīng)用

1.啟動(dòng)服務(wù)器主程序

網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器編寫完成之后,即可在服務(wù)器計(jì)算機(jī)中以命令行的方式運(yùn)行主程序:python tinywebdb.py。假設(shè)服務(wù)器地址為“192.168.31.132:8080”。

2.編寫APP,并設(shè)置網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器地址

設(shè)計(jì)示例APP的界面如下頁(yè)圖5所示,網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)服務(wù)器地址設(shè)置如圖6所示。

本示例APP只實(shí)現(xiàn)兩個(gè)功能,即將文本框中輸入的tag值與value值存入網(wǎng)絡(luò)微數(shù)據(jù)庫(kù)中;向服務(wù)器發(fā)送讀取數(shù)據(jù)請(qǐng)求,并將相應(yīng)tag值的返回值加以顯示。其邏輯設(shè)計(jì)如圖7所示。

3.調(diào)試

在APP編寫完畢后,使用AI伴侶進(jìn)行測(cè)試,結(jié)果如圖8所示。

猜你喜歡
數(shù)據(jù)庫(kù)設(shè)計(jì)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
數(shù)據(jù)庫(kù)
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 在线免费看黄的网站| 久久人妻系列无码一区| 青青草国产一区二区三区| 久久婷婷六月| 九九精品在线观看| 亚洲中文字幕在线一区播放| 天堂成人av| 欧美、日韩、国产综合一区| 青青草国产在线视频| 亚洲第一极品精品无码| 精品人妻AV区| 超碰色了色| 不卡无码h在线观看| 啊嗯不日本网站| 亚洲有码在线播放| 欧美性爱精品一区二区三区 | 成人免费一级片| 亚洲视频在线青青| 成人免费黄色小视频| 国产Av无码精品色午夜| 在线精品亚洲一区二区古装| 91日本在线观看亚洲精品| 国产区91| 99热这里只有精品久久免费| 视频一本大道香蕉久在线播放| 国产第四页| 色综合天天操| 久久国产精品波多野结衣| 成人午夜免费观看| 国产中文一区a级毛片视频| 亚洲天堂日韩在线| 免费a级毛片18以上观看精品| A级全黄试看30分钟小视频| 91外围女在线观看| 女人18毛片一级毛片在线| igao国产精品| 国产精品极品美女自在线网站| 99久久这里只精品麻豆| 欧美一级专区免费大片| 国产精品xxx| 国产在线精品美女观看| 免费在线色| 国内丰满少妇猛烈精品播| 国产精品lululu在线观看| 国产精品亚洲片在线va| 国产婬乱a一级毛片多女| 久久伊人操| 在线免费a视频| 谁有在线观看日韩亚洲最新视频| 久久人体视频| 国产精品视频导航| 久久情精品国产品免费| 无码人中文字幕| av尤物免费在线观看| 欧美在线综合视频| 女同国产精品一区二区| 国产精品99久久久| 亚洲无线国产观看| 婷婷亚洲视频| 亚洲久悠悠色悠在线播放| 99精品在线看| 国产精品永久不卡免费视频 | 久久精品午夜视频| 欧美一区二区三区欧美日韩亚洲| 茄子视频毛片免费观看| 久久综合九色综合97网| 国产女人喷水视频| 99re视频在线| 亚洲天堂日韩在线| 日本人妻丰满熟妇区| 2020精品极品国产色在线观看| 伊人久久福利中文字幕 | 欧美成人免费一区在线播放| 国产精品爽爽va在线无码观看| 久久九九热视频| 欧美日韩一区二区在线免费观看| 2022精品国偷自产免费观看| 国产人妖视频一区在线观看| 露脸一二三区国语对白| 大陆精大陆国产国语精品1024| 女人18毛片一级毛片在线 | 国产小视频在线高清播放|