投稿

こまめにBlogを書くなんて

はなから無理な話でした。 --- キリトリ --- Viewの描画のお話。 Viewのサイズを取得(getWidthとか)する際、まだ画面上にViewが描画されていないと 0 が返されます。 Activity上であれば、onWindowFocusChanged()が呼び出される時には確実にViewが描画されているので、 このタイミングでサイズを取得すればよいのですが、サイズの取得をActivity以外で行いたいときに、 今まではメソッドなどを通じてわざわざActivityから呼び出しを行っていました。 そんな面倒なことをしなくともViewTreeObserverを使えば、Viewを保持しているクラス内で完結出来るのです、すごい! お勉強させていただいたサイト様 @blog.justoneplanet.info

@@@ ABORTING: INVALID HEAP ADDRESS IN dlfree

っていうエラーのお話し。 開発したアプリのテストをしていると、ある処理を行うところでアプリがkillされる現象に陥った。 ぱっとみメモリ不足ではなさそうだったので頭をひねっていると、 プロセスがkillされる直前に以下のようなエラーが出ていることに気付く。 03-05 16:15:06.762: A/libc(19768): @@@ ABORTING: INVALID HEAP ADDRESS IN dlfree 03-05 16:15:06.782: A/libc(19768): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1) いかにもネイティブのエラーですって顔してて嫌な感じだったので、 いつも通りStackOverflowを頼るときれいな回答が。 What it boiled down to is a function call being made from two different threads at the same time. More specifically, this function was BluetoothSocket's close() method. I checked the source code  at this website  , and the call is not synchronized (not sure if this changed since it is from Android 2.1). 引用元: http://stackoverflow.com/questions/10662446/invalid-heap-address-and-fatal-signal-11(StackOverflow) どうも異なるスレッドから同時にメソッドを呼び出すと発生するご様子。 何でsynchronizedされていないのかは分からないけど、 思いっきりBluetoothSocket#close()を使っていたので排他的に呼ばれるように修正。

Bitmapオブジェクトをbyte配列に

日曜なのに会社。 びっくりするほどの社畜生っぷり、くそがー。 ByteArrayOutputStream bos = new ByteArrayOutputStream(); // ByteArrayOutputStreamオブジェクトを作り bmp.compress(CompressFormat.JPEG, 100, bos); // Bitmapオブジェクトを圧縮してストリームに流し込み byte[] bmpAry = bos.toByteArray(); // ストリームをバイト配列にする 引用: http://d.hatena.ne.jp/hyoromo/20091219/1261232755

Activity以外からstartActivityする

Androidは覚えきれないから得られた情報は書き残しておこうと心に誓ったのに、 なんで前回のポストから3ヵ月も経っているの・・・? 仕事中にBloggerを開く癖をつけるか。 いっそメモ書きしたらBloggerにポストされるように出来ないかな。 タイトルここから Activity以外(のContext)からstartAvtivity()を呼び出すと以下のエラーが発生する。 android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? なのでserviceなんかから呼び出す場合はFLAG_ACTIVITY_NEW_TASKをセットしてやる必要がある。 Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 理由は後ほど調べる。

androidのbitmapメモ

ResourceからBitmap BitmapFactory.decodeResource(getResources(), R.drawable.icon) ResourceからDrawable getResources().getDrawable(R.drawable.icon) DrawableからBitmap ((BitmapDrawable) drawable).getBitmap() BitmapからDrawable new BitmapDrawable(bitmap) 引用: http://d.hatena.ne.jp/hyoromo/20100612/1276305512

エレスで頑張るためのメモ②

Damage Outburst As I have mentioned under Glacial Wave about the 50% damage increment under a frozen state, here are some possible skill pairings. グレイシャルウェーブ下でのダメージ増加状態(凍結状態の相手を攻撃すると通常よりもダメージが50%増加する)における簡単なコンボ。 i.      Glacial Wave + Fire Bird / Phoenix Storm ii.     Glacial Wave + Inferno iii.    Glacial Wave + Firewall iv.    Glacial Wave + Flame Road v.     Glacial Wave + Fireball Tormentor Tormentor refers to constantly making your opponents unable to retaliate 相手に反撃(受け身、回避、カウンター含)をさせない連携 i.      Freezing Sword + Firewall OR Firewall + Freezing Sword アイシクルエッジ後にファイアウォール(逆順でも可)を置く (if your opponent activates Aerial Evasion straight after the 1 st  skill, there he goes lying on the ground) もし最初のスキルを当てた際に相手がエアリアルを消費した場合、次のスキルで相手は強制ダウン状態になる ii.      (When your opponent is lying o the floor) Poison Missile + Icy Stab / Frozen Spikes ダウン状態の相手に対して、ポインズン+...

エレスで頑張るためのメモ

【全職共通の被撃状態について】 攻撃を受けた際の状態として、 ・怯み ・通常のけぞり ・特殊のけぞり ・打ち上げ ・浮き ・ダウン ・吹き飛ばし と数種類の状態がありますが、 それぞれで使用できる復帰技やカウンター技に制限があるのでそれらもまとめてみます。 ・怯み 通常攻撃などあたると少し動きが止まる状態です。 基本的にエリアル以外の復帰とカウンターが使用可能です。 ・通常のけぞり ソドマスのトライなどのように大きく背を曲げたのけぞりです。 ディレイやディレイ抵抗の影響を受け、壁端での追撃以外は基本的にダウンも浮きもしない攻撃です。 エリアル以外の復帰とカウンターが使用可能です。 ・特殊のけぞり スキル固有に設定されているのけぞりでSA破壊値が高く大きく後ろにのけぞるのが特徴です。 またディレイ抵抗などの影響をほぼ受けないので一定時間復帰やカウンター以外の行動を受け付けないのも特徴です。 追撃を加えられると軽い浮き状態になるのでダウンを取れるのも特徴の一つです。 エリアル以外の復帰とカウンターが使用可能です。 ・打ち上げ 高いところに打ち上げられる状態です。マセのサークルボンバーなどがこれになります。 一度地面にバウンドすると浮き状態に変更しますが、 それまではエリアル系での復帰しか受け付けないのが特徴です。 ・浮き 軽く浮いた状態で地面まで落下する状態をいいます。 地面に落ちた後はダウン状態に移行します。 空中で攻撃を受けた場合は一部のスキルを除き全てこの状態になります。 浮いていますがエリアルだけでなくエスケとアクティブでも復帰が可能です。 ・ダウン ダウンしている状態です。 ここから這いずりや起き上がり攻撃に派生が可能です。 追撃にはダウン状態でもあたるスキルでなければ効果がありません。 また浮からダウンに移行するまでの間はエスケやアクティブが使用可能です。 ・吹き飛ばし 大きく吹き飛ばされる状態です。 カウンター系やエリアル系が使えないので、 男職はこの状態になった場合は100%追撃が入る状態です。 エスケ、アクティブでのみ復帰が可能です。 引用元: http://10yenblog.blog33.fc2.com/