ほげほげ(仮)

仮死状態

Android

setLayoutParamsでClassCastException

Viewの大きさを変更するときに、ちょいとハマったのでメモメモ。 まず、このようなレイアウトがあるとします。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> </linearlayout>

Android NDKをインストールしてみる

Android NDKをインストールした時のメモ 正直、NDKについては全然分かりません。とりあえず環境を整えないと勉強もできないので・・・ 環境 Mac OS X 10.6.8 Eclipse3.6 Helios Android NDKのダウンロード Android NDK | Android Developers ↑から最新のをダ…

GALAXY S2を買った

昨日、ようやくGALAXY S2を買いました。 これで初代Xperiaとはサヨウナラです。 アプリの動作検証で使うことはあるかもしれませんが・・・ とりあえず、一日使ってみての感想です。 サクサク動く、画面が大きいって感じですね。 電池もたぶん長持ちしてるの…

動的にidを取得する

文字列から動的にビューのidを取得するには次のように書きます。 int id = getResources().getIdentifier("test_view", "id", getPackageName()); これだけです。思ったより簡単。 ビューのid以外にもdrawable等も取得できます。 その場合は上のコードの「id…

WebViewで現在のページのタイトルを取得する

WebViewで現在表示しているタイトルを取得するには WebView.getTitle を使えば取得できます。 WebView | Android Developers で、ここで疑問が出てきます。どのタイミングで取得すればいいのかということです。 リファレンスを見ると WebViewClient.onReceiv…

ウィジェットの背景色を動的に変更する

ウィジェットの背景色を変更にするには次のようにします。 RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.main); view.setInt(R.id.layout, "setBackgroundColor", Color.RED); しかし、この方法では2.1以前でエラーになるためウ…

ウィジェットからActivityを起動するとき

ウィジェットをタッチすることでActivityを起動したりすることがあると思いますが、自分がハマったことをメモしておきます。 Activityの起動自体に問題はないのですが、起動方法でハマりました。 まず現象としては 【1】通常通りアプリを起動(a) → ホームキ…

AppWidgetProviderからServiceにappWidgetIdを渡す方法

最近、Andoridのウィジェットについて色々と調べてます。 普通のActivityと違うところが多くてかなり戸惑ってます。 ウィジェットのボタンを押されたとき、ServiceにappWidgetIdが渡せないか調べた結果です。 ウィジェットはホームスクリーンに複数設置でき…

複数Activity間でSQLiteを使用する場合

複数のActivity間でSQLiteを使用する場合「SQLiteDatabase created and never closed」というエラーが発生するときの解決方法です。 Cursorのクローズを行っていないのが原因なのですが、どこで書けばいいのが微妙だったので調べました。 ※Cursorをすぐにク…

WebViewのテキスト選択

WebViewでテキストを選択する方法を調べました。テキストを選択するにはemulateShiftHeldというメソッドを使えばいいのですが、 このメソッドが2.1以前だと非公開のようです。2.1以前の場合は Cosme Zamudio: WebView emulateShiftHeld() on Android Newer S…

テーマで設定されている値を取得する

