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

?

基于AppInventor小區(qū)出入打卡系統(tǒng)設(shè)計與應(yīng)用

2020-09-28 07:05陳郁欣
電腦知識與技術(shù) 2020年16期
關(guān)鍵詞:手機app疫情防控二維碼

陳郁欣

摘要:針對疫情防控小區(qū)封閉式管理的需要,該文采用App Inventor作為開發(fā)工具、選用草料二維碼API平臺在線生成服務(wù),設(shè)計了一款小區(qū)人員數(shù)字出入證手機打卡系統(tǒng)。實現(xiàn)了住戶信息建立、查改、刪除與導(dǎo)出,入門證二維碼生成、掃描打卡與出入時間、體溫數(shù)據(jù)登記等功能,方便了小區(qū)對出入人員的管理,高效滿足了疫情期間管控需求,探索了低成本、高效率手機應(yīng)用系統(tǒng)解決方案思路。

關(guān)鍵詞:App Inventor;疫情防控;手機App;小區(qū)出入打卡;二維碼

中圖分類號:TP311? ? ? 文獻標識碼:A

文章編號:1009-3044(2020)16-0079-03

Abstract: To meet the needs of closed management of epidemic prevention and control communities, the paper uses App Inventor as a development tool and selects CLI QR codes API platform online generation service to design a mobile card punching system for community personnel's digital access cards. The functions of establishing, checking, deleting and exporting household information, generating QR codes for entry cards, scanning and punching cards, entering and leaving time, and registering body temperature data, etc., have been realized, which has facilitated the management of people entering and leaving the community, efficiently met the urgent need for control during the epidemic, and explored the idea of low-cost and high-efficiency mobile phone application system solutions.

Key words: App Inventor; epidemic prevention and control; mobile app; community pass card; QR code

1 背景

一場突如其來的疫情,打響了關(guān)系人民群眾生命健康安全的防疫阻擊戰(zhàn)。為筑起一道嚴密的疫情防控防線,各社區(qū)實行了憑證出入住宅小區(qū),以減少人員流動,杜絕外來人員。但在使用過程,由于紙質(zhì)出入證存在住戶忘記攜帶、紙張揉破、多人接觸增加安全風(fēng)險等不足,本文提出了一種基于App Inventor設(shè)計的小區(qū)數(shù)字出入證手機打卡系統(tǒng),可有效解決此問題,同時提高了出入時查驗、登記的工作效率。

2 系統(tǒng)總體設(shè)計

App Inventor是一款采用拖拽操作的可視化編程語言為基礎(chǔ)的Android應(yīng)用開發(fā)工具,它摒棄了復(fù)雜的程序代碼,使用樂高積木式堆疊法來完成Android程序設(shè)計,大大提高降低了開發(fā)難度,提高了開發(fā)效率。由于居民小區(qū)人員少、數(shù)據(jù)量小、憑證出入功能簡單,App Inventor可以滿足實現(xiàn)系統(tǒng)需求,同時小區(qū)為封閉式管理,單用戶使用,本應(yīng)用系統(tǒng)設(shè)計為單機版。

系統(tǒng)功能包括住戶信息建立、查詢、修改、刪除與導(dǎo)出,入門證二維碼的產(chǎn)生、掃描與出入時間、體溫數(shù)據(jù)登記,打卡信息導(dǎo)出等。

系統(tǒng)設(shè)計流程:打開App,登錄用戶主界面,按需選擇“新建住戶”“查改信息”“出入打卡”“導(dǎo)出記錄”四個模塊功能。選擇“新建住戶”功能,錄入住戶ID、姓名、電話、身份證號、住址、備注等,保存信息后,產(chǎn)生住戶ID二維碼,作為出入打卡數(shù)字證二維碼;當(dāng)日常住戶出入小區(qū)時,選擇“出入打卡”功能,點擊“掃碼”,對持有人電子出入證進行掃碼,管理員根據(jù)掃碼獲得的住戶上次出入具體時間,依小區(qū)出入時間間隔規(guī)定,輸入體溫數(shù)據(jù)后,點擊“放行”完成打卡操作;選擇“查改記錄”功能,可依據(jù)身份證號對住戶信息進行查詢、修改與刪除;選擇“導(dǎo)出記錄”,可將所有住戶信息與打卡記錄導(dǎo)出為文本文件,最終通過手機“文件管理”導(dǎo)出記錄。系統(tǒng)功能設(shè)計流程如圖1所示。

3 主要功能設(shè)計實現(xiàn)

3.1 數(shù)據(jù)庫存取操作

3.1.1 數(shù)組組織

