基于Android的跨平台文本信息转发的APP设计与研究
2019-10-08蒋权林庆程立
蒋权 林庆 程立
摘 要: 针对在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.