かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

Android RSSリーダーのライブラリ。 Rss-Manager

ラオス語学習アプリで、ラオス語の文を毎日表示させるようにしたいと思い、RSSリーダーのライブラリをちょっと物色。いくつかあったが、build.gradeだけで簡単に取り込めるものが良かったので、Rss-Managerを試してみた。github.com

 

とりあえず、使ってみた感じではまぁまぁ悪くないように思う。

 

Android Google翻訳を呼び出すIntent。

marshmallow以降で、アプリ内翻訳が出来るようになったが、まだまだAndroid5が多い。ぼくのケータイもそうです。

で、今ラオス語お勉強アプリを作っていて、ラオス語の文と、日本語訳を並列して表示する画面を作っている。WebViewでGoogle翻訳サイトを出そうとしたけど出ない。普通にブラウザを呼び出せば表示される。Google翻訳自体を表示させるにはどうしたらいいかと思って、ちょっとやってみた。

Google翻訳アプリのIntentの扱いはちょくちょく変わっているらしく、StackOverflowでも結構盛り上がっている。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setPackage("com.google.android.apps.translate");

Uri uri = new Uri.Builder()
.scheme("http")
.authority("translate.google.com")
.path("/m/translate")
.appendQueryParameter("q", "ສະບາຍດີ")
.appendQueryParameter("tl", "jp") // target language
.appendQueryParameter("sl", "lo") // source language
.build();
intent.setData(uri);
startActivity(intent);

 

stackoverflow.com

緯度経度の豆知識。

SQLiteで位置情報にクエリを投げたいときに、こうやったら出来るよ、って書いてある。まだ試してないから真相は不明。

stackoverflow.com

 

あと、osmdroidで緯度経度をとったら、メソッドの末尾にE6ってついてた。これもちょっと謎だったけど、どうやら、1,000,000をかけるってことらしい。確かにそっちの方が数字として分かりやすい。

stackoverflow.com

Android からGoogleの翻訳機能を使う。

語学の学習アプリにラオス語のサンプリング&翻訳機能を付けたいと思っている。

で、まず思ったのは、WebViewでGoogle翻訳のWebサイトを表示するということ。でもこれは使用不能みたい。Google翻訳を表示するものの、翻訳の入力欄は表示されない。Google検索は使えてた気がするけど、、、。残念。

このサイトの話と関係があるんだろうか。

techracho.bpsinc.jp

次に、AndroidアプリのGoogle翻訳のTap to translateの機能を使う。これなら、Google

翻訳の入っているAndroid端末で使える。コピーするアクションが必要なので一手間かかるが、悪くはない。

www.itmedia.co.jp

あとは、Android6から使える、アプリ内翻訳機能。これはかなり良い感じだが、まだAndroid6以降限定の機能を実装するまでは至らない。

qiita.com

というわけで、Tap to translateの機能を使う予定。

字幕付きの動画を自分のPCで表示する。

CourseraやMicrosoftのオンラインコースでいくつか動画がダウンロードできるんだけど、字幕は別ファイルになっている。ローカライズが必要だからそれはそうか。で、動画はmp4、字幕はvttファイルでダウンロードできる。これを動画プレーヤーで表示しようと思っていくつか試したけど、なかなか引っかかったので覚書を、、、。

Windows Media Player
ネット上では動画をaviにして、字幕のファイル形式をsrtにしたらできるとあったけど、動画のボリュームが大きいし、毎回変換するの嫌だからやめた。

GOM Player
字幕ファイルは認識してるっぽいものの、上手く表示されない。あと毎回お知らせタブが表示されるのがうっとうしい。というわけで諦めた。

VLC media player
ちょっと怖いな~、と思って敬遠してたけどこれだとサクッと字幕が表示出来た。

f:id:name_untitled:20170312153309j:plain

Chrome
index.htmlを書いてその中でvideoタグを書いて、表示させてみた。そもそもWebVTTだからこれが王道かと思って。そしたら、字幕の言語のオプションは表示されたけど、そこから先は表示されない。断念。

FireFox
これもChromeと同じようにvideoタグを書いて、表示させてみた。とりあえずはうまく行く。でも、ストリーミングしてるわけじゃないし、ファイルが増えて手間が増えた感じ。

f:id:name_untitled:20170312153116p:plain

というわけで、VLC media playerで見るのが一番かなと、、、。

Android 雑アプリの技術的負債を返しているとこ。

かれこれ2年近く放置していたアプリに手を入れているところ。

ラオス語を勉強するアプリと銘打ったものの、機能も足りてないし、そもそも使い方も絞り込めてないアプリだったので、突っ込みどころが多い。語学のアプリにするなら、文法、語彙、発音の3つが主な機能になるが、文法は説明できるほどの知識がない。将来的に実装するにしても、他の2つもひどい。

というわけで、まずは、ラオス語既修者を対象として、以下の機能を実装することにした。
適当に拾ってきたラオス語の文章と翻訳が表示される(Android4も対象にするのでGoogle翻訳をWebViewで表示するだけ)単語のフラッシュカード機能
区別の難しい発音の聞き分けトレーニング機能

 

諸々始める前にコードのお掃除中。
Holoテーマをマテリアルテーマに変更。
GreenDaoのバージョンを最新化。
クラス名の統一。

 

GreenDaoはGitHubからサンプルコードを落として動かしてみてから、、、と思っていたらむしろそっちの方が手間で、GreenDao2で生成済みのコードにアノテーションを付けて、build.gradleの宣言を修正したら一瞬で終わった。

災害時などの多人数マッピングサービス。 OSM Tasking Manager

ニュースとかで見たことのある、地図作成を複数人でやるためのWebサービス。こんなのがあったのね。地図作成を協業するのにとても役立ちそう。地図といえば、正式の地図、Google Mapを連想するけど、こうやってOSSで地図を更新するプロジェクトが活発なのはすごくいい。

日本では熊本地震の際に地図を更新するのに使われたみたい。

f:id:name_untitled:20170310021019j:plain

 

OSM Tasking Manager -