カテゴリー別アーカイブ: Android

セカイフォン ver.4.0.0 (Next Sekaiphone)をリリースしました。 #androidjp

セカイフォン(翻訳電話)」ver. 4.0.0を公開しました。
セカイフォンは「世界中の人々のコミュニケーションの活性化に貢献できたらという思い」から公開をしているプロダクトです。Facebookページもあります。セカイフォンに少しでも共感していただけるところがありましたら、「いいね」してもらえるとうれしいです^^

また、本バージョンから、世界で困っている人たちに少しでも貢献できたらという思いから、新しい取り組みを実施することにしました。具体的には、今回多くの機能追加のほか、慈善団体への寄付を任意でお願いするというプロジェクト(Dream Project)にセカイフォンを追加します。「Dream Project」の詳細は、こちらをご参照ください。

ーーーーーーーーーーーーーーーー
※[追記]インストールに失敗する場合
一部機種でインストールに失敗することがある事象の報告を受けておりました。対処版をアップ済ですので、再度インストールをお試しいただけると助かります。大変お手数おかけしますが、よろしくお願い致します。
ーーーーーーーーーーーーーーーー

最初に、今回の追加機能をご紹介します。

  • (1)会話・通話モード中にフキだし長押しにより、会話コピー&音声再生を可能に

    同じ会話を簡単にもう1度聞きたい、クリップボードにコピーしたいという要望に対応しました。会話を行った後に、その吹き出しをロングタップすると、会話が再度読み上げられるとともに、クリップボードにもコピーされます。

     

  • (2)会話画面をフルスクリーン表示に(Android 4.4以上の端末のみ有効)

    会話画面が広く表示されるため、より多くの会話が画面に表示できるようになりました。Android4.4以上の端末でのみ、有効な機能です。

     

demomote

  • (3)履歴画面のレイアウトが崩れる場合がある問題の修正

    レイアウトが崩れてしまうことがある問題を修正しました。

    history
     

  • (4)選択している言語の国旗の背色を分かり易く

    現在選択している国旗に背景色を付けて、選択し易くしました。

     kokki

  • (5)使い方のデモ動画を確認いただけるように

    使い方を紹介した動画を準備しました。いずれも5秒程度の動画ですので、使い方が分からない場合は、ぜひご覧ください。

    startup

  • (6)着信時のノティフィケーションの表示・消去を適切なタイミングに

    着信時に表示されるノティフィケーションの表示契機を改善しました。

  • (7)会話・通話モードを長時間利用していると音声再生できなくなる場合がある問題の修正

    長く利用しても音声読み上げが正常に行われるようになりました。

  •  (8)着信通知時のノティフィケーションアイコンをグレー画像に変更

    UIガイドライン準拠しました。

 

続いて、本バージョンから採用した新しい取り組み(Dream Project)をご紹介します。以下の2つの取り組みで得られた利益の全額を慈善団体に寄付することにしました。

  • (a)アプリへの広告表示
    私にとっても苦渋の選択でしたが、アプリのフッター部に広告を入れさせていただくことにしました。ただ、この広告表示に伴う収益の全額は、慈善団体に寄付を行います。また、この広告は、次に紹介する方法に沿って寄付いただくことで、表示されなくなります。

    advertise

  • (b)アプリからの寄付
    アプリ内で寄付をしていただけるようにしました(500円、1000円、2000円、3000円、5000円、10000円)。トップ画面のサイドメニューから「寄付」を選択すると、寄付を行う画面に移動します。この画面で寄付を行っていただけます。また、寄付を行っていただいた場合は、その代わりに、アプリ内の広告表示が無効となり、より快適にご利用いただくことができます。

    donate1 donate2

# セカイフォンの詳細は、公式サイトをご参照ください。

# セカイフォンの今までの活動の経緯は、blogエントリをご覧ください。

■ダウンロードURL

https://market.android.com/details?id=org.iplatform.android.phone2

[Android Advent Calendar 2013]海外活動で経験したこと&今後に向けて。 #androidadvent2013

 Android Advent Calendar 2013の22日目担当の@korodroidです。

