咕咚翻譯是自己最近開發(fā)的一個實(shí)現(xiàn)『劃詞翻譯』功能的 Android 應(yīng)用 ,可能是目前 Android 市場上翻譯效率最高的一款應(yīng)用。

項目地址
目前咕咚翻譯已經(jīng)開源到了 Github 咕咚翻譯,歡迎 star,如果有 bug 或者更好的意見可以提 issue。
技術(shù)棧
因為是個人項目,所以在項目中可以激進(jìn)的使用一些前沿的技術(shù),盡管期間也遇到了一些技術(shù)阻礙,但是一切都是值得的,下面羅列一些項目中用到的技術(shù)棧??从袥]有一些是你感興趣的。
1、全程使用 Dagger2 對項目進(jìn)行類依賴管理。
2、項目使用標(biāo)準(zhǔn)的 MVP 架構(gòu)。
3、實(shí)現(xiàn)對粘貼板的監(jiān)聽以及訪問
4、無需權(quán)限顯示懸浮窗
5、RxJava 的使用
6、使用 Retrofit2 進(jìn)行網(wǎng)絡(luò)請求
7、開機(jī)自啟動
Note : 3、4都是借鑒自廖祜秋的開源項目 android-UCToast 而來,感謝~
下載
如果想第一時間體驗,移步 fir 下載頁面 鏈接
緣起
自己經(jīng)常在手機(jī)上會閱讀一些英文的技術(shù) blog 或者文檔,經(jīng)常會遇到陌生的單詞, 想必大家都有類似的經(jīng)歷,一般的,如果是上班期間,我可能會打開谷歌翻譯,然后查詞,但是當(dāng)你不在電腦旁, 就只能通過手機(jī)上的翻譯軟件來翻譯生詞,這里我們具體思考一下整個操作過程。
通常遇到生詞我們會這樣操作,
1、長按生詞
2、選擇復(fù)制
3、點(diǎn)擊 Home 鍵
4、找到翻譯 App,有道翻譯或者谷歌翻譯之類的
5、長按輸入框
6、選擇粘貼,
7、翻譯
可以看到,經(jīng)過上面漫長的7個步驟后,我們才可以查到一個單詞的意思。試想,如果連續(xù)碰到幾個不認(rèn)識的單詞,然后每次都想上面一樣操作幾次,呃呃 ~此刻的心情~

其實(shí)整個過程是一個非常考驗用戶耐性的事,我曾經(jīng)做過一次記錄,記錄自己完成上面一連串操作所花費(fèi)的時間,我對手機(jī)的操作相對比較熟練,但是也花了15秒的時間,這15秒對于一個沉浸在閱讀中的用戶來講是十分不友好的,因為他會很大幾率的打斷用戶的閱讀連貫性。
所以,我就想,我能不能做一個稍微友好一點(diǎn)的翻譯 App,能不能讓上面的步驟變得少點(diǎn),因為自己一直有這個需求,所以自己就有了做這個 App 想法,而且我一直認(rèn)為技術(shù)應(yīng)該是用來解決問題的。

咕咚來了
最終,咕咚翻譯僅僅只通過兩步就實(shí)現(xiàn)了翻譯的目的,長按單詞、復(fù)制翻譯。

就是這么簡單,此時單詞的釋義就會出現(xiàn)在手機(jī)屏幕,如下所示

同時還支持收藏功能,既然是用戶要翻譯的詞語,那應(yīng)該很可能就是陌生單詞,此時可以加入收藏到你的生詞本。方便日后查閱。
優(yōu)點(diǎn)
1、高效翻譯,及時展現(xiàn)釋義在手機(jī)界面。
2、支持多個翻譯引擎切換,目前支持百度、有道、金山。
3、方便快捷加入生詞本
不足
1、目前不支持單詞發(fā)音
關(guān)于作者
咕咚,愛折騰、愛新鮮,愛籃球。