蔣權 林慶 程立
摘 ?要: 針對在Android操作系統中使用跨平臺轉發的傳統方法造成的諸多不便問題,該文提供一種APP開發設計方案,并對其特點分析研究,以簡潔的界面與個性化設計為用戶在Android跨平臺文本信息的轉發操作中提供方便快捷的操作。
關鍵詞: Android;第三方轉發;跨平臺;APP設計
中圖分類號: TP319 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.05.031
本文著錄格式:蔣權,林慶,程立. 基于Android的跨平臺文本信息轉發的APP設計與研究[J]. 軟件,2019,40(5):163166
【Abstract】: Aiming at the inconvenience caused by the traditional method of cross-platform forwarding in Android operating system, this paper provides an APP development design scheme, and analyses its characteristics. It provides users with convenient and fast operation in Android cross-platform text information forwarding operation with concise interface and personalized design.
【Key words】: Android; third-party forwarding; cross-platform; APP design
0 ?引言
手機QQ、微信、新浪微博等社交應用APP以智能手機為載體作為當今娛樂與信息通信的主要工具,每時每刻海量的信息通過它們傳送,因其快捷的信息共享與便捷的服務擁有龐大的用戶基數,而同一用戶使用多個社交平臺提供的應用APP的現象已成常態。但在人們需要在不同的社交應用APP之間跨平臺進行文本信息的轉發操作時,現有可供選擇的方法有限且都存在較大局限性,不足以滿足人們方便快捷的需求。
例如,需要將存在手機QQ聊天紀錄的一條文本信息轉發至微信好友,有兩種傳統方法可以實現:
憑記憶手動完成全部操作,具體可分三步:①通過記憶在手機QQ上聊天信息查看界面記下此信息;②切換到對應微信好友聊天界面,③在文本框中輸入所記信息后發送。其可行性取決于文本的長度與人的記憶,微信好友接收的信息的正確性難以保證,所以,此方法操作不僅費時,而且結果可能不盡人意。
使用依賴于系統剪貼板的復制粘貼功能簡化部分操作,具體可分三步:①通過長按操作在手機QQ聊天信息查看界面選擇復制此信息;②切換到對應微信好友聊天界面;③在文本框中長按或查看剪貼板粘貼所復制的信息后發送。與第一種方法類似,雖有效地利用了系統工具簡化了操作,但仍然存在操作不便且需耗費較多時間的問題。
此外,當需要進行多條文本信息跨平臺轉發,若采用上述任一傳統方法,需要在兩個應用平臺的界面之間來回往復地切換,其操作之不便,過程之繁瑣,耗時之久顯而易見。針對上述現狀,該文提供一種APP開發設計方案,并對其特點分析研究,以簡潔的界面與個性化設計為用戶在Android跨平臺文本信息的轉發操作中提供方便快捷的操作。
1 ?文本信息轉發APP軟件的相關技術分析
1.1 ?軟件的可行性分析
Android是Google公司發布的基于Linux內核、專門為移動設備開發的平臺,其中包含操作系統、中間件、用戶界面、應用軟件,是一個完全免費的開源的手機平臺[1]。Android的APP開發使用Java作為主要程序開發語言,該APP利用Android Studio集成開發環境作為開發工具。
基于Android的跨平臺文本信息轉發APP所采用的方法結合了上述兩種傳統方法的特點,對于單條文本信息的跨平臺轉發,與使用傳統方法進行操作比較,所需操作的步驟數量減少不多,但保證了文本內容的正確無誤,可靠性提升。而對于多條文本信息的跨平臺轉發利用此APP可以一步操作實現,用戶只需要完成待轉發文本內容的選取和轉發對象的選擇,省略了傳統方法方法必須要進行的界面來回切換操作,此外,用戶可根據需要,通過隨時都能打開的懸浮窗按鈕對文本信息進行編輯,因繁瑣的界面切換操作的取消,可顯著提高轉發效率。
Android四大基本組件包括:活動(Activity),提供人機交互可視化界面,是 Android 系統中最重要的也是最基本的組件[2];服務(Service),后臺運行服務,不提供界面呈現;廣播接受器(Broadcast Receive),用于接收廣播;內容提供者(Content Provider),支持多個應用中存儲和讀取數據,相當于數據庫。利用Intent可在這些組件中進行消息通信,可以方便地啟動組建和傳輸數據,簡化了跨進程通信地難度[3]。在該APP開發方案中,以Activity為基礎,提供文本信息的遍歷、編輯以及系統設置等人機交互界面,以Service為核心,提供創建懸浮窗、對剪貼板動態監控等相關服務。根據Google提供的API文檔,因該APP需用到與懸浮窗相關的開發技術,而不同版本的API對懸浮窗的屬性要求不同,所以需進行懸浮窗適配。另外,對市面上不同廠商的Android手機也需進行與懸浮窗有關的適配。
1.2 ?軟件功能分析
通過對Android系統的結構分析和用戶的基本需求進行功能性分析,得出具體的功能如下:(1)快速獲取文本:用戶通過長按操作復制文本信息后,該APP后臺獲取文本并保存;(2)文本再編輯:用戶對獲取的文本可進行查、改、刪操作;(3)添加文本信息:用戶可直接添加并編輯所需的文本內容;(4)快速喚出文本編輯窗口:用戶通過點擊懸浮窗按鈕在Android系統任一界面喚出文本信息編輯的窗口;(4)一鍵轉發:用戶可將編輯成功的文本一鍵轉發至指定的第三方平臺;(5)快速跳轉至QQ或微信界面:在其它任一界面,用戶可拖動懸浮按鈕至相應位置實現界面的跳轉;(6)文本收藏夾:用戶可將指定文本添加至收藏夾保存。
2 ?文本信息轉發APP軟件的系統設計
2.1 ?軟件框架設計
基于Android的跨平臺信息轉發的APP以清晰的三層結構進行架構,整體架構分為數據訪問層、業務邏輯層以及表現層,有利于實現“高內聚,低耦合”[4],提高各模塊的獨立性,如圖1所示。
表現層位于三層邏輯架構的最上層,由Android移動設備進行訪問,為用戶提供一種交互式操作的界面。例如:用戶需要對某一文本信息修改時,會根據所選文本信息跳轉至文本編輯界面;需要將某一文本添加至收藏夾或刪除,通過滑動對應文本進行操作;需要將某一文本跨平臺轉發,通過懸浮窗的一鍵轉發按鈕實現快速轉發操作,等等。業務邏輯層是處理APP業務需求的一層,將用戶需要的對文本信息的增、刪、改、查以及跨平臺轉發等功能進行處理。數據訪問層作為系統的基礎底層支柱,將用戶執行操作過程中產生的文本數據以及對該APP的系統設置數據存儲在數據庫中,并對數據庫進行封裝操作,提供訪問數據庫的接口給手機APP。
2.2 ?功能模塊的設計
通過對該APP開發過程中所運用的技術分析,將關鍵技術提取為以下5點。
(1)基于Server的懸浮窗設計
懸浮窗在Android操作系統中任一APP應用界面都可顯示,便于用戶在任一應用界面隨時可以通過懸浮窗按鈕對文本信息進行操作或實現轉發操作。其分為兩級窗口視圖,一級視圖(小懸浮窗)可用于拖動實現界面跳轉與單擊喚出二級懸浮窗窗口的功能,二級視圖主要實現對文本信息的選擇與編輯等相關功能。
懸浮窗主要通過WindowMananger類的服務與綁定的Service互相配合實現,WindowManager類主要用來管理窗口的一些狀態、屬性、view增加、刪除、更新、窗口順序、消息收集和處理等,是外界訪問Window的入口,Android中所有的視圖都是Window來呈現的[5]。同時,懸浮窗為在所有應用之上顯示控件需要配置權限。
(2)基于Activity的用戶操作界面設計
該APP主界面利用Fragment類提供文本信息查看界面、收藏夾界面和系統設置界面,實現界面的快速切換。而文本信息查看界面與收藏夾界面類似于Android手機系統自帶的記事本文本信息查看界面,利用ListView呈現文本信息選擇目錄界面,當Android加載一個Listview的布局時,通常是通過getView()方法來獲取該View的各種參數[6],而ListView最重要的一個功能就Adapter,在用戶往ListView添加數據后,需調用Adapter的notifyData-SetChanged()方法刷新ListView界面[7],單擊相應的表項可跳轉至文本信息編輯界面實現相應的文本編輯操作。為滿足用戶方便快捷的操作,利用Horiz?ontalScrollView類自定義視圖實現對文本信息的側滑操作。
文本信息查看界面與收藏夾界面主要是提供給用戶操作文本的人機交互界面,系統設置界面包括懸浮窗開關按鈕與其它系統設置按鈕。
(3)基于文本信息保存功能的設計
為實現從剪貼板獲取的文本信息與收藏夾中文本信息的長久保存以及操作過程中文本信息的動態保存,利用SQLiteOpenHelper類實現數據庫存儲技術,對數據庫進行寫數據,數據搜索和刪除數據操作,保證數據的穩定存儲以及傳輸[8],并建立三張表(Table)分別存儲三種文本信息,并實現增、刪、改、查操作,每張表(Table)包括文本信息內容(Text)、唯一標識符(隨機獲取)、日期(年:月:日:時:分:秒:毫秒)等屬性。
文本信息查看界面的文本來源包括該APP通過后臺實時獲取的系統剪貼板文本和用戶添加文本,收藏夾界面文本來源包括用戶自定義的常用語句、重要紀錄等文本,文本信息查看界面的文本可以根據用戶需求添加至收藏夾保存。根據分類,該APP上所有的文本會自動存儲至相應的表(Table)中。
(4)基于剪貼板文本信息實時獲取的設計
為了動態獲取用戶隨時都能通過長按操作選擇復制的文本內容,可利用ClipboardManager類對剪貼板操作的功能與Servive后臺監控的操作特性。即:Service負責每隔一段時間查看剪貼板首條文本信息是否發生變化,如果是,則獲取并添加至數據庫,以至用戶可以在文本信息查看界面中查看所獲取的文本信息后進行有關操作。
(5)基于跨平臺的文本信息快速轉發功能的 設計
文本信息轉發或分享至第三方平臺有三種可利用的方法:①調用系統的分享轉發功能;②通過第三方SDK,如ShareSDK,友盟等;③自行使用各自平臺的SDK,比如QQ,微信,微博各自的SDK。其中,后面兩種方法需到相應平臺注冊開發者信息和有關申請后再導入SDK包才能使用,為提高APP開發效率,現使用第一種方法,因為Android自帶的系統調用分享轉發功能穩定可靠、使用簡單快捷,雖個性設計不多,但已夠滿足該APP的開發需求。
3 ?結語
基于Android的跨平臺文本信息轉發的APP設計是從傳統跨平臺轉發方法為出發點,簡化了操作流程中部分繁瑣過程,只保留其過程的必要操作,特別是對于多條文本信息的跨平臺轉發效果明顯,并利用了懸浮窗隨時可操作的便捷性,實現文本快速編輯與快速轉發的操作,在Android智能手機設備得到了廣泛應用和普及的時代背景下[9],該APP的實現減少了人力操作的繁瑣過程消耗,給人們帶來更好使用手機的體驗。另外,該APP基于現實需求開發,采用了結構清晰的三層架構,層次清晰耦合度低,不僅方便簡潔,操作容易,還順應了當今時代人們快節奏的生活方式,一定程度上將Android操作系統中不同應用平臺之間的信息交流聯系在一起。上述方案只是針對文本的跨平臺轉發,對與圖片、視頻的跨平臺轉發,原理與本方案類似,有待進一本對本方案改善。
參考文獻
[1] 明日學院. Android開發從入門到精通[M]. 北京: 中國水利水電出版社, 2018:1-2.
[2] 王飛雪. 基于 Android 平臺的手機助手系統的設計與實現[D]. 吉林:吉林大學, 2017: 7-8.
[3] 唐俊杰. 面向Android系統中Intent通信機制的漏洞分析框架及其應用[D]. 山東:山東大學, 2017: 1-2.
[4] 許莉麗. 基于移動平臺的學生請假審批系統設計與實現[J]. 無線互聯科, 2015(17): 50-51.
[5] 任玉剛. Android開發藝術探索[M]. 北京: 電子工業出版社, 2015: 294.
[6] 毛昊. 一種服務于 Android 移動設備的自適應滾屏技術[J]. 軟件, 2018, 39(3): 145-149.
[7] 何紅輝, 關愛民. Android源碼設計模式解析與實戰(第2版). [M]. 北京: 人民郵電出版社, 2017: 231-232.
[8] 陸相任. 基于 Android 平臺開發的師生學習交流APP[J]. 軟件, 2018, 39(4): 21-23.
[9] 閆學順, 王景暉, 張俊杰. 基于Android的智能醫療管理軟件設計方案研究[J]. 軟件, 2018, 39(7): 33-36.