在App Inventor中有兩個數(shù)據(jù)庫組件——本地數(shù)據(jù)庫及網(wǎng)絡(luò)數(shù)據(jù)庫,它們都是NoSQL類型的數(shù)據(jù)庫[1],利用這兩個數(shù)據(jù)庫組件,App Inventor很容易實現(xiàn)數(shù)據(jù)的永久存儲。

它們以“標記-數(shù)值”的方式保存數(shù)據(jù),“標記”是一個字符串,“值”是任意類型的數(shù)據(jù),用戶通過“標記”來保存與提取數(shù)據(jù),保存數(shù)據(jù)時使用的標記也用于之后對數(shù)據(jù)的提取。本應(yīng)用系統(tǒng)因設(shè)計定位為單機版,數(shù)據(jù)不需要在手機之間分享,故使用本地數(shù)據(jù)庫組件完成數(shù)據(jù)的存貯使用。本應(yīng)用系統(tǒng)數(shù)據(jù)示例如表1、表2所示。

一個數(shù)據(jù)庫組件可以看成是數(shù)據(jù)庫的一張表,對此我們分別使用兩個數(shù)據(jù)庫組件,命名為住戶信息數(shù)據(jù)庫、打卡記錄數(shù)據(jù)庫。

3.1.2 編寫程序

App Inventor為本地數(shù)據(jù)庫組件提供了內(nèi)置功能模塊——請求數(shù)據(jù)塊和保存數(shù)據(jù)塊,用于從數(shù)據(jù)庫中存取數(shù)據(jù)。

這兩個數(shù)據(jù)塊有兩個參數(shù),其中之一是“標記”。在使用該塊時,需要為標記提供具體的值,用于請求或保存相關(guān)的數(shù)據(jù)。另外,請求數(shù)據(jù)塊是一個有返回值的塊,因此必須定義一個變量來接收請求數(shù)據(jù)塊的返回值。當(dāng)數(shù)據(jù)庫為空時,此時數(shù)據(jù)庫中不存在要訪問的標記,為此,請求數(shù)據(jù)塊提供了另一個參數(shù)——無標記返回。當(dāng)調(diào)用請求數(shù)據(jù)塊時,要為這個參數(shù)指定具體的值,以便當(dāng)數(shù)據(jù)不存在時,請求數(shù)據(jù)塊可以返回該參數(shù)的值。

App Inventor還提供了一個特別的事件處理程序——屏幕(Screen)初始化程序,屏幕啟動時會觸發(fā)該程序。本應(yīng)用系統(tǒng)四個功能模塊均需進行數(shù)據(jù)庫的讀取操作,且“新建住戶”“查改信息”“出入打卡”三個模塊均利用啟動時屏幕初始化從數(shù)據(jù)庫中提取某些數(shù)據(jù),以“出入打卡”功能模塊加載數(shù)據(jù)為例,程序編碼如圖2所示。

當(dāng)讀取二維碼屏幕(Screen4)掃描結(jié)束后,打卡屏幕(Screen5)啟動,并將上一屏幕傳遞值賦給全局變量“掃得ID”,即該住戶ID ,同時在屏幕頁面顯示獲得的住戶ID。

建立二個請求數(shù)據(jù)塊分別讀取“住戶數(shù)據(jù)庫”“打卡數(shù)據(jù)庫”數(shù)據(jù)。這里“住戶數(shù)據(jù)庫”請求數(shù)據(jù)使用的標記為全局變量“住戶信息列表存儲標記”,返回值寫入“住戶信息列表”變量中,如果沒有與標記相對應(yīng)的數(shù)據(jù),則寫入空列表。 “打卡數(shù)據(jù)庫”請求數(shù)據(jù)使用的標記為全局變量“打卡信息列表存儲標記”,返回值寫入“打卡信息列表”變量中,如果沒有與標記相對應(yīng)的數(shù)據(jù),同樣寫入空列表。

調(diào)用“篩選住戶ID”過程,完成檢索“住戶數(shù)據(jù)庫”獲取該住戶ID的姓名、身份證號,手機號,住址信息,檢索“打卡數(shù)據(jù)庫”獲取該住戶ID最近一次的出入時間、出入狀態(tài)記錄,并顯示。

再看數(shù)據(jù)的保存操作。本地數(shù)據(jù)庫組件有一個內(nèi)置的功能模塊——保存數(shù)據(jù)塊,用于數(shù)據(jù)的存儲操作。本應(yīng)用系統(tǒng)“新建住戶”“查改信息”“打卡記錄”功能模塊均需進行數(shù)據(jù)庫存儲操作,如圖3所示為運用保存數(shù)據(jù)塊完成“新建住戶”功能住戶信息數(shù)據(jù)的存儲操作編碼。

