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

Android系統下人機交互解鎖屏功能的應用研究

2016-09-08 09:23:18賀建英袁小艷唐青松
電子設計工程 2016年13期
關鍵詞:界面數據庫用戶

賀建英,袁小艷,唐青松

(四川文理學院 計算機學院,四川 達州 635000)

Android系統下人機交互解鎖屏功能的應用研究

賀建英,袁小艷,唐青松

(四川文理學院計算機學院,四川 達州 635000)

針對智能終端設備解鎖的實際應用,通過隨機生成英文單詞為解鎖密碼的方式,改變傳統的解鎖模式。利用SQLite數據庫對數據進行存儲,采用Java語言,使用MVC的設計模式,設計出一套人性化的人機交互解鎖屏的平臺,并利用SQLite的二分查找法快速生成解鎖的密碼單詞,減少檢索數據的時間。實驗表明,本設計能有效的實現人機交互并完成解鎖功能。

SQLite數據庫;人機交互;MVC;二分查找;解屏

在信息化建設進程的不斷推進過程中,移動智能手持設備已經成為人們獲取網絡信息的主要手段之一。移動智能終端設備的出現,改變了人們的生活方式,如使用終端設備進行網絡購物,游戲娛樂,分享感受,發布照片等等。由于智能設備的輸入大部分采用電容式觸摸屏技術,為防止用戶將設備貼身出現誤操作等一系列異常情況的出現,因此,在移動智能終端系統中設計實現解鎖屏功能十分必要。通過對眾多解鎖屏軟件的分析,當前該功能主要通過預設定一串數字字符串作為密碼,在解屏的時候,用戶點擊數字鍵或者滑動等所輸入的符號來與原字符串進行匹配,該方式存在的弊端主要體現在人機交互性差,主要表現在密碼值的唯一性,因此,文中基于Android操作系統,設計實現隨機產生英語單詞作為密碼的方式實現密碼值的多樣化,以表現在解鎖方面的交互性能。

1 應用技術簡介

1.1Android平臺

Android平臺的開源特性得到了很多廠商的支持,是目前手持設備終端應用廣泛的操作系統,根據眾多文獻資料和系統源程序的分析,可以得出,Android系統基于Linux內核擴展,形成數據應用及系統服務、應用程序框架服務和人機交互應用程序等系統架構方式,如圖1所示[1]。程序人員根據用戶的需求,在系統構架的基礎上,可以設計和開發各種基于Android平臺的應用程序。

圖1 Android系統架構圖

1.2SQLite數據庫

數據庫為應用程序提供數據支持,在計算機應用程序中應用廣泛。眾多的數據庫系統管理軟件中,關系數據庫SQLite基于其嵌入式設計目標,具有的微小輕型、占用資源少等特性,同時,該數據庫支持關系數據庫中的增刪改查、建立索引該、創建視圖等幾乎所有的功能,并且可以和多種計算機語言相結合,如Java,C#等高級語言[2]。

由于在Android系統應用程序往往需要有數據的支持,SQLite數據庫占用資源少的特性,因此在Android系統通常使用它為應用程序的提供數據支持,如在眾多Android瀏覽器應用軟件中,使用SQLite數據庫存儲用戶的歷史瀏覽記錄、用戶對地址的收藏等操作。

1.3解鎖屏原理

當Android系統啟動后,系統將使用類PhoneWindowManager來管理Android系統中將要初始化的KeyGuardViewMediator類,然后調用該類的SystemReady()方法調用鎖屏的流程,當時間延遲符合所設置的條件的時候,將調用KeyGuardViewMediator類的onSystemReady()方法開始鎖屏操作,并且在鎖屏操作之前判斷是否有第三方鎖屏應用的文件,如果沒有則調用showLocked()函數,讓handler發送顯示鎖屏信息或延時處理,handler接收消息,直接調用handleShow()方法,從而實現系統的鎖屏操作。

2 總體設計

2.1構架設計

