开源安卓APP - 咕咚翻译
HopLMAV
8年前
<p><a href="/misc/goto?guid=4959671154079892950"><img alt="icon" src="https://simg.open-open.com/show/3f87c66f5fecaaa4216084e9bd48e7fe.png"></a></p> <h2>介绍</h2> <p>一个实现『划词翻译』功能的 Android 应用 ,可能是目前 Android 市场上翻译效率最高的一款应用。</p> <p><a href="/misc/goto?guid=4959671154168552560"><img alt="shot" src="https://simg.open-open.com/show/71a3a1795a888d3178ddd99a8055d2c7.gif"></a></p> <h2>待完成功能</h2> <ul> <li>单词显示框支持沉浸式,覆盖状态栏显示。</li> <li>单词发音</li> <li>使用 Github 做自动更新</li> <li>不支持谷歌翻译,如果有人有兴趣添加谷歌,必应翻译,欢迎PR。</li> <li>显示单词信息时增加音标</li> <li>生词本为空时的提示信息</li> </ul> <p><code>Note:</code>想要参与贡献代码的同学,请在 develop 分支上操作,欢迎参与,可以提前在 issue 中交流自己要修改的功能模块,同时也欢迎来<a href="/misc/goto?guid=4959671154243705984">Google+社区</a>一起讨论 咕咚翻译。</p> <h2>缘起</h2> <p>自己经常在手机上会阅读一些英文的技术 blog 或者文档,经常会遇到陌生的单词,想必大家都有类似的经历,一般的,如果是上班期间,我可能会打开谷歌翻译,然后查词,但是当你不在电脑旁,就只能通过手机上的翻译软件来翻译生词,所以这时我们通常遇到生词会这样操作,长按生词、选择复制、点击 Home 键、找到翻译 App,有道翻译或者谷歌翻译之类的,然后长按输入框,选择粘贴,此时你才可以看到那个生词的意思。其实这是一个非常考验用户耐性的事,连续操作几次,不烦才怪呢。</p> <p>我也是,自己以前在 Medium 上阅读文章时经常做这样的事,后来我想能不能简单点呢,所以就有了咕咚翻译这个 App,咕咚是我的网名呢~</p> <h2>讨论/发声</h2> <p>个人博客上<a href="/misc/goto?guid=4959671154326889470">关于咕咚翻译的介绍</a></p> <p>V2EX 上对 App 的讨论 <a href="/misc/goto?guid=4959671154398648620">咕咚翻译</a></p> <p>微博上<a href="/misc/goto?guid=4959671154486123003">关于咕咚翻译的讨论</a></p> <p>Google+ <a href="/misc/goto?guid=4959671154243705984">咕咚翻译社群</a></p> <h2>已知 Bug</h2> <ul> <li>查词时,输入框下面应该会显示"查词中...",目前不能显示出来</li> <li>连续两次复制单词,程序奔溃。</li> <li>在本应用外收藏成功单词后,没有成功提示</li> </ul> <h2>技术点</h2> <ul> <li>1、全程使用 <a href="/misc/goto?guid=4958870694214783028">Dagger2</a> 对项目进行类依赖管理</li> <li>2、项目使用标准的 MVP 架构,<a href="/misc/goto?guid=4959671154601692111">关于 MVP 的一篇博客</a></li> <li>3、实现对粘贴板的监听以及访问</li> <li>4、无需权限显示悬浮窗</li> <li>5、<a href="/misc/goto?guid=4958865750209621132">RxJava</a> 的使用</li> <li>6、使用 <a href="/misc/goto?guid=4958964956869128717">Retrofit2</a> 进行网络请求</li> <li>7、开机自启动</li> <li>8、泛型</li> </ul> <p><code>Note</code> 3、4都是借鉴自<a href="/misc/goto?guid=4959669407627955893">廖祜秋</a>的开源项目<a href="/misc/goto?guid=4958970156823538246">android-UCToast</a>,感谢~</p> <h2>更新日志</h2> <h3>V1.0.0</h3> <ul> <li>设计: 首页大改版,使用 MaterialDesign 样式重新设计了首页。Thanks @TonyLOfficial(03-05)</li> <li>新增: 划词翻译开关,你可以关闭划词翻译功能了。(03-04)</li> <li>新增: 首页支持灵活的翻译引擎切换(03-07)</li> <li>新增: 长按翻译结果区域,可以选择复制(03-07)</li> <li>更新: 关闭长按句子可以翻译长句的功能。但是主界面支持句子翻译,仅限百度翻译。(03-07)</li> <li>优化: 点击翻译按钮后,让翻译按钮不可用(03-09)</li> <li>优化: 在咕咚翻译主界面,长按复制文本,不再会弹出顶部提示框(03-07)</li> <li>优化: 单词本被移动到了 Toolbar 上面展示。(03-05)</li> <li>更新: 支持 Android 4.1及以上的版本 (03-05)</li> <li>修复: 翻译时不显示 "翻译中" 的提示问题,Thanks @leizhiyuan。(03-04)</li> <li>优化: 单词本为空时显示一个为空提示语,Thanks @leizhiyuan。(03-04)</li> <li>修复: 点击清除按钮后,还可以点击收藏 (03-05)</li> </ul> <h3>V0.6.3</h3> <ul> <li>新增: 划词翻译开关,你可以关闭划词翻译功能了。(03-04)</li> <li>优化: 单词本被移动到了 Toolbar 上面展示。(03-05)</li> <li>修复: 翻译时不显示 "翻译中" 的提示问题,Thanks @leizhiyuan。(03-04)</li> </ul> <h3>V0.6</h3> <ul> <li>大幅提高定时设置的稳定性,可以在首页灵活设置显示开关,以及显示间隔时间等。</li> <li>加入 <a href="/misc/goto?guid=4958964238145818946">Once</a> 库用于简化一些一次性操作</li> <li>加入了 BugHd 作为 bug 统计工具</li> <li>使用 MVP 对项目进行重构</li> <li>使用 Dagger2 进行依赖管理</li> </ul>