Android 開発 アーカイブ
こんにちは。アプリケーション共同開発部の戸澤です。
Fenrir Advent Calendar 2015 もゴールが見えてきた 23 日目の記事です。 本日は祝日のため、お休みの方もいらっしゃると思いますが少しばかりお付き合いください。
少し前のことになりますが、11/9 (水)にパシフィコ横浜で開催された「Google for Mobile」というイベントに参加しました。
このイベントは「Develop. Engage. Earn.」というテーマでアプリを開発しユーザーに届け収益化するまでを26のセッションで紹介するもので開発者向けの実装やテクノロジーを見せるセッションが多いいつものセミナーとは少し違ったアプローチでしたが Android の市場を知る上でとても興味深い内容でしたのでご紹介したいと思います。
こんにちは、アプリケーション共同開発部 開発担当の西林です。
これは、 Fenrir Advent Calendar 2015 の11日目です。
私は公私共に Android アプリの開発を行っていますが、先日スマートフォンのテザリングで Android Studio とプラグインのアップデートをしていたら、1ヶ月のデーター通信が 10GB を超えて低速モードになってしまい、通信費と心にグッと来ました…。
今日はそんな Android の界隈で最近話題になっているプログラミング言語、 Kotlin について紹介します。
こんにちは、渡邊です。
グランフロント大阪 北館 2F にある docomo OSAKA(ドコモショップグランフロント大阪店)で、2015 – 2016 冬春モデルを先行展示しているということで、ちょっと覗いてきました。9 月 30 日からのイベントだったので少し乗り遅れましたが、来年発売予定の新作を手にとって見ることができて満足です!!
こんにちは。共同開発部の北川です。
Fenrir Advent Calendar 2014 20日目です。 今年、もっともグッときた出来事といえば Android 5.0 Lollipop のリリースですよね! Lollipop では Material Design が採用され、色と重なりでアプリの世界観を表すようになりました。これまでの Android とは異なり、アニメーションやインタラクションを重視するデザインへと進化しています。
見た目の変化もさることながら、Lollipop では機能面も数多く強化されています。 その中の一つ、RecyclerView は非常に柔軟で表現力の高い UI コンポーネントです。 RecyclerView を使った新しい表現に挑戦してみました。
こんにちは、営業担当の片桐です。 Fenrir Advent Calendar 2014 楽しんでいただけてますでしょうか?私は、今回残念ながら指名はされませんでした・・・。残すところわずかになりますが、引き続きお楽しみください!
さてさて、話題はがらっと変わるのですが、Bluetooth無線を使ったちょっと面白いアプリを作ったので、この場を借りてご紹介です!
こんにちは!共同開発部 開発担当の戸澤です。
クリスマスまでの毎日のお楽しみ、Fenrir Advent Calendar 2014 の 9 日目です!
今回のテーマは 「2014年にグッときたコレ」 は Android 5.0(Lollipop) のカメラAPI です。
Android 5.0には様々な新機能が追加されていますが、今回はあえてクリスマスやお正月、グッときた冬の思い出を記録するために大幅に強化されたカメラAPIを紹介したいと思います。
こんにちは。共同開発部開発担当の北川です。
クロスプラットフォームなアプリ開発では Xamarin の使用はビジネスロジックの共通化が可能となり非常に効果的です。
すべてのアプリを単一の言語(C#)で実装することができる点だけでも魅力的ですが、MVVM 設計によりその再利用性を高めている点こそがその真価を発揮しているとも言えます。
私は Xamarin でのアプリ開発を通して MVVM 設計のすばらしさを経験してしまいました。もう後には戻れません。
Java や Objective-C でのアプリ開発でも MVVM 設計は開発スピードと品質確保を両立するために有効であるはずです。
今回は Android アプリ開発(Java)で MVVM を使うとどうなるか、紹介してみたいと思います。
こんにちは。共同開発部の北川です。
Bluetooth LE (以降 BLE) 連載第5回です。連載第4回まで iOS アプリと Windows ストアアプリから BLE 機器を扱いました。
第5回は Android 4.3 端末から BLE 機器へ接続します。
- 第1回 Bluetooth Low Energy の基礎
- 第2回 iOS デバイスで Bluetooth LE 機器を使う
- 第3回 iOS デバイスを Bluetooth LE 機器にする
- 第4回 Windows 8.1 の Windows ストアアプリで BLE を使う
- 第5回 Android 4.3 で Bluetooth LE 機器を使う
こんにちは。東京で開発担当をしています志田です。
初のブログ執筆となりますが、 この度は私の知っているノウハウを少しでも共有できればと思い拙い筆を、もとい叩き慣れたキーボードを手に取って云々という次第です。
今日のテーマはずばり Android 開発における “スマートな” ログ出力について!! です。
基本中の基本と言える内容ではありますがそれ故に大事な部分でありますので、どうログを出力するのが最適かわからない、という場合に参考にしていただければと思います。
こんにちは。開発担当の福井です。
Android でアプリを作るとき、ちょっとした更新などはアプリのアップデート無しに行いたいのでコンテンツを WebView で表示する、なんてあるあるですよね。スマートフォン界隈では html5 化が進んではおりますが、web でリッチコンテンツといえばまだまだ Flash が健在です。Android では Flash が使えますので、web 側の実装に Flash を使うなんてことは珍しいことではありません。「Android だから Flash が動く!」なんて安易に採用しがちですが、Flash を利用するうえでよくある落とし穴をいくつかご紹介します。WebView を使う際のヒントにしていただければ幸いです。
こんにちは。
Android 開発担当の岸本です。
今回は Android でのドラッグアンドドロップの実装についてです。
※Android OS 3 系以上が対象です。
Android のアプリを開発していると、
ドラッグアンドドロップで View の並び替えをしたいという要望があります。
Android OS 2 系だと、ドラッグアンドドロップを実現する API がなく、
全て自分で実装しなくてはならず、非常に大変です。
ですが、Android OS 3 系以上だと、簡単に実装できます。
2016年5月27日追記
こんにちは。共同開発部 開発担当の戸澤です。
2012年に書かれた以下の記事内容に関しては、ApplicationContextの使用を推奨する点で不適切であるとご指摘をいただいています。 詳しくは http://ytrino.hatenablog.com/entry/2016/05/26/033936 をご覧ください。
誤解を招かないよう、この追記分ではみなさんのご指摘を踏まえた Context の使い方について追記しています。オリジナル記事は後半に残しています。みなさまのご指摘に感謝します。
Contextの使い方
AndroidにおけるApplicationContextとActivityContextの使い分けについてですが、 Application全体のライフサイクルでcontextに依存する必要がある処理以外は、基本的にActivityContextを用いるべきです。
ApplicationContextを使用する状況
アプリケーション全体で使用する長いライフサイクルを持つインスタンスでcontextに依存しているもの。
例)Realmの初期化
RealmConfiguration config = new RealmConfiguration.Builder(context).build(); Realm realm = Realm.getInstance(config);
ActivityのContextを使用する状況
Android DeveloperのGoogle +への投稿(https://plus.google.com/+AndroidDevelopers/posts/36bAFHpKbCH)でも説明されていますが、Viewを生成する場合は、ApplicationContextを用いるとActivityに設定されたThemeを適切に設定することができずデザイン上の不具合を招くケースが発生します。
Activity上のViewやインスタンスでcontextを渡す必要がある場合は、以下の使い方が適切です。
・Activity内で使う場合
→ this(自身をcontextとして渡す)
・Fragment上で使う場合
→ Fragment.getActivity()でFragmentを載せているActivityを取得する
まとめ
Contextは依存するインスタンスのライフサイクルを考慮して適切なものを使用する必要がある。
・アプリケーション全体のライフサイクルで使用する場合のみ、十分に検討した上でApplicationContextを使う。
・ViewやIntentの生成やFragment上で使用するcontextにはActivityのcontext(this)を用いる。
・AlertDialog.Builder等直接getActivity()できないがViewをinflateするのにcontextが必要なケース。
→ getContext()メソッドが用意されているのでそちらを使う。
今後もFenrir Developer’s Blog では開発者の皆様に有益な情報をご提供できるよう、エンジニア一同努めてまいりますのでよろしくお願いいたします。
オリジナル記事
以下、2012年当時のオリジナル記事です。冒頭に書いたような指摘をふまえてお読みください。
こんにちは。共同開発部でエンジニアをしている森河内です。
最近は Android の開発を担当しています。Androidの開発では設計から開発まで担当することが多いです。最近ソースコードレビューをする機会があり、レビューしていて取りあえず気をつけてほしいなと感じたことを今回は2点ほど書きました。
変数名の付け方
変数名は分かりやすく命名するというのは基本だと思います。個人的には日本語をアルファベットで書くのはかっこわるいような気がするので、極力英語で書くように努めています。また、Android では以下のようなルールを守ることが推奨されています。
public と static 以外 : 変数名は m で始める
static : 変数名は s で始める
public : 小文字で始める
定数 : アンダースコアを含む大文字だけにする
こんにちは、Sleipnir Mobile for Android 開発担当の西田です。
今回は、Sleipnir Mobile for Android でも実施している Android アプリの描画チューニング手法を紹介します。
こんにちは。Sleipnir Mobile for Android 開発担当の西田です。
最近 Android アプリで、日本語テキストから頻出キーワードを抽出したいなあ等といったことを考えており、ちょっと調べてみました。
まずは 日本語の形態素解析ライブラリの Mecab を使おうと思いつくわけですが、これをアプリに組み込むにはちょっと辞書のサイズが大きすぎる感じです。(50MB 以上!)なのでどっかのサーバーで API を用意してやるのが良さげな感じです。
Mecab には各種スクリプト言語のバインディングが用意されているので、今回は Ruby でやることにしました。
はじめまして。
開発担当の岸本です。
主に、 Android アプリの開発を行っています。
本ブログでは、 Android アプリ開発の記事が少なく、
なんと、カテゴリーに Android 開発がありません!!!すごく寂しいです。
なので、私が Android の記事を書いて、カテゴリーに追加して貰えるよう頑張ります。
では、本題です。
突然ですが、 Android アプリを使用する時に、
フォーカスを意識した事がありますでしょうか?
タブや EditText ではあるかもしれません。
ボタンはどうでしょうか?
そもそも、フォーカス状態のボタンを見た事がありますか?