Android開発 Fragmentを使ったタブメニュー

Androidでアプリを使う場合、たいていタブが欲しくなります。 Googleで検索すると古いTabHostを使ったコード例がたくさん出てきます。 ところがタブのコードがAndroid3.0以降で新しくなっているんですね。 そのまま真似するとdeprecatedのワーニングがたくさ…

Android開発 ActionBarActivityを使わないアプリ作成方法

Androidで新しいプロジェクトをBlank Activityで作成すると、 ActionBarActivity を継承したクラスが作成されます。 ActionBarActivityとはアプリの一番上に位置するメニューバーのようなものです。 ここにボタンやオプションメニューを追加してカスタマイズ…

nakatayuki.com

http://www.nakatayuki.com/ Raspberry Piを使っての自宅サーバーを公開しています。 Android以外はこちらに書いています。

Androidってサービスで一気に難しくなるな。

Androidのプログラミングって初めはそれ程難しくないと思います。 アクティビティやウィジェットやらインテントもすんなりと行ける。 実際にスマホで動くと面白い。コードも少なくてすむ。 GUIの変更はシングルスレッドしかできない、 そのときはハンドラー…

Android開発 Found 2 versions of android-support-v4.jar in the dependency list,

プロジェクトのビルド時に Found 2 versions of android-support-v4.jar in the dependency list, というエラーが出てきました。 android-support-v4.jarが複数あり競合しているとでてきます。 どちらかのandroid-support-v4.jarを上書きコピーしてやると 出…

Android開発 Deprecated ワーニング

Androidでプログラミングしているときに ワーニングでDerecatedとワーニングがでてくることがあります。 非推奨という意味です。 一応動くけれどもコードが古いのでおすすめしませんよ、ということです。 新しい関数はコードに変換すると出てこなくなります。

Android開発 BOOKMARKS_URIでブックマークだけを取り出す方法

ブラウザのブックマークを取り出すにはBOOKMARKS_URIを使って getContentResolver().queryします。 ところがBOOKMARKS_URIを使うと履歴とブックマークの両方が取り出されてしまいます。 Historyの履歴を除外するには getContentResolver().query( Browser.BO…

Android開発 ファイルへ書き込んだ場合どこに保存されるのか?

OutputStreamWriterで書き込んだ場合、Androidのどこに保存されるのだろうか? /data/data/パッケージ名/files以下に保存されます。 パッケージ名とはcom.example.testみたいな名前ですね。 ところがこれがすんなりアクセスできません。 普通にlsしてみるとp…

Android開発 Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE 解決方法

Eclipseのエミュレーターでテストしていると Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE というエラーが出てきました。 1時間ハマりましたが、解決できました。 エラー内容ですが、アプリのAPKをインストールしようとしたけれど、ストレージ…

Android開発 Nexus5のエミュレーターが起動しない場合の対策

EclipseでNexus5のエミュレーターがエラーになり起動しないことがあります。 いくら待っても画面が真っ黒でAndroidのロゴが出ない、waiting Homeで止まります。 ハマりましたが、無事Nexus5のエミュレーションでテストすることができるようになりました。 AV…

Android開発 複数のActivityをもつアプリ

Ancroidでは複数のActivityをもつことができます。 Intentを使ってデータを受け渡すことができます。 manifestにActivityを追加したことを記述する必要があります。 以下の内容をマニフェストに追加 <activity android:name=".Activity2"//追加したアクティビティの名前 android:label="@string/app_name" > </activity> これをしないとエラーになります。 FATAL EXCEPTION: ma…

android開発 Intentを使って電話を掛ける方法

androidプログラムから簡単に電話をかけることができます。 Intent intent = new Intent( Intent.ACTION_CALL, Uri.parse("tel:1234567890")); startActivity(intent); またマニフェストに以下のパーミッションを追加する必要があります。 <uses-permission android:name="android.permission.CALL_PHONE"/> パーミションを追</uses-permission>…

android開発 スマホのウィンドウサイズの取得方法

スマホの画面サイズを取得する方法です。 Display display = getWindowManager().getDefaultDisplay(); Point p = new Point(); display.getSize(p); Log.d("test", "Width=" + p.x); Log.d("test", "Height=" + p.y); APIレベルは13以上になります。 Nexus5…

android開発 Nexus5実機でのデバッグ

Eclipseのエミュレーションではなくスマホ実機でもlogcatすることができます。 確認方法はandroid-sdkについてくるmonitor.batプログラムです。 私の環境ではC:\adt-bundle-windows-x86_64-20140702\sdk\toolsの中にmonitor.batが入っています。 このフォル…

android開発 SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length エラー表示

Nexus5の実機テストはうまくいくのだが、エラーが表示される。 SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length android:inputType="textNoSuggestions" EditTextの補完機能に問題があるようだが、解決しなかった。 スマホのキーボードは普通に入…

android パッケージ名の変更

<a href="http://techracho.bpsinc.jp/satoshi/2013_03_06/6712" data-mce-href="http://techracho.bpsinc.jp/satoshi/2013_03_06/6712">AndroidプロジェクトでEclipseを使ってソース構成を変えずにパッケージ名のみサクッと変更する</a> Android パッケージ名変更する方法 androidでパッケージ名を変更したい時がある。 既存のパッケージを使い回した時とか。 test1からtest2に変更したいとする。 p…

ブログ始めました。

何年かぶりにブログを始めました。 久しぶりだなー。 androidプログラミングについて書いていきます。 アカウントにandroidを入力したら候補としてandroidkunが出てきましたので、 そのまま採用しました。 主にハマった箇所、エラーたくさん出るからね。 エ…