Pick up the 9th-gen iPad with two years of AppleCare+ for only $298
横浜Android and モバイルOS プラットフォーム部で発表した資料です。 資料はAndroidアプリ開発者をターゲットにまとめました。OutofMemoryErrorの発生原理とメモリ管理について最新事情を加味してまとめました(新版、なのはAndroid 1.xのころの発表が古いのにまだ参照されていたりで、さすがに最新事情に合わせて更新したかったのです)。 Androidアプリにおけるメモリ事情は(初期に比べたら)改善していますが、OpenCVなど画像処理の需要、高解像度対応を踏まえると依然として十分とは言いがたいユースケースもあります。そんな中でメモリ資源をうまく使うための指標となれば幸いです。 資料にもある通り書きかけの状態ですのでコメントやmentionなど「こんな情報があるから書き加えて」「ここ調べて」「こういうのがおすすめ」「ここ間違えてる!」というご意見いただければ嬉し
programming notes. mainly about JavaScript / jQuery. [@Takazudo] [takazudo@gmail.com] Hint: alt + / Androidはまじでクソだ。具体的には標準ブラウザがクソだ。iPhoneにも最初は苦労させられたものだけれども、その比じゃない。仕事では自分はそういうAndroidのクソさに付き合うのが嫌で嫌で蕁麻疹がでそうなので、Androidはクソすぎるんでそういうリッチぽいのはやめたほうがいいですよ、無駄にコストがかかるだけですよと言い続け、その上でそこまで攻めてない感じのデザインにしたところで、しかしなおそのクソさを発揮しやがる。どういうことなんだ? クライアントに相談を受け、オレは真摯に考えを述べる。「Androidがクソなんでそんなのはやめましょう」と。もちろんこれが正しい決断だという自分の考え
「くーまん」というキャラクターをご存知だろうか。くーまんはその名からも想像が付くとおり、熊をモチーフにしたキャラクターだ。星の輪熊の赤ちゃん、という設定であるが、語尾に「~でふ」「~まふ」などと言った言葉を付けて人語を話すスーパー赤ちゃんだ。 もともとはドラコミュニケーションズが生み出したキャラクターで、2003年、東芝(当時)のJ-PHONE向けフィーチャーフォンのマスコットキャラクターに“就任”した。2003年には、くーまんとのコミュニケーションが楽しめる「くーまんの部屋」が用意され、その人気を不動のものとした。その後、J-PHONEはVodafone、SoftBankと運営体・ブランドは変わっていったが、くーまんは初期の3G端末を除き、東芝製フィーチャーフォン“専属”のマスコットキャラクターであり続けた。 その状況が一変したのが2011年春。東芝の携帯電話事業が富士通との合弁に移行す
先日、普段使っていたGoogleアカウントを突然消されてしまいました。 使っていたサービスは、メール、カレンダー、リーダー、Google+、Android Developer、ドライブ、Play storeなどなど。 もう生活の一部でした。 変だな、と思ったのは5/31の朝のことでした。 使っていたAndroid端末でGoogle関連のアプリが使用できなくなっていたのです。 ブラウザからログインしてみると、「削除」されたことが書かれていました。 しかも理由は「違法な性的コンテンツが含まれるため」とのことでした。 心当たりがなかったので、「削除が間違いだと思う人用のリンク」から問い合わせを行おうと考えました。 しかし、そのページがエラーで利用できませんでした。 やむを得ず、Googleに電話をかけてみました。 もうあまり覚えていないのですが、自動応答の音声にしたがってボタンを押していくと、電
突然ですが、今日はかなりSAN値を削られてしまいました。 「いつのまにか Android アプリが実行できなくなってる!!!!!」 ライブ壁紙である Otome Screen とか Nazo Analyzer とか、ここしばらく放置気味だったのですが、久しぶりにコンパイルしなおして実行してみたら、なんと起動した瞬間にエラーがでて止まってしまうではありませんか! しかも自作プログラムだけでなく、他のサイトから落としてきたサンプルプログラムなんかも同じ症状で止まってしまいます。 ええ、かなり焦りましたよ。 LogCat に出ているエラーは java.lang.ClassNotFoundException なのですが、クラスが見つからないとか言われても… AndroidManifest.xml は何度見ても間違いは見当たらないし、TortoiseHG がなぜか勝手にファイル名を大文字に変換してし
http://www.zusaar.com/event/438105 アプリケーションを作る英語 の著者の西野さんを交えて、クラス名とかメソッド名とか変数名とか命名で困っている課題を1つ以上持ち寄りみんなで一緒に検討する勉強会をしました。 「アプリケーションを作る英語」 電子書籍 http://tatsu-zine.com/books/english4app 紙 http://www.amazon.co.jp/gp/product/4844332848/ はじめに:西野さんからちょっとお話 The Art of Readable Code から第2章と第3章 第2章:名前に情報を詰め込むようにする どういう情報をつめこむか。 明確な言葉を選ぶ get は不明確らしい getPage(url) -> FetchPage(url) や DownloadPage(url) 特色のある(color
大量の画像データ(例えばm0.png〜m99.png)をリソースから取得する場合、以下のように全て記述するのは非効率的です。 mBitmap[0] = BitmapFactory.decodeResource(getResources(),R.drawable.m0); mBitmap[1] = BitmapFactory.decodeResource(getResources(),R.drawable.m1); mBitmap[2] = BitmapFactory.decodeResource(getResources(),R.drawable.m2); mBitmap[3] = BitmapFactory.decodeResource(getResources(),R.drawable.m3); ・ ・ ・ mBitmap[99] = BitmapFactory.decodeResou
とても参考になる解説ありがとうございます. 一つだけ気になるところがあるのですが android update -p . -t TargetID のところは android update project -p . -t TargetID じゃないでしょうか? by kenji (2012-11-05 15:15) > kenjiさん コメントありがとうございます。 うわぁ、本当です。project忘れてますね。修正します。 わざわざご指摘頂きましてありがとうございました! by Wiアシア (2012-11-06 08:52) 教えてください。 camera2で撮影したQR-CODEをこのページの変換に従ったて変換しzxingに投げているのですがうまく行かないのです。 ==>。 Toast.makeText(getApplicationContext(), "Not Found", To
Android アプリ設定画面を作成する PreferenceScreen ではPreferenceScreenをクリックすると、同じアクティビティの別画面を開きました。 今回はPreferenceScreenをクリックすると、別のアクティビティを開きます。 Intentを使って別のアクティビティを開く方法は下記を見てください。 Android 別のアクティビティを開く(戻り値を受け取らない) Android 別のアクティビティを開く(戻り値を受け取る) まず、PreferenceScreenをクリックしたときに、開くアクティビティを作成します。 作り方はコチラAndroid プロジェクトに新しいアクティビティを追加する Activityを継承し、TextViewを1つ配置しただけの「SubActivity」を用意しました。 res/layout/sub.xml(SubActivityのレ
Android3.0 (Honeycomb)以前のアンドロイド端末はMenuボタンを備える必要がありました。 しかし、Android3.0で物理的なMenuボタンへの依存が排除されたため、Menuボタンを持た ない端末が登場しました。 ●Honeycomb以降のMenuボタンに変わるもの Honeycomb以降は物理的なMenuボタンを持つ、あるいは持たない端末の両方をサポートする必要があります。(Menuキーを持たない端末としてGalaxy Nexusがあります) Honeycomb以降でもオプションメニューはサポートされています。 オプションメニューにアクセスするためのUIとしてMenuボタンの代わりにActionButtonとOverflowButtonが用意されました。 ●Gingerbread以前との互換性 Menuボタンを持たない端末でGingerbread以前を対象としたアプ
さて、長いこと放置していたはてなダイアリーの方ですが、まとめ書きした方がいいものは、やっぱりこちらに書くということで。 AndroidでSQLiteを使うケースは多々あると思いますが、明言されていない注意点があるので忘備録がてら。 SQLiteDatabase#closeは明示で呼ぶな、Cursor#closeは明示で呼べ これはSQLiteの作りの話ですが、SQLiteではマルチスレッドに対してコネクションオープンからクローズまでは保障する、という作りになっています。 要はコネクション単位でスレッドセーフですよ、ということ。 AndroidでSQLiteを使って検索系の処理をするのに、いわゆるWebアプリ的な作りで考えると、更新系処理ではCUD処理のあとにSQLiteDatabase#closeとしがちですが、android.database.sqlite.SQLiteException
Androidで自前Threadを作る。 そのThreadで、他Threadからのメッセージを受け取ろうとすると Handlerを使うことになる。 、、、Handlerの詳細は、他のところに任せるとして、、、 で、 この自前Threadを 他からの停止要求があるまでは動かしておきたいなぁ、、、 となるとLooperを使うとよい、らしい。 、、、Looperの詳細は、他のところに任せるとして、、、 Thread#Runで、 Looper.prepare(); とやることで、カレントスレッドに紐付けられたLooperが初期化されます。 そして、 Looper.loop(); で、メッセージループが開始される。 ※これらのことは「HandlerThread」を使えばもっとスマートにいくのかな? Looper.prepare()と、Looper.loop()の間で new Handler(・・・)
一定時間後にこの処理を実行、などということをJavaでやるにはTimerTaskとTimerなどを使う。Androidでもそれはできるけど、TimerでやるとGUIを動かしてるメインスレッドと別のスレッドで動くことになるから結局Handler経由で操作しなきゃいけないし、毎回TimerTaskをnewする必要なんかもあったりするのはAndroidみたいな環境では嬉しくない。 android.os.Handlerを使いましょう。 public class AndroidTest extends Activity { private int count = 0; private final Context context = this; private final Handler handler = new Handler(); private final Runnable showMessa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く