遵從Android系統應用的結構,應用程序框架采用MVC (Model-View-Controller)模式[3],實現模型與視圖層之間的代碼分離,增強應用程序的可擴展性和易維護性能,如圖2所示。

圖2 應用程序三層構架設計圖

1)視圖表現層。視圖層主要使用XML文件保存操作界面的樣式,使之與Android應用程序的資源文件路徑(RES/ LAYOUT)一致,以XML文件形式體現,并且在該文件中設置好布局樣式(Layout)。用戶在操作的過程中,若要修改布局中的內容,或者更改控件的相關屬性,可以通過程序調用Android API提供的getViewById()方法進行設置,如此可以增強邏輯結構,將視圖層與數據事務等操作的分離。

2)業務邏輯層。該層為整個應用程序的核心,首先通過Service監聽用戶的操作狀態,然后判斷是否啟動程序,如是否調用android.intent.action.SCREEN_ON來激活屏幕等操作。調用隨機抽取數據庫中的記錄以生成相關問題,等待用戶的響應,最后為處理相關信息調用相關事務,因此,該層為信息處理中心與用戶交互的中間層。

3)數據持久層。為給解屏增強交互性,需要不斷地從數據庫中抽取相關信息呈現給用戶,讓用戶經過思考后給出相應的答案,以輸入的方式來驗證答案的正確性,因此,數據持久層的設計非常重要。在應用程序中,采取關系對象映射技術,將關系數據庫中對應的記錄轉換成面向對象編程語言中的對象,如此為開發人員提供對象的方式實現對數據的訪問、操作SQLite數據庫中的數據。

2.2整體流程設計

根據Android系統設計的解鎖屏技術原理[4],系統將使用類PhoneWindowManager來管理Android系統中的KeyGuardViewMediator類,以此為切入點,調用該類的SystemReady()方法調用鎖屏的流程,當時間延遲符合所設置的條件的時候,將調用KeyGuardViewMediator類的onSystemReady()方法開始鎖屏操作,并且在鎖屏操作之前判斷是否有第三方鎖屏應用的文件,如果沒有則調用showLocked()函數,讓handler發送顯示鎖屏信息或延時處理,handler接收消息,直接調用handleShow()方法,從而實現系統的鎖屏操作。如圖3所示。

圖3 應用程序整體功能構架

2.3數據庫設計

應用程序中數據庫主要保存英語詞匯,在解鎖屏幕的時候,隨機抽取某一個單詞的各中文含義,提供輸入界面讓用戶對其單詞進行拼寫,從而達到人機交互的目的。因此數據庫中需要設計保存英文詞匯的數據表,為擴充詞匯量,設計詞匯更新日志表記錄當前詞匯量狀況,以便及時通過網絡向詞匯表中補充單詞,關系結構可表示為表1和表2所示。

3 關鍵技術的實現

3.1加載數據

建立與數據庫的連接:

