android

サンプルを動かしてみる

Android-PullToRefresh のページから ZIP ファイルをダウンロードしてファイルを展開。 Android-PullToRefresh-master フォルダを Eclipse で読み込んで Sample(LauncherActivity)を起動。 こんな感じで、サポートしているビュー(フラグメント)のリスト…

Android-PullToRefresh の特長

PullToRefresh が動作するのは以下のビュー(フラグメント) ListView Expandable ListView Grid View WebView ScrollView HorizontalScrollView ViewPager ListFragment Android v2.3 以降ならオーバースクロールをサポートしてるらしい。 (ところで、オー…

結局ソースコードをプロジェクトに加えた

Stack Overflow を彷徨っている時に誰かが「jmdns のソースコードをプロジェクトにぶちこんで動かした。」ってのを読んだ気がしたので、自分でもそれをやってみた。 まずは Mavencentral repo から jmdns-3.4.1-sources.jar をダウンロードしてソースコード…

jmdns 3.4.1 のライブラリ使ったらエラーが出るよ!

ダウンロードした jmdns.jar ファイルを使って簡単なアプリを起動すると JmDNS.create() で落ちる。 内容はこんな感じ。 E/AndroidRuntime(17175): java.lang.NoClassDefFoundError: javax.jmdns.JmDNSクラスの定義が見つからない? 良くわからないのでググ…

Android では jmdns で Bonjour できる

Bonjour は netatalk をビルドする時に avahi-daemon 云々でちょっとお目にかかったことがあるけど、そこでは mDNSって呼ばれてたような…。 というわけで、一般的な名前?は mDNS というらしい。 で、Java で Bonjour(mDNS)してくれるライブラリは jmdns。…

imMapとimGPSを使ってみる

実際に起動してみた様子が以下の動画。 江古田のタリーズで現在位置を表示してみました。 アプリ起動後 20数秒経って最初に地図に表示されるのは、Yahoo 地図の例題に入っていた場所の「東京ミッドタウン」です。 それから、iPhone 5 で imGPS を起動すると…

i'm Watch に GPS 情報を送信する iOS アプリ「imGPS」

GPS 情報はテザリングで繋がっている iPhone 5 から取得します。 実は世の中には便利なアプリケーションが既にリリースされていたりするのですが…。 TetherGPS TetherGPS は Android->Android 間で GPS 情報をやりとりできて、両方のデバイスに TetherGPS ア…

i'm Watch で地図を表示するアプリ「imMap」

i'm Watch の OS は Android 1.6 なので Amazon, Yahoo の地図表示ライブラリは使えない。 Google の v1は i'm Watch の OS にライブラリ入ってないのでやっぱり無理。(ってかもう Deprecated…) 結局 WebView に Yahoo の JavaScript ライブラリを使って地…

Kindle Fire の開発者向けページに説明があった

とりあえず Kindle Fire の開発者向けページで記述を発見。 Kindle Fire Device and Feature Specifications SD Card Support Kindle Fire tablets have an internal SD card that your app can write to. Kindle Fire tablets' SD card is internal and is …

Bitmapを作成して貼り付けてずらすとそれっぽい

昨日のセルを縮めるのと同じ様にアニメーションさせようとしたのだけど、どうしてもチラっと挿入後の画面が表示されてからアニメーションになってしまう…。 notifyDataSetChanged() して getView で返す View はちゃんと縮んだものを渡してるんだけどな〜。 …

ListViewのセルがアニメーションしながら消える様になった〜!

private class ViewHolder { public boolean needInflate; public TextView text; }なんて感じで、View に ViewHolder をくっ付けてそこに再度 inflate が必要かどうかのフラグを持たせた。 View を再使用する際に needInflate が true なら、その潰れた Vie…

requestLayout() と willChangeBounds()

というわけで、困った時の Stack Overflow 頼み! こんなん見つけた。 Android: Expand/collapse animation 直接 ListView の話ではないのだけど、周りと一緒にアニメーションするにはどうしたら良いか?って感じの話なのかな? ここで紹介されているコード…

ScaleAnimation とかしてみても白いセルは残るよ!

まず考えたのが消したいセルの View を ScaleAnimation して上や下に縮めてみること。 確かにこれでもアニメーションして縮むのだけど、縮んだ部分が白いまま残って上や下のセルが追随して動いてくれない。 結果、アニメーション後に Adapter#notifyDataSetC…

実際に地図を表示するアプリを作成してみる

SDK をダウンロードしたら後はチュートリアルに従っていけば OK です。 Building and Testing Your Maps App というわけで、以下、Eclipse で Android アプリケーションのプロジェクトを作ったところから順を追って進めて行きます。 1.AndroidManifest.xml…

Amazon Mobile App Distribution Portal でアカウントを作る

Google API で地図を表示する際には、認証キーを Google API のページからゲットして、それをコードの中に埋め込む必要がありました。 しかし、Amazon Mobile App SDK の Maps では認証キーをコードに埋め込む必要はありません。 代わりに、アプリを Amazon …

Amazon Mobile App SDK のダウンロード

まずは Amazon Mobile App SDK をダウンロード。 以下のページで [Download SDK] をクリックすればダウンロードできます。 Amazon Mobile App Distribution Program ダウンロードした Apps-SDK.zip を展開すると、Maps フォルダ、lib フォルダがあり、その中…

Google Maps Android API v2 のサンプルアプリケーションを起動してみる

読み込んだサンプルアプリケーションに次は先ほど取得した API key を組み込む。 AndroidManifest.xml ファイルを開くとこんな感じになってる。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mapdemo" android:versionCode="1" android:versionName="1.0"> </manifest>

Google Maps Android API v2 のサンプルアプリケーションを読み込む

とりあえず、サンプルをビルドして遊んでみる。 1.Eclipse の [File]-[Import...] で Import ダイアログを表示 2.[Android]-[Existing Android Code Into Workspace] でライブラリを Workspace に読み込む 読み込むのは /extras/google/google_play_serv…

Google Maps API Key を入手する

既に Google Maps Android v1 を使っている場合、API Key は入手しているけれどもそれは v2 では使えないので、再度取得しなければならない。 手順は下記のページの通り。 Google Maps Android API v2 -- Google Developers 1.Google APIs Console にアク…

Eclipse に Google Play services SDK をインストールする

Google Maps Android API v2 は Google Play services SDK の一部として提供されているので、まだ Eclipse に Google Play services SDK がインストールされていない場合はまずこれをインストールする。 手順は下記のページの通り。 Setup | Android Develop…

Layer-drawable で画像を重ねる

答えは簡単。 Layer List を使って画像を重ね合わせて Button の background に指定すれば OK。 Drawable Resources サンプルにこんなものが載ってる。 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/android_red" android:gravity="center" /> </item> </layer-list>

Android 4.0 で WebView.loadData を使って文字化けなく表示する

検索して見つけたページの方法をあれこれ試してみて、上記コードの html を読み込む部分で、以下の2つのどちらかを使うと文字化けせずに読み込めることがわかった。 loadDataWithBaseURL(null, html, "text/html", "utf-8", null) loadData(html, "text/htm…

同様の問題を検索してみると…

日本語では 日本Androidの会 のグーグルグループで1つ見つけた。 Android 3.0のWebViewで文字化けする Android 4.0 ではないけど、症状は同じだと思う。 で、次にいつもお世話になっている Stack Overflow では… Android. WebView and loadData というわけ…

WebView に html のデータを loadData で読み込む

オリジナルのコードは WebView に html のデータを loadData で読み込んでいるこんなコード。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView)findVi…

カスタム ProgressDialogを作って対応

結局ググっていつもの stack overflow…。 How to remove the text in progressBar in Android? カスタム ProgressDialogを作って、onCreateで地道に数字とパーセントの TextViewを見つけて View.GONEで消すということらしい。 実際のコードはこんな感じ。 pu…

ProgressDialogの数字とパーセントをAPIで消せるのはAndroid3.0以降

確か消すスイッチあったよな〜と思って探したらさっくり見つかった。 setProgressNumberFormat setProgressPercentFormat でも、どっちも API Level 11(Android 3.0)以降で使える機能。 今回は Android 2.1以降に対応したいのでこの APIは使えない…。

Formatting stringsの書き方

「Multiple substitutions specified in non-positional format」でググると2番目に Stack Overflowが出てくる。 Android XML Percent Symbol で、結局はこのページに辿り着く。 String Resources : Formatting and Styling ここの Formatting stringsですご…

困った時の Stack Overflow

検索して出てきたのはこんな結果 Can BitmapFactory.decodeFile handle .ICO (Windows icons) files? WebViewで favicon.icoが読み込めるんだからでコードできるはず!というのは自分でもそう思ってたんだけど、なんだかコード量が大げさな感じがするな〜。 …

BitmapFactory.decodeStream()で.icoはデコードできない

まずは BitmapFactory.decodeStream()でデコードできるのはどんなフォーマット? Android Supported Media Formats う〜ん、この表には .icoは入ってないのでダメなのかな? .bmpと .icoは違うんだっけ? でも、実際には Bitmapが返ってくることがある。

urlから画像を読み込んで Bitmapにするコード

こんなコードで 画像ファイルを Bitmapにしていた public Bitmap bitmapFromUrl(String url) throws IOException { HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.connect(); InputStream input = connect…