首先,調(diào)用“已存住戶ID”過程,獲取住戶信息數(shù)據(jù)庫中已存住戶ID賦值給變量“記錄中住戶ID”, 運用“記錄中住戶ID”判斷本次住戶錄入信息是否重復(fù),如果用戶本次錄入住戶ID非空或不重復(fù),則將本次錄入的信息添加到“住戶信息列表”中,利用保存數(shù)據(jù)塊保存“住戶信息列表”到“住戶數(shù)據(jù)庫”,對話框組件顯示“保存成功”提示信息;如果用戶本次錄入住戶ID為空或數(shù)據(jù)庫中已存有該“住戶ID”,對話框組件顯示“住戶ID不能為空或重復(fù)”提示信息。

3.2 二維碼生成

草料二維碼API平臺提供了二維碼免費在線生成服務(wù),用戶可以使用二維碼生成接口地址,調(diào)整URL參數(shù)中的二維碼內(nèi)容(text),美化模板id(mhid)兩個參數(shù),即可獲取二維碼下載頁面。API接口地址如下:

3.3 二維碼讀取

App Inventor提供了一個已經(jīng)封裝好的二維碼掃描組件,在“出入打卡”功能模塊中,首先打開二維碼掃描屏幕,在該屏幕中用戶點擊掃描按鈕,條碼掃描器開始對電子出入證二維護碼進行讀掃,讀取該出入證住戶ID,掃描完成后,系統(tǒng)打開打卡功能屏幕并將掃描結(jié)果傳遞給打卡功能屏幕(Screen5)。本功能主要程序代碼如圖5所示。

3.4 導(dǎo)出記錄功能

App Inventor的數(shù)據(jù)存儲類組件中,有一個非可視組件--文件管理器,可以在設(shè)備上實現(xiàn)文件的讀或?qū)?。通過數(shù)據(jù)庫組件存儲的記錄信息,用戶在正常環(huán)境中是無法查看的,所以我們首先提取數(shù)據(jù)庫中數(shù)據(jù),再通過文件管理器組件寫入指定位置的文本文件中,即可實現(xiàn)數(shù)據(jù)庫記錄的導(dǎo)出。其主要程序代碼如圖6所示。

4 結(jié)束語

本文基于App Inventor開發(fā)環(huán)境設(shè)計提出了一款手機打卡App,實現(xiàn)了檔案建立、二維碼生成、掃碼打卡等功能。引用App Inventor項目的負責(zé)人Harold Abelson (MIT教授)的一句話 “App Inventor編寫的應(yīng)用程序或許不是很完美,但它們卻是普通人都能做的,而且通常是在幾分鐘內(nèi)就可完成。”[2] App Inventor適用功能簡單、結(jié)題期短的應(yīng)用場景開發(fā)運用。本應(yīng)用系統(tǒng)從需求提出到投入使用僅用了一個工作日,高效地解決了用戶亟須,且具有良好的用戶操作體驗,對小區(qū)住戶出入驗證、登記,方便靈活,得到用戶好評。本應(yīng)用改用網(wǎng)絡(luò)數(shù)據(jù)庫組件,可輕松擴展為網(wǎng)絡(luò)版,也可運用在考勤打卡等其他場景。

參考文獻:

[1] 金從軍. App Inventor開發(fā)訓(xùn)練營[M]. 北京: 人民郵電出版社, 2018: 163-167.

[2] 郭守超, 周睿, 鄧常梅, 等. 基于App Inventor和計算思維的信息技術(shù)課堂教學(xué)研究[J]. 中國電化教育, 2014(3): 91-96.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
手機app疫情防控二維碼
二維碼
安徽省人畜共患病細菌性傳染病綜述
2013~2017年東莞市大嶺山醫(yī)院急診科接種狂犬疫苗情況分析
讓嚴肅的二維碼呆萌起來
智能手機APP支持下的大學(xué)英語聽力教學(xué)
基于手機藍牙的無線智能控制系統(tǒng)的設(shè)計
二維碼,別想一掃了之
五家渠市| 武冈市| 昌宁县| 南乐县| 枞阳县| 德清县| 新巴尔虎左旗| 壶关县| 蕉岭县| 牡丹江市| 区。| 洪湖市| 夏河县| 沂源县| 大竹县| 玉田县| 大余县| 德江县| 白银市| 沂源县| 凭祥市| 曲松县| 临泽县| 噶尔县| 钟祥市| 南昌县| 双城市| 佛学| 正定县| 阿克| 邢台市| 海淀区| 凭祥市| 丰城市| 贡嘎县| 林西县| 怀集县| 旬邑县| 台中市| 奎屯市| 景宁|