db=(new DatabaseHelper(getContext()).getWritableDatabase();

表1 詞匯表的結構

表2 詞匯更新日志表結構

關閉數據庫連接:db.close();

3.2屏蔽原解鎖界面

在用戶點擊按鈕觸發界面點亮,應用程序監聽到該事件的觸發后,啟動PemoLickService服務,調用keyguardManage()方法,禁用設備原來的鎖屏活動界面(StudyPemoPatternActivity),以展示應用程序自定義屏幕解鎖界面[5]。

private BroadcastReceiver mScreenOffReceivernumberok=new roadcastReceiver(){

public void onTheReceive(Context context,Intent intent){

String doaction=intent.getAction();

if(doaction.equals("android.intent.action.SCREEN_OFF")|| doaction.equals("android.intent.action.SCREEN_ON")

){mKeyguardManager=(KeyguardManager)context. getSystemService(Context.KEYGUARD_SERVICE);

mKeyguardLock=mKeyguardManager.newKeyguardLock ("phone_lock");mKeyguardLock.disableKeyguard();

startActivity(LockIntent);

}}};

3.3啟用自定義解鎖界面

啟用自定義解鎖界面的關鍵代碼為[6]:

public void dialogwindow(String dig_title,String tip,final int id){LayoutInflater newfactory=layoutInflater.from(this);

finalViewDialogViewShow=newfactory.inflate(R.layout. layout_phone_dialog,null);

TextView textViewshow=(TextView)dialogViewshow. findViewById(R.id.layout_phone_lock_dialog_tip);textViewshow.setText(tip);textViewshow.setTextColor(Color. WHITE);

AlertDialog digaction=new AlertDialog.Builder(this). setTitle(digaction_title).setView(DialogViewshow). setPositiveButton("確定",new DialogInterface.OnClickListener(){public void onClick(DialogInterface dialog,int which){

Intent intent=null;if(id==0){(new InitData(mContext). initApp();intent=new Intent(mContext,LockService.class);}else{intent=new Intent(mContext,PemoLockService.class);}new topElseService(mContext);startService(intent);dialog.cancel();

}).setNegativeButton("取 消 ",newDialogInterface. OnClickListener(){@Override

public void onClick(DialogInterface dialog,int which){dialog.cancel();}}).create();digaction.show();}

3.4交互式處理的實現

交互式處理的關鍵代碼為:

public void unlockThead(){threadunlock=new Thread(){public void run(){

while(sharedPreferences.getBoolean("flag",true)&& haredPreferences.getString("answer","").equals(anwser){try {sleep(1000);}catch(InterruptedException e){}String tempString =edit_one.getText().toString().trim();

if(tempString.length() >=anwser.trim().length()){InputMethodManagerInputMethodManager;mInputMethodManagerview=(InputMethodManager)mContext. getSystemService(Context.INPUT_METHOD_SERVICE);

mInputMethodManager.hideSoftInputFromWindow (GamePatternIdiomsActivity.this.getCurrentFocus(). getWindowToken(),inputMethodManager. HIDE_NOT_ALWAYS);Message message=new Message();

message.what=tempString.equals(anwser.trim()|| tempString==anwser.trim()?true:fasle;mHandler. sendMessage(message);if(message.what==1){editor.putBoolean ("flag",false);editor.commit();}}}if(thread.interrupted(){thread. interrupt();}}};}

4 程序運行及實驗測試

經過測試,該應用程序能正常執行。如圖4所示。

圖4 程序運行效果圖

在測試過程中,本應用程序的關鍵在于提取SQLite數據庫中數據的耗時情況,其統計記錄如圖5所示。

實驗結果分析,由于程序中使用單個數據表,在執行查詢時,使用隨機查詢方式[7]:select*from vocabulary order by RANDOM()limit 1

圖5 讀取SQLite數據庫中數據的耗時

以上SQL語句的執行中,根據數據表主鍵ID遞增的順序,由SQLite的兩種檢索數據方式中的二分查找可以快速抽取出數據,因此在檢索中消耗時間相差較小。

5 結束語

該應用程序以幫助在校學生群體的用戶記憶英文單詞為目的,對Android系統鎖屏功能進行了改進,設計實現了依據英文單詞的含義,對英文單詞填空的交互式屏幕解鎖功能,實驗測試表明,本方案可以對傳統解鎖模式中密碼單一性向多樣化擴展,具有一定的實用價值。以此推廣,可以為其他的用戶群體服務為目的而設計相應的解鎖程序,由此,對應用程序的功能拓展、資源占有、SQLite查詢優化等問題還可以作進一步的研究。

[1]馮玉平,王曙光.基于Android的手機定位軟件[J].計算機與現代化,2015(2):11-13.

[2]林培杰,朱安南,程樹英.Android數據庫SQLite性能優化[J].計算機系統應用,2014(12):193-196.

[3]鄭行雙.基于MVC的Android與Web雙模式教學平臺的設計與實現[D].大連:大連理工大學,2013.

[4]王艷敏,李永忠,呂少偉.Android平臺下文件透明加密技術的研究與實現[J].計算機技術與發展,2014(8):137-140.

[5]張慶陽,楊陽,程久軍,等.基于手機動態密碼的計算機使用權限管理機制[J].信息網絡安全,2014(8):46-51.

[6]石艷敏.一種高效的計算機聯鎖軟件測試方法[J].鐵路計算機應用,2013(12):50-54.

[7]沈美,于翔.基于SQLite數據庫的安卓日程管理系統的設計與開發[J].電子技術與軟件工程,2014(12):216-217.

The application research on the human computer interaction screen unlocking function under Android

HE Jian-ying,YUAN Xiao-yan,TANG Qing-song
(College of Computer,Sichuan University of Arts and Science,Dazhou 635000,China)

This design will change the traditional unlocking pattern by forming English word randomly as password in the view of the practical application of the unlocking of intelligent terminal equipment.It is a set of humanized platform of screen unlocking of human computer interaction in JAVA by storing data in SQLite database,which can save time on searching data in the use of the binary search of SQLite to generate password quickly.It has been proved by experiment that this design can realize the interaction between human and computer and fulfil the unlocking function effectively.

SQLite database;human computer interaction;MVC;binary chop;unlock

TN602

A

1674-6236(2016)13-0004-03

2015-07-13稿件編號:201507085

四川省教育廳項目(15ZB0324)

賀建英(1979—),女,四川簡陽人,碩士,講師。研究方向:軟件技術,數據挖掘,物聯網。

猜你喜歡
界面數據庫用戶
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
數據庫
財經(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
主站蜘蛛池模板: 日本国产精品一区久久久| 全部免费特黄特色大片视频| 99偷拍视频精品一区二区| 伊在人亚洲香蕉精品播放| 欧美亚洲一区二区三区在线| 看国产一级毛片| 欧美成人精品一级在线观看| 亚洲色图欧美| 91精品最新国内在线播放| 久久综合国产乱子免费| 国产精品色婷婷在线观看| 亚亚洲乱码一二三四区| 伊人中文网| 亚洲国产日韩一区| 无码免费视频| 免费在线观看av| 无码有码中文字幕| AV天堂资源福利在线观看| 香蕉综合在线视频91| 亚洲综合久久一本伊一区| 亚洲欧洲日产无码AV| 九色综合视频网| 综合亚洲色图| 九九热视频在线免费观看| 三区在线视频| AV在线麻免费观看网站| 99热最新网址| 亚洲资源站av无码网址| 欧美一级色视频| 日韩人妻精品一区| 久久久久九九精品影院| 欧美性爱精品一区二区三区| 成人免费一区二区三区| 欧美成人第一页| 亚洲人成网站18禁动漫无码| 国产午夜无码片在线观看网站| 女同国产精品一区二区| 久久综合色视频| 91成人精品视频| 国产在线观看成人91| 国产欧美视频在线| 色亚洲成人| 中文字幕佐山爱一区二区免费| 久久久91人妻无码精品蜜桃HD| 精品第一国产综合精品Aⅴ| 伊人久久福利中文字幕| 日日拍夜夜嗷嗷叫国产| 2021国产乱人伦在线播放| 亚洲日韩久久综合中文字幕| 国产精品va| 综合色88| 99热国产这里只有精品9九| 国产超碰一区二区三区| 666精品国产精品亚洲| 国产熟睡乱子伦视频网站| 成人福利在线观看| 99视频在线免费| 一级一级特黄女人精品毛片| 亚洲第一极品精品无码| 国产人人干| 露脸国产精品自产在线播| 国产成人AV综合久久| 国产麻豆永久视频| 香蕉久人久人青草青草| 亚洲国产成人精品无码区性色| 夜精品a一区二区三区| AⅤ色综合久久天堂AV色综合| 国产视频你懂得| 波多野结衣中文字幕久久| 欧美成人午夜影院| 午夜视频日本| 国产福利观看| 日韩久草视频| 在线观看无码a∨| 国产无码高清视频不卡| 亚洲国产亚洲综合在线尤物| 无码网站免费观看| 91年精品国产福利线观看久久| 欧美一级高清视频在线播放| 2020极品精品国产 | 久久精品aⅴ无码中文字幕| 亚洲一区免费看|