Android

WidgetのIntent.putExtraについて

Widgetで簡易ランチャを作ってみたが、いくつかの異なるViewをクリックするとそれぞれ異なったパラメータを渡したいのにうまくいかない。9個のViewに対してそれぞれIntentを作成して、putExtraでパラメータを設定してServiceに飛ばすという感じを最初以下の…

twitter4jを使用したAndroid Twitterアプリケーション作成

ここで説明している仕組みを使って、Camera2Tweetというアプリを公開しました。 https://market.android.com/details?id=com.yujimny.android.c2ttwitter4jは2.1.12を使用アプリを作る上でユーザ認証が一番の課題だが、Twitterは現在Basic認証を許していない…

システム起動時に常駐するサービスを作成する

システム起動時にはACTION_BOOT_COMPLETEDがブロードキャストで飛んで来るので、まずそれを受けるクラスを作成する。 public class FooBarServiceReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { …

logcat read: Invalid argument

EclipseのLogCatタブに以下のようなメッセージが。 logcat read: Invalid argumentこうすれば良いらしいです。 adb logcat -c そしてEclipseを再起動参考 http://www.android-navi.com/archives/android_1/logcat/#more

android:launchModeの意味

ActivityのonNewIntent()が呼ばれない罠にはまって行き着いたのがこれなのだが、いまいちよくわからない。やりたいことは、ブラウザからアプリにリダイレクトさせてサーバからのデータを取りたい。現状試したことは、 android:launchMode属性を書かない、も…

ViewのsetWillNotDraw()の意味

これってどういう動作をするのだろう?ってことで調べてみた ViewのsetWillNotDraw()リファレンスには If this view doesn't do any drawing on its own, set this flag to allow further optimizations. と書いてあるが、具体的にはtrueを設定するとonDraw(…

画面の向きをアプリから切り替える

Activity#setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); パーミッション設定はいらないみたい。 android.permission.SET_ORIENTATION って何に使うんだろう?Androidのリファレンスページには Allows low-level access to setting t…

アプリから端末設定の「画面の自動回転」をOFFにする

Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0); AndroidManifestに以下のパーミッション記述を忘れずに。 ほかのセッティングも同様と思われる。

KeyboardViewのドロップシャドウをOFFにする

KeyboardViewを使用していてわかったのだが、Keyの背景を白系の色にするとkeyLabelに設定した文字が表示されたとき周りがにじんで見難くなってしまう。antialiasとかdrop shadowとかが有効になっているようだ。 keyLabelじゃなくてkeyIconで画像を指定すれば…

XMLにdrawable配列を書いてgetIntArray()から読み込めない

drawableリソースを配列で読み込もうとこんな感じで書いたのですが @drawable/g_blue @drawable/g_green @drawable/g_lightblue @drawable/g_pink @drawable/g_purple @drawable/g_red @drawable/g_yellow Resouces.getIntArray()で読み込むと何故か帰ってき…

Read-only file systemで変更できない

root権限でchmodなどを入力しても「Read-only file system」と表示されて変更ができない場合、 mount -o rw,remount /dev/block/mtdblock3 /system と入力すると、変更できるようになります(上記は、/system での例)。# 2011/10/13追記 adb remount これで…

Object Serializeをやってみた

あるオブジェクトをArrayListごとファイルに保存したくなったので、試してみた。1. インタフェースSerializableを実装する 2. シリアライズ出来ないフィールド変数にはtransientキーワードを付ける シリアライズ出来ないオブジェクトの宣言にtransientを付け…

EclipseでXMLを編集しようとするとキーを押すたびにNullPointerExceptionが出る

どうやら、Eclipse3.6 Heliosから出るようになったらしい。[設定]→[XML]→[XMLファイル]→[エディター]で「DTD/スキーマが見つからないとき、推測された文法を使用」のチェックを外して解決(Pleiadesで日本語化している場合)ここを参考にしました。 http://d.…

LogCatを日本語で表示する

cmd.exeのショートカットを作成する。 ショートカットを右クリックし、フォントをMSゴシックに変更。 リンク先を以下のように編集する。 C:\Windows\System32\cmd.exe /k chcp 65001 | adb logcat adbのパスは通しておくこと。 ついでに「レイアウト」タブ→…

LogCatでログが出なくなったら

LogCatで1、2行表示されてすぐ消える現象になることがある。 Logが出力され過ぎると起こるらしいが、真相は不明。 対策としては一度ログをクリアすればOK。ここを参考にさせていただきました。 http://d.hatena.ne.jp/hyoromo/20100514/1273861416

タイトルバー、ステータスバーの消し方

ソースに書く方法とXMLに書く方法と二種類あります。ソースコード(ActivityのonCreateで実施) public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // タイトルバーの削除 requestWindowFeature(Window.FEATURE_NO_TI…

ネットワーク接続の有無を確かめる方法

RecognizerIntentを使おうとしたが、インターネットにつながっていないと接続エラーが出てしまうので、アプリで事前に接続有無を判断してユーザの喚起を促す。ConnectivityManagerとNetworkInfoを使えばいい。 NetworkInfo.isConnected()でtrueなら接続され…

OpenGL ESのエラーログ

XperiaでOpenGLを動かしてみたらエラーが出ていたので調べた。 E/OpenGLES( 351): Application (SDK target 0) called a GL11 Pointer method with an indirect Buffer. indirect Bufferはダメだというのでdirect bufferにすればいいらしいが、エラーでも動…

SurfaceViewでキー配信されない

コンストラクタなどでsetFocusable(true)を呼ぶ必要がある。 Emulatorでは上記だけで配信されたが、requestFocus()も必要? onTouchEventは配信されていたのでしばらく悩んだ。以下のページにも書いてあった http://www.atmarkit.co.jp/fjava/rensai4/androi…