ここ最近はAndroidネタばかりです。 Androidではテーマを設定できるのですが、テーマで設定されている値を取得したくて色々やった結果です。 TypedValue typedValue = new TypedValue(); getTheme().resolveAttribute(android.R.attr.colorBackground, typed…

WebViewの長押しイベントについて(2.3以降)

以前、WebViewの長押しについて書きましたが 2.3からどうも挙動が変わってるみたいなのでメモしておきます。 (ついでに前回の記事で一部ミスってたので修正しておきました。) ざっと確認したところ、WebViewのどこを押しても長押しのイベントが走るみたい…

スワイプのイベントを取得する

android,source code,programming 上のサイトを参考にしました。 スワイプのイベントを取得するにはGestureDetectorを使います。 とりあえず、ソースコードを見てください。 public class MainActivity extends Activity { private static final int SWIPE_M…

設定画面のテキストのサイズ・カラーを変えてみる

Androidの設定画面(PreferenceActivity)でtitleとsummaryのテキストのサイズ・カラーを簡単に変えれないかやってみました。 まずは通常通りにやります。xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="カテゴリー"> </preferencecategory></preferencescreen>

設定画面のちょっとしたカスタマイズ

久々のAndroidネタです。 AndroidはPreferenceActivityっていうのを使えば簡単に設定画面が作れますが、ある程度レイアウトが決まっています。 今回はそれをちょっとだけカスタマイズしてみようと思います。 今更感もありますが、メモということで。 こうい…

iTMSearchというAndroidアプリを公開しました

iTMSearchというアプリを公開しました。 何が出来るかというと、iTunes Music Storeを検索できるだけです。 作成したきっかけ 作ろうと思ったきっかけですが、よくタワーレコードとかでCDを買うのですが、 iTunes Music Storeで買ったほうが安いんですよねぇ…

JSONICを使ってるとProGuardがうまくいかない

タイトル通りですが、ProGuardでの難読化がエラーでうまくいきませんでした。理由は分かりません・・・すいません>< 解決方法を先に言うとJSONICの代わりにgoogle-gsonというライブラリを使いました。最初は自分で実装しようかとも思ったんですが面倒で・…

音声入力を試してみる

Androidでの音声入力を試してみました。Recognizer Intent APIを使えば簡単に実装できます。 画面レイアウト <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> </linearlayout>

AndroidアプリにAdMobを設置する

AndroidアプリへのAdMobの設置方法ですが、他のサイトの通りにやったら 下のようなエラーメッセージが出て、広告が表示されませんでした。 could not find com.admob.android.ads.AdMobActivity, please make sure it is registered in AndroidManifest.xml …

WebViewの長押しのイベントを取得する

通常のブラウザのように長押しで画像の保存等を行うには次のようにやります。 mWebView.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { WebView webView = (WebView) v; WebView.HitTestResult hr = w…

DatePickerDialogのタイトル

次のようにDatePickerDialogを使うと // 今日の日付を取得 Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); // DatePickerDialogを表示 DatePickerDia…

AndroidでGPSを使ってみる

AndroidでGPSを使った簡単サンプルを使ってみました。今回はロケーションが変更されるたびにマップの表示を変更しています。 以前書いたGoogleMapのサンプルに若干の修正を入れました。 AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sample.map" android:versionCode="1" android:versionName="1.0">…</manifest>

Androidのコーディング規約

Androidのコーディング規約ないかなぁって探したらありました。 Code Style Guidelines for Contributors 日本語に訳されたのもありました。コントリビュータのためのAndroidコードスタイルガイドライン 日本語訳 このコードスタイルを見て、どーしても気に…

ListActivityでハマった

ListViewを試そうと思っていろいろ試してたんだけど、ListActivityを継承したままで、レイアウトxmlからListViewを削除したらエラーが出て起動すらしなくなった。 レイアウトxmlにListViewがない状態でListActivityを継承したActivityでsetContentViewの箇所…

Androidでメニューを表示する

Androidでメニューを表示する方法を簡単にまとめてみました。 メニューを表示してみる Activityを継承しているクラスでonCreateOptionsMenuメソッドをオーバーライドして、メニューを追加します。 import android.app.Activity; import android.os.Bundle; i…

GoogleMapの拡大・縮小

↑のように Android で GoogleMap の拡大・縮小のボタンを出すやりかた。これが意外と簡単で次のように書くだけ。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // MapViewを取得…

Google Mapを表示する

android開発をやってみようと思い立ち、ネットとかで色々と調べてGoogleMapを表示してみた andoridでGoogle Mapを使うためにはMaps APIキーというのが必要で、キーを取得する際にはGoogleアカウントと証明書が必要となる まずはデバッグ用の証明書を作成する…