fkm blog

software開発に関することを書いていきます

Android

Androidアプリでstatic変数の使い方(1)

IabHelperの件で1日分飛んだけど, 書くの, 忘れてる訳じゃないです(言い訳Activity/Fragmentのライフサイクルと, プロセスのライフサイクルにずれはあるのか? もしここにずれが無いのであれば, こんなエントリー書かないので当然答えは"ずれがある"というこ…

IabHelperが更新されています

今朝, Googleからメールが来てた. ACTION REQUIRED: Google Play Merchant In-app Billing Sample Code Security Update In-app billing v3のサンプルに, 商用でそのまま使える感じのクラス群がある. それをそのまま使うと割ととんでもないバグが見つかった…

Androidアプリでstatic変数の使い方(0)

ABCでstatic変数の使い方について質問があったので書いていきます. (全?回)まずはstatic変数の特徴(?)についておさらい 公開範囲が指定されたグローバル変数みたいなやつ プロセスが生きている間は値を保持しつづける グローバル変数があると便利なシーンが…

ABC 2013 Autumn

ブース出してました. で, 一応LTもやってみました. 質問コーナーのブースという, やや斜め上のブースにしたので集客はそんなもんだよねーという感じでしたが, 質問内容は割といいものでした. Android開発初めてみたいんですが。。。 学生さんや, iOSアプリは…

ABC 2013 Autumnアプリ

プロジェクト作成して2画面分ぐらい作ったところでてくぶの人に先に公開されちゃうという事件にも負けずにとりあえず公開. カンファレンスの情報表示と, 参加予定のカンファレンスの開始10分前に通知(バイブレーションあり)やってくれるアプリです. イン…

テーマを作る(2)

前回はボタンのStyleを変更する方法を紹介した. 今回は本題の”テーマ". 以前, テーマ=Style と書いたのを思い出しつつ, styles.xmlをもう一度見てみる. <resources> </resources>

テーマを作る(1)

ちょっとFMDBのネタを挟んだので空いちゃったけど, テーマの話再開. 前回は, styles.xmlの存在について紹介した.今回は, テーマの前にまずボタンのstyleを作って設定してみるとこから. 手順 styles.xmlでstyleを作る layout.xmlで設定する styleを作る とい…

テーマを作る(0)

ちょっとだけ勉強してみた. 最近のADTだと, valuesにstyles.xmlが自動で作られてるはず. まずはこいつを見てみる. <resources> <style name="AppBaseTheme" parent="android:Theme.Light"> </resources>

Library projectを含むアプリをGradleでビルドしてみる

このあたりを日本語訳しただけのエントリーになりますが。。。GCMを使う場合, 最近はGooglePlayServiceを使うことになってますが, こいつはリソースを含むのでLibrary projectになっている. なので, gradleでビルドする際もLibrary project込みになる. フォ…

Fused locationを使ってみた

GooglePlayServiceに入ってるFused locationを使ってみたよ(他人のサンプル見ながら)使い方のイメージはこんな感じ onCreate()でインスタンスを作る onStart()でconnectする 好きなタイミングでgetLastLocation()で位置情報を取得する onStop()でdisconnect(…

作ってるもの

こんなの, 作ってる

悲しいときー

悲しいときーAndroid SDKのせいで, NullPointerExceptionをcatchすることになったときー

声でアプリ起動

まぁ, 誰でも思いつくっちゃ思いつくようなアプリですが, 公開しましたよーhttps://play.google.com/store/apps/details?id=jp.fkmsoft.tool.voiceapplauncher

getLoaderでカスタムローダを取得する

Javaのお話ではあるんですが, 一応. こんなローダを実装していたとする public class MyLoader extends Loader<List<Item>> { // 中略 }; で, LoaderManager経由でこいつを取得しようとしてみる. 直感で書くとこんな感じ? LoaderManager loaderManager = getLoaderMana</list<item>…

Androidアプリのパターン(4)

DialogFragment編. AlertDialogで2択/3択を出すのがよくあるパターン?まずはいつものnewInstance()パターン. Dialogの場合はtargetとrequestCodeを受け取っておく. public class ConfirmDialogFragment extends DialogFragment { public static ConfirmDi…

Androidアプリのパターン(3)

次は, レイアウトにListViewを含むケース. ListViewを2つ含むレアケースは別として, 通常はListFragmentを使う. public class MyFragment extends ListFragment { } レイアウトXMLでは, ListViewのandroid:idに@android:id/listを指定する. ついでに, TextVi…

Androidアプリのパターン(2)

最初のパターンは, ゲームのタイトル画面のような, ただボタンが並んでるだけのような画面/Fragmentこの手のページは, View.OnClickListenerをこんな感じでメンバーに持たせると手っ取り早い気がする. public class TitleFragment extends Fragment { // app…

Androidアプリのパターン

単純なアプリの設計について考えてみたが, 次はパターンについて考えてみようかなと. # 空いてしまった日の穴埋めという意味もある

OnClickListener用テンプレート

よく使うのでテンプレートにしておきましょう Name : clickListener Context : Java Pattern : 下記 private View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v) { switch(v.getId()) { } } };

DialogFragmentで閉じる時に何か処理をしたい

DialogFragmentでダイアログを出した際, ユーザーがダイアログの外側をタップすると閉じちゃいますよね. この時のイベントを取る方法. public class MessageDialogFragment extends DialogFragment { @Override public void onCancel(DialogInterface dialog…

単純なAndroidアプリの設計について考えてみる勉強会

"単純なAndroidアプリの設計について考えてみる"のまとめ的な勉強会をやってみました. 一番の驚きはどうもこれだったらしい. public class MyDialogFragment extends DialogFragment { public interface MyListener { void onSuccess(String id); } public s…

GCM with GooglePlayService

GooglePlayService経由でGCMの送受信が実はできるようになってます. 公式ドキュメントはここ大雑把に使い方をまとめておきます. Projectの作成 これは今まで通り. ここでProjectを作成して, SENDER_IDを取得する. もちろん今までのを持ってくるのもアリ *1 j…

単純なAndroidアプリの設計について考えてみる(7)

OnClickListnerはどういうことを書けばいいのか. 基本ルールとして, AppのAPIを呼ぶことにしておく. public class TitleFragment extends Fragment { private View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onC…

単純なAndroidアプリの設計について考えてみる(6)

VとCを分けたので, 今度はイベントリスナーを書いてみる. View毎に無名クラスを作る方法もあるけど, 最近はこんな感じで書いてる. public class TitleFragment extends Fragment { private View.OnClickListener clickListener = new View.OnClickListener()…

単純なAndroidアプリの設計について考えてみる(5)

VとC担当の実装クラスを作ったので, Fragmentさんで使ってみる. VとC担当は, Fragmentインスタンスと1対1対応なので, onCreate()で初期化するのがどうも正しいらしい(ということにこのエントリーを書いてて気づいた) public class TitleFragment extends Fra…

単純なAndroidアプリの設計について考えてみる(4)

VとCの実装クラスを作る. 実装クラスなのでImplを付けておく. jp.fkmsoft.demoapp android page title TitleFragment.java TitleUIImpl.java TitleAppImpl.java 中身はこんな感じ. 今は, 空っぽ. まずはV担当 class TitleUIImpl implements TitleUI { privat…

単純なAndroidアプリの設計について考えてみる(3)

考え方の準備ができたところで, Fragmentのほうを書いてみる. FragmentはAndroid固有のものなので, androidパッケージの下にいれる. こんな感じに. jp.fkmsoft.demoapp android page title TitleFragment.java Fragmentで最低限書かないと困るのがonCreateVi…

AsyncTaskLoaderを使ってみた

なんとなくで実装したら全然動かないのでぐぐってみました. なかざんさんのブログにたどり着きましたhttp://nkzn.hatenablog.jp/entry/20120514/1336979844

単純なAndroidアプリの設計について考えてみる(2)

ここからはFragmentを使っていく. FragmentがMVCモデルにおけるV+Cの役割をしているので, まずこれをVとCに分けて考えれるようにする. 最近のfkmの場合だと, こんな感じのパッケージ構成にしてる. jp.fkmsoft.demoapp page title main android page title 1F…

単純なAndroidアプリの設計について考えてみる(1)

Activityに全部の処理が入らないようにするには, どうすればいいんだろう?ここでよく聞くMVCの考え方に頼ってみる. Model データ担当 View 表示担当 Controller UIからの入力の受付担当 そして。。。 ここで気づいちゃうこと, Activity/Fragmentって, View+…