今年は参加予定がなかったのですが、「22日目に穴が空いてしまっている(?!)」という情報をうけ、条件反射的に急遽エントリしました(^^;サンフランシスコ時間ですとかそんなレベルではないくらい〆切から時間が経過してしまっていますが、そんな経緯があるので、ご容赦ください。

あえて技術ネタでない内容にしました。Androidに出会ったことで得た経験を紹介させていただきます。このエントリが、読んでいる皆様の参考になるところがあるとうれしいです。

  • 背景
    今年はAndroid関連の講演・プロダクト展示という目的で、海外に渡航する機会がありました。その経験を踏まえ、感じたことを書きます。
        イベント 開催地 活動目的 Special Thanks
    ①海外講演 Droidcon Paris 2013
    (2013/06)
    Paris セッション講演(Android マルチバージョニング) Droidcon Paris チーム, Paris Android User Group, 所属会社
    Droidcon Amsterdam 2013
    (2013/11)
    Amsterdam セッション講演(モバイルクロスプラットフォーム開発) Droidcon NL チーム,
    Dutch Android  User Group, 所属会社
    ②海外展示 Mobile World Congress 2013
    (2013/02)
    Barcelona プロダクト展示(Sekaiphone Multi(個人)&SekaInfo(グループ)) Sony, Sony Mobile, 日経BP, TRIROIDのみんな
    IFA 2013
    (2013/09)
    Berlin プロダクト展示(Sekaiphone Watch他(個人&グループ)) Sony, 日経BP, TRIROIDのみんな
  • 海外講演・展示で得られたこと
    多くの経験を得られましたが、一番大きいと思っているものを紹介します。
    「自分や所属チーム・組織が持っているプロダクトや技術を世界に向けてアピールし、そこで得た成果を次の活動にフィードフォワードする。」というものです。

    海外のカンファレンスや展示会で技術やプロダクトを実際に紹介し、世界中の参加者と話をすることで、想定していなかった多くのことに気付かされました。

    例えば、日本ではウケが良いサービスが、海外では今いち相手に響かなかったり、もちろん、その逆もありました。その理由も様々ですが、生活や文化的な背景が異なるため困っている、欲していることが異なっていることゆえということもありました。また、具体的は話を挙げると、サポートすべきプラットフォームの優先度が変わる(当然ながら日本とは端末OSシェアが全く違ったりするため、それを踏まえた戦略が必要とか)などがありました。
    こういった内容はインターネットでは得難い貴重な生の声なので、次の活動におおいに参考になっています。

  • 海外のカンファレンス・展示会に参加することになった場合のお勧めアクション
    カンファレンス・展示会で情報収集するのはもちろんですが、それ以外で個人的にお勧めのものを3つ紹介します。

    (1)メインカンファレンス以外のイベントに参加する。

    日本では「日本Androidの会」や「html5j」など多くの技術コミュニティが存在します。海外においても多くの技術コミュニティが存在します。各地で大きな技術カンファレンスが開催されるときには、それに近い日程で様々なコミュニティのイベントが開かれることがあります。コミュニティイベント以外にも、企業主催のものや、アイディアソン、ハッカソンと言ったものが行われることもあります。

    知らない土地で初めてのイベントに参加するのは、億劫だという人がいるかもしれません。ただ、参加してみるとそのイベントならではの発見があったり、新しい知人ができたりする貴重なチャンスであるのは間違いないです!!!もし海外に行くチャンスがあったときは、ぜひ勇気を振り絞って(?)、参加することをお勧めします。

    (2)積極的に海外の人々に話しかける。

    外国語が得意でないので、ついつい話しかけるすら億劫になってしまいがちだという人も多いかもしれません(自分もそうでした^^;)。海外にいると、目の前に外国語を話す人だらけという環境になります。このような貴重な機会は、日本にいるとまず得られません。それゆえ、これを活用しない手はないと思います。

    技術者同士であれば、自己紹介+技術テーマ的な内容で、十分に会話になったりします。自分の場合は、自作のアプリを見せたり、相手のも見せてもらいつつ、それを軸に話をしたりといったことをやったりしていました。自分は英語が得意な方ではないのですが、折れない心を持ちつつ時にはジェスチャーを交えれば何とかなるものです(多分w)。「英語力に自信がないからと言って黙って何も会話しないより、下手でも良いので自分から話してみる方がよっぽど大切!!!」と個人的には思っています。ボキャブラリーを増やしたり、きれいな英語を話すとかは、その後で全く問題ないはずです。

    (3)今後の活動にフィードフォワードする。
    海外活動は行くこと自体は目的ではなくて、あくまで手段の1つです。講演・展示の場合は、事前に自分たちの仮説と予想する反響を整理しておき、実施後はその仮説と実際の反響のギャップを図ることで、次に活かすためのヒントが得られたりします。

  • おまけ
    自分はエンジニアになったばかりの頃(今から10数年前)、自分のスキルを磨いていって、「いつか本を書いたり、海外で講演したり、自分が関わったプロダクトを海外で展示できたらいいなー。」という目標を持っていました。

    色んな仕事をやったり自己研鑽を重ねる中で、昔から持っていた思いを忘れずにチャレンジしてきたことで、少しずつですが夢が叶うようになってきました。もちろん、支えてくれた環境や、多くの活動で出会った人々や仲間のおかげであることも間違いないです。心から感謝しています。

    もちろん叶えられていない夢もあります。「ICTを使って、セカイを幸せにする。」というものです。それに向かってもっと精進したいと思っています。果てしない夢ですが、信念を捨てずに、そして、曲げずに日々努力をしていれば、少しずつ近づけそうな気もしています。そのために生き方の選択をしないといけない局面があるかもしれませんが、自分なりに頑張っていきます。

    意味不明な〆になってしまい、すいません(笑)。そして、長文にお付き合いいただきありがとうございました。

ハイブリッドアプリのUIテスト(Robotium編)

ハイブリッドアプリのUIテストを実行する方法についてのエントリです。

今回利用したテスト対象アプリ、UIテストフレームワークは、以下のとおりです。
・対象アプリ:XTranslator(ハイブリッドアプリ)のAndroid版
・UIテストフレームワーク:Robotium 4.3.1

Robotiumは3.x系の時は、サポートされていなかったハイブリッドアプリのテストが4.xから実行できるようになっていたようです。自分が公開しているハイブリッドアプリに適用したので、関連情報を紹介します。
Robotiumの使い方などについては、公式サイトなどを別途参照ください。

■テスト対象アプリ(XTranslator)
入力したテキストを翻訳するというシンプルなアプリです。
Android、iOS、Tizen、FirefoxOSに対応しています。
詳細は、こちらのエントリをご参照ください。

XTranslator

 

■テストコード(Robotium利用)

/**
* テキスト入力後、翻訳ボタンを押下し正しい翻訳結果が表示されることを確認する。
* (英語→ドイツ語の翻訳で、"bookstore"が"Buchhandlung"に翻訳されること)
*/

@Smoke
public void test_正常に翻訳できることを確認する() throws Exception {

String TEXT_INPUT = "bookstore";
String TEXT_OUTPUT = "Buchhandlung"; 

// GUI部品の表示チェック
assertTrue(solo.waitForWebElement(By.id("inputText")));
assertTrue(solo.waitForWebElement(By.id("buttonTranslate")));

// 入力エリアへのテキスト入力
solo.enterTextInWebElement(By.id("inputText"), TEXT_INPUT);
solo.sleep(3000);
assertEquals(TEXT_INPUT, solo.getWebElement(By.id("inputText"), 0).getText());

// 翻訳ボタンの押下
solo.clickOnWebElement(By.id("buttonTranslate"));
solo.sleep(5000);

// 出力エリアの内容チェック
assertEquals(TEXT_OUTPUT, solo.getWebElement(By.id("outputText"), 0).getText());

}

■テスト動画

http://youtu.be/bdFTFDl54jw

■Robotiumでハイブリッドアプリをテストする場合の補足
Robotiumの根幹をなすSoloクラスの中で、○○Web○○というメソッドが
ハイブリッドアプリのテストの際に利用できると考えれば良さそうです。
HTMLのGUI部品をID指定で選択し、クリックさせたり、テキストを入力することができます。
ハイブリッドアプリでテストしたいアクションの全てをRobotiumがカバーしているかは分かっていませんが、参考になればと思います。

My presentation file on Droidcon Amsterdam 2013 #droidcon #droidconnl

Thank you for your attending my session on Droidcon Amsterdam 2013. My session title is "Developing Cross-Platform Apps". I've already uploaded my presentation file. Sorry for the late post. Here is my document.


Also I introduced XTranslator (Hybrid App) & Sekaiphone (Native app) at my session.
The URL is here.

-XTranslator (Android, iOS, FirefoxOS, Tizen)
https://www.iplatform.org/blog/archives/1282
-Sekai Phone (Now Android only)
https://play.google.com/store/apps/details?id=org.iplatform.android.phone2

And Facebook page is here.
https://www.facebook.com/iplatform.org 
I would be glad if you push "Like" this page.

Droidcon NL 2013@Science Park Amsterdam

Droidcon NL 2013 Opening

 

I really enjoyed Droidcon Amsterdam to have talked with a lot of  people! This is my 3rd Droidcon Speech. I hope to see you again someday soon.

Best regards.

『iPhone/Android 「通知機能」プログラミング徹底ガイド』が出版されました。

 12月上旬に、『iPhone/Android 「通知機能」プログラミング徹底ガイド』が発売されることになりました。されました。

iPhoneアプリおよびAndroidアプリの「通知機能」に焦点を絞った解説書です。本書は、Android/iOS向けの簡単なアプリケーションの開発経験がある人を対象にして、通知機能の実装について特化して解説を行っています。

黒本で一緒だった山田さんたちと一緒に執筆しました。今回、自分は全体的な取りまとめを行いつつ、総括的な部分+Android関連一部を執筆しました。いつものごとく、平日夜中や休日を使ったりと苦労も多かったですが、やっと形になりました。一緒に苦労を乗り越えた共著者の皆様、レビューに快く協力してくださった皆様、編集者様、出版社様には、感謝しております。

書店に並んでいますので、お手に取っていただけるとありがたいです。Amazonでも販売開始されています。

iPhone/Android 「通知機能」プログラミング徹底ガイド

iPhone/Android 「通知機能」プログラミング徹底ガイド

■概要
iPhone/Android 「通知機能」プログラミング徹底ガイド」(マイナビ)
・定価:3,444円
・発売日:2013年12月7日

■詳細
詳しい内容については、目次も参考にしていただければと思います。
本書の目次(マイナビページ)

■著者
・神原 健一、高橋 和秀、山田 暁通

 よろしくお願い致します。

[KitKat]IMMERSIVEモードの設定例

サンプルを作ったときのコード例を共有します。

IMMERSIVEのフラグは単体で使うというものでなく、SYSTEM_UI_FLAG_HIDE_NAVIGATION(ナビゲーションバー消去)やSYSTEM_UI_FLAG_FULLSCREEN(フルスクリーン指定)と併用して使うというアプローチになっているようです。

//1)ステータスバー&ナビゲーションバー消去+イマーシブモード
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);

