cookpad.apk #4 https://cookpad.connpass.com/event/165136/
目次 目次 はじめに 技術選択の各論 開発環境 targetSdkVersion minSdkVersion Kotlinの導入 HTTP Client Dependency Injection Image Loader Debugging Android Emulator on Jenkins コードレビューbot リリースエンジニアリング おわりに はじめに 技術部の門田( @_litmon_ )です。 Android版クックパッドアプリで採用している技術の現状確認 2015年版 から3年、Androidアプリ開発を取り巻く環境も大きく変わってきました。 本エントリでは、以前のエントリからこれまでにAndroid版クックパッドアプリにあった技術選択の推移や、現在の状況を記していきます。 技術選択に関する基本的な方針などは変わっていないので、前回のエントリ( Android版クックパッド
ActionBar.NAVIGATION_MODEがdeprecatedに Lollipop(API Level 21)で、ActionBar.NAVIGATION_MODEが deprecatedになりました。ActionBarのTabとSpinnerの利用が非推奨となります。 AppCompatのActionBar.NAVIGATION_MODEもdeprecateになったので、 実質的にはすべてのVersionにおいてdeprecatedと考えて良いかと思います。 ■ ActionBar上でのTabもSpinnerも非推奨に Tabの代替案はSlidingTabLayout Googleの方からTabの代替案として提示されているのが、SlidingTabLayoutです。 これは、APIに用意されているものではなく、HorizontalScrollViewの拡張実装として、Andro
OnClickListenerの実装方法について煩悶としています。 どのように書くのが美しいのでしょうか。 Activity,Fragmentに実装する方法 Button等を表示するActivityやFragmentに実装させる方法があります。 public class SampleFragment extends Fragment implements OnClickListener { // ... @Override public void onClick(View v) { // 押下時の処理 } } 一般的だと思います。 よく見るコードですが、個人的にはイマイチだと思っています。 イマイチな点1: publicなonClick 個人的にpublicなonClick()というメソッドが作られてしまうことが気になります。 下記のようなことができてしまいます。
Javaエンジニアに贈る、JavaでAndroid/iOS両対応のゲームアプリを作れるlibGDXを使って実際にゲームを作ってみようJavaAndroidiOSゲームlibGDX libGDXはマルチプラットフォーム対応のゲーム開発フレームワークです。 似たようなコンセプトのゲーム開発フレームワークとしてUnityやCocos2d-xなどがありますが、libGDXは Javaで開発ができる というのが大きな特徴になっています。そのため、「スマホゲームを開発したいけれど、AndroidはともかくiOSはObjective-Cなのでハードルが高くて…」とお嘆きのJavaエンジニアにもってこいのフレームワークなのです。 このドキュメントではlibGDXを使ってJavaでAndroidとiOSの両方のプラットフォーム向けのゲームを作るための基本をお伝えしたいと思います。 お話の前提 このドキュメン
デバッグビルドとリリースビルドで処理を変える方法その2です。 以前に書いた方法は以下から。 デバッグビルドとリリースビルドで処理を変える方法 http://neta-abc.blogspot.jp/2012/02/blog-post.html ADT 17(らしい)から/genの下にBuildConfig.javaが自動生成されるようになっています。 BuildConfig.java /** Automatically generated file. DO NOT MODIFY */ package com.example.builconfigtest; public final class BuildConfig { public final static boolean DEBUG = true; } このBuildConfig.DEBUGはリリースビルド時(Export Signed
※目指せ100。 ○小判は猫に渡したくない 「便利なライブラリとかOSS集を教えて欲しい」と、たびたび聞かれるのですが、実際のところ動かして評価しないと分からないんですよね。教えてもキーワードのみ鵜呑みにして使い方間違ってる人とか多くて、結局試行・評価をそれなりのスピードで回せる人じゃないと使いこなせないというか...。 ですが、「知ってる・知らないというゼロイチの差はあるだろう」という指摘をもらい、またどれだけ知っているかのチェックリストとしては使えるのではないだろうか、ということで並べてみることにしました。 使ったことが無いのは挙げていませんが、いかんせん数年経ってますので状況が変わっていたらすいません。 以下、リスト。 Apache Commons http://commons.apache.org/ 「5行+エラー処理」を1行に済ませてくれるUtil群が主体。 IO、Lang、Co
Android案件を何件か担当して見積り前に確認しておいた方がいいと思うことや決めておくこと、 事前に説明しておくべきことがいくつかあったのでまとめます。 ①ハードウェアの選定 ・どの端末をサポートしますか? 動作確認を行う端末を決めてもらいます。 複数の端末をサポートする場合、テストも複数の端末で行うため工数もそれに応じて増やす必要があります。 ・サポートするAndroidのバージョンは? 端末を決めた時点でほぼ決まってしまいますが"Android 2.2以上"のようにサポートする最小のバージョンを決めます。 特にお客様にご要望がない場合はアプリのリリース時期と端末、OSのシェアなどを考慮して提案しています。 ・タブレットでの使用は想定していますか? これはスマートフォン用に開発している案件で後からタブレットでも使用したい、 というご要望を受けることがあるためです。 ・マルチデバイス対応
ロックスクリーン自体をカスタマイズすることは(ざっとソースを見た感じ)出来なさそうですが、同じような動作をする画面(?)なら作ることが可能です。 まずはロック画面として表示するViewのレイアウトを作成 中央にTextView、その下にロック解除用のButtonがあるだけのレイアウト <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/text_lock" android:layout_width="wrap_conten
30億のデバイスのみなさん、こんにちは、ジャバです。 何の前触れもなく、2013年 Androidアプリ開発で使いたいライブラリを発表します。 JsonConverter => gson JSONRPCでサーバーサイドと通信を行うときに、毎回パーサーを書くのは面倒なので、JsonConverterを使いたくなります。 そこで開発ではgoogleが開発しているgsonを使っていました。 NamingPolicyやDeserializerの使い方を覚えれば、手でjsonのパーサーを書くより圧倒的に楽で、 Person person = gson.fromJson(json, Person.class); このように一行でjsonからオブジェクトに変換できるようになり、 String json = gson.toJson(person); 一行でオブジェクトからStringに変換することも出来ま
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
スマートフォン向けアプリ開発やサーバサイドの開発に関する技術ブログです。 エンジニアdommyのつぶやきは@shonanshachu、ソースコードはGitHubで配信中。 ScrollViewの中にListViewを入れようとした人いますよね? 僕も入れようとしました。 でも、ScrollViewもListViewもスクロールするものですから、 ScrollView内にListViewは入れてはいけないんですよね。 でも、ListViewのように、コンテンツの数分の行数が欲しくて、 そのコンテンツの数が動的に変化するなんて場合はどうすればいいんだ〜。 そんな人の為のクラスを用意いたしました。 LinearLayoutにAdapterを設定して、 コンテンツを追加するたびに1行増やせるというものです。 public class LinearListView extends LinearLay
Androidアプリのデータ保存方法の「プリファレンス」の使い方は? Androidアプリでは、いくつかのデータ保存方法が用意されていますが、最も簡単に扱える方法が、この「プリファレンス(Preference)」であると思います。 プリファレンスは、データを、キー名と値の組み合わせで保存する形をとります。 JavaでいうHashTableや、VB等のDictionaryのような感じですね。 データの量や保存したい形にもよりますが、数個の設定値を保持させておきたいぐらいであれば、このプリファレンスで事足りると思います。 それでは、サンプルコードとともに、プリファレンスの使い方をみていきましょう。 プリファレンスの保存方法 まずは保存時の処理の説明です。 保存するデータの型は、boolean型、float型、int型、long型、String型が使えます。 String型のデータを保存するとき
実用段階に入ったNFCをアプリで使ってみよう Androidはバージョン2.3からNFC(Near Field Communication:近距離無線通信)をサポートしています。Android 2.3は2010年12月発表なので、登場して約2年です。市場にもNFCをサポートしたスマートフォンが出回り、ユーザーの手にも行き渡り、そろそろ実用段階に入ったのではないでしょうか。 今回はAndroid NFCのAPIを使用してSuica/ICOCA/PASMO/Edy/運転免許証などのIDm(カード固有の番号)を読み込む方法、NFCタグへの情報の書き込み・読み出し方法について解説します。 NFCの基本的な情報は記事「NFCは次世代近距離通信のデファクトとなるか」を参照してください。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:and
やっと分かった!Androidアプリでスプラッシュ(Splash)画面を表示させる方法が!今までググっても、「これだっ!」って情報が無かったんですが、今日買った「コードからわかるAndroidプログラミングのしくみ 開発で困ったときの解決アプローチ」という本に書いてありました。というわけで、そのやり方を書いておきます。Androidプロジェクトのなかで書き換える箇所は、以下の3つです。スプラッシュ画面のレイアウトの定義用XML(splash.xml)スプラッシュ画面を実装したアクティビティクラス(SplashActivity.java)AndroidManifest.xmlsplash.xml xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" and
Android SDKでビジネスロジックのテストを自動化するには:Androidアプリ開発テスト入門(2)(1/3 ページ) ビジネスロジックのテスト自動化から始めよう 本連載ではAndroidアプリを開発している方のためにテストの基本的なノウハウを解説しています。前回の「Androidアプリ開発でテストを始めるための基礎知識」では、Androidアプリ開発におけるテストの課題を解説し、EclipseとJUnitを使った単体テストのやり方を環境構築やコードの書き方を含め紹介しました。今回は「ビジネスロジック」のテストについて説明していきます。一口にビジネスロジックといっても読者の皆さんが持つ定義は、さまざまかと思います。 Android開発におけるビジネスロジックとは 本連載ではビジネスロジックを「Androidのシステムに依存しない独立した処理」と定義します。具体的には文字列処理や日付・
Android のアプリを eclipse で作っていて,しばらく開発環境を使ってないとこのエラーがでることがあるらしい.I can't compile my app because the build tools generated an expired debug certificate に対処法がある. C:\Documents and Settings\XXXX\.android の下にある debug.keystore を削除する Windows の時計のタイムゾーンの設定が「大阪,札幌,東京」となってるのを,適当に違うタイムゾーンに変更する(一時的に).例えば「東部標準時」とかにする.何でもいいぽい. Project メニューの Clean... を実行する.これで debug.keystore が作り直される. タイムゾーンを元に戻す. この状態でビルドし直せば動く.はず.う
この三ヶ月ではてなブックマークiPhoneアプリの新バージョンとAndroidアプリを開発してきました。 両方共担当はエンジニアid:ninjinkunとデザイナーid:kudakurage、総合ディレクションid:nagayamaです。同じ開発者がiPhoneアプリとAndroidアプリ両方を作った事例として、なかなか面白いのではないかと思います。開発期間はちょうどそれぞれ一ヵ月半ずつでした。 自分にとってもブクマチームに移動してから初めての大きな仕事だったので、両方共思い入れがあるプロダクトです。開発話と一緒に、スマートフォンアプリを作る際の流れや、気を付けていることなどをまとめようと思います。(長いです) 開発プロセス iPhoneもAndoirdも開発の流れは基本的に一緒で、以下のような流れになります。 機能の検討 UIの検討 実装 ざっくり並べただけではWebサービス開発と変わり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く