记录一下开发选择文本朗读的安卓App的过程
开发缘起
近年来年齿渐衰,老眼昏花,看网页已颇感吃力。不得已把字体放大再放大,但长时观看仍感眼睛疲劳。因此想找一个可以随时朗读手机上看到的文字的App。网上找了一圈没有找到适用的、满意的。找到过程中发现苹果的iSO系统有一个“朗读所选项”的功能,我使用的安卓系统好像没有这个功能。
于是我想是不是可以自己开发一个App实现这个功能。可是我从来没有开发安卓App的经验,也不会JAVA语言,行吗?不过我想我年轻的时候玩过Delphi,现在也时不时搞些vba,js等小玩意,通过网上查找一些教程,应该行吧。
开发过程
首先我上网找了开发安卓App所需的软件,现在主流应该是Android Studio。并罗列了我需要实现的功能:
- 从其他App中把选中的文字转移到我的App;
- 朗读文本;
- 编辑文字。
根据这些主要功能,我上网查找了相关实现的源代码,感觉还行,不复杂。于是安装Android Studio,安装JAVA环境,开干。
新建工程需要一个名称,想了想觉得叫”随手读“比较好,英文就叫HandySpeak。
然后首先是界面,比较简单,上面文本框,下面一个播放按钮。上网查了安卓的布局原理,自己试来试去,基本实现了。2天以后,终于实现了App的基本功能。
试用过程中,发现文本框滚动较慢,没有其他软件中滚动的丝滑感,而且一按到文本框就弹出一个键盘,相当不爽。想到应该默认文本框不可编辑,双击进入编辑状态。于是又是网上搜搜搜,实现了我要的效果。
再想到应该实现从文本的指定位置朗读功能,希望能从滚动到的第一行开始朗读。这个功能一开始不知道怎么搜,后来终于也搜出了些结果,知道应该怎么实现该功能了。
经过一周多的开发调试,软件终于基本实现了我希望的功能。试用了几天效果不错,心里很高兴,想把他分享出来。看了一下网上发布App的地方,大多要上传身份证等,觉得麻烦。因为知乎用的较多,就把这个软件发布在这里了。(这是不是第一个在知乎首发的App^皿^)
总之,这个App很简单,主程序300行不到,基本通过网上现学的知识,把他实现了。
如果有哪位朋友使用了这个App,感到有哪些欠缺的地方,欢迎提出宝贵意见。我水平较渣,如果力所能及,意见又比较符合我的感觉,我会想办法更新完善。
附:随手读App说明
本软件实现了朗读其他App中的可选择文本的功能。
使用方法:
在其他App中选中待朗读文字,选择弹出菜单中的“随手读”项,可以把选中的文字显示在随手读App中,按播放即可朗读文字。
也可以在选中文字后,选择弹出菜单中的“分享”项,再选择“随手读”应用,与上面一样可以把选中的文字显示在随手读App中,按播放即可朗读文字。
上述两种操作的区别是:选“随手读”只能处理大约1000汉字以内的文字,而选“分享”则可以处理多得多的文字(具体有没有限制没有测试)。估计前一种情况是由于目前安卓系统的限制。所以朗读大量文字请优先选用“分享”功能。
为了方便实现从文本中间的某个地方开始朗读的功能,朗读前可以先滚动文本显示区到你希望朗读的地方,将从显示的第一行开始朗读。
菜单“系统TTS设置”可以进入安卓系统的文字朗读设置功能,方便你设置朗读的引擎、语言、读速等各种参数。
如果不能朗读中文,需要你安装安卓中文朗读引擎,如“讯飞语记”等。
默认文本区不可编辑。双击可以进入编辑状态。按手机回退键可以退出编辑状态。
下载地址:
App下载地址
记录一下开发选择文本朗读的安卓App的过程相关推荐
- 开发自己的第一个安卓app
开发自己的第一个安卓app 在开发安卓app的时候,首先我们需要配置一下电脑的开发环境.到jdk官网下载最新版本的jdk安装包. Window64位下载地址:http://download.oracl ...
- Android:安卓APP启动过程简介
你打开一个安卓系统 它的界面是Launcher 进程,它不断的检测用户的触摸落在哪个APP上面,如果你的触摸落在空白它不做处理,你要滑动他就给你滑动 当用户触摸这个app的时候, 他会进行下面的流程 ...
- 安卓开发环境的搭建(安卓app开发流程)
1.下载并安装JDK Android开发需要使用Java语言,因此需要先安装JDK(Java Development Kit).可以在Oracle官网上下载适合自己操作系统的JDK. 2.下载并安装A ...
- 手机APP开发:学JAVA转安卓APP开发是不是很容易?
成都亿合云商小编为您分享:Android开发是以Java语言为基础的,Android 虽然使用Java 语言作为开发工具,但是在实际开发中发现,还是与Java SDK 有一些不同的地方.Android ...
- 软银开放Pepper开发,给机器人写安卓App是怎样一种体验?
日本软银推出的Pepper智能机器人 新浪科技讯 北京时间5月19日下午消息,谷歌Android移动操作系统的触角正在不断扩大,从今天开始,开发者可以为日本电信公司软银的Pepper人形机器人设计An ...
- 搭建Android开发环境 以及 ionic 编译安卓app步骤
1. 下载安装JDK 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...
- Android:安卓APP开发显示一个美女,安卓APP开发显示两个美女
控件的宽度 android:layout_width="match_parent" 控件的高度 android:layout_height="match_parent&q ...
- 切水果安卓APP逆向过程报告----安卓逆向入门
一.准备工作 下载切水果大战原版.apk. 链接:https://pan.baidu.com/s/18N_Lg8C4O5D1J7cbt99W6Q?pwd=p625 提取码:p625 开始游戏 找找有什 ...
- 安卓 App 库存系统开发 开发成本估计
一个客户想外包开发一个使用超高频 RFID 安卓 App 系统开发 需要预估算一下开发成本及时间 需要只需要几项基本功能,同时有特殊要求 基本功能 需要盘点功能 需要加 Tag 功能 需要网页可以用 ...
最新文章
- 关上Deepfake的潘多拉魔盒,RealAI推出深度伪造视频检测工具
- 《交互式程序设计 第2版》一2.7 作用域
- 创建一个springMVC项目总结
- Python-GUI PyQT5编程:QTdesigner设计工具及UI转换py文件
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
- 2020蓝桥杯省赛---java---B---1(门牌制作)
- java servlet spring_带着新人简单看看servlet到springmvc
- matlab内存管理工具,[转载]MATLAB内存管理
- 表单提交中文时出现乱码的问题
- AEC、AGC、ANS是什么意思?
- c 字符输入与验证,毁人不倦
- 录音转文字工具,支持6大语音识别引擎识别,非常好用的网赚工具!
- SpringBoot+海康威视摄像头实现在前端的预览
- 编译原理———词法分析器
- FTP建议使用教程——以Xftp7为例
- linux显示点阵字体,使用文泉驿点阵字体解决Linux中文化问题
- 百度地图经纬度转腾讯/高德
- Oracle数据库基础(二)
- PP-OCR论文翻译
- 产品经理(21) #数据分析