//2)ステータスバー&ナビゲーションバー消去+イマーシブモード(スティッキー)
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);

//レイアウトXMLの指定
setContentView(R.layout.main);

IMMERSIVEモードについては、別のエントリで紹介していますので、合わせて見てもらえればと。

XTranslator 1.1.2 (Android版のみバージョンアップ) をリリースしました。

XTranslator(翻訳アプリ) のAndroid版について、1.1.2をリリースしました。
本アプリは、クロスプラットフォーム対応し、Android版/iOS版/FirefoxOS版/Tizen版を各マーケットで公開しています。

追加機能は、こちらです。

  • Android 4.4 (KitKat)に対応
    4.4以上の場合は、Chromium WebViewを用いて描画を行うようにしました(若干高速になった気がします)。
    • Android 4.4以上の端末をご利用の場合:Chromium WebViewを利用
    • Android 4.4未満の場合をご利用の場合:従来のWebViewを利用

# XTranslatorの詳細は、こちらの記事をご参照ください。

■ダウンロードURL

https://play.google.com/store/apps/details?id=org.iplatform.xos.xtranslator

セカイフォン ver.3.2.0 (Android 4.3 / 4.4対応)をリリースしました。 #androidjp

セカイフォン(翻訳電話)」ver. 3.2.0を公開しました。
セカイフォンは「世界中の人々のコミュニケーションの活性化に貢献できたらという思い」から公開をしているプロダクトです。よかったら、お試しください。

Facebookページもあります。セカイフォンに少しでも共感していただけるところがありましたら、「いいね」してもらえるとうれしいです^^

追加機能は、こちらです。

  • (1)Android 4.3 (Jelly Bean)/ 4.4 (KitKat)に対応
    これら最新バージョンに対応しました。ただし、TTSエンジンとして利用している一部エンジンがAndroid 4.3以降に非対応のため、それらのエンジンを利用する言語を読み上げることはできません。ご不便おかけしますが、ご容赦ください。

    ※今後外部TTSエンジンが4.3以降に対応した場合は、セカイフォンもそれに合わせてバージョンアップを行います。

  • (2)「その場で翻訳」モードの言語選択のUI改善
    同リストに国旗を表示して、分かり易くしました。

SekaiPhone_Android43

# セカイフォンの詳細は、公式サイトをご参照ください。

# セカイフォンの今までの活動の経緯は、blogエントリをご覧ください。

■ダウンロードURL

https://market.android.com/details?id=org.iplatform.android.phone2