四畳半の秘密基地

さあ、今日はどんな実験をしよう

MENU

DroidKaigiに参加できなかったのでTwitterで情報収集

完全自分用メモです。余裕で抽選漏れたので、Twitterを追っかけた。そして途中寝落ちしたり別作業したりで全部メモれなかった残念メモ。 次は参加したいなぁ

基調講演

SquareがFragmentを捨てる話

↑の話のまとめ(SpeakerDeck)

マッチョなActivity

サンプル マッチョじゃないサンプル

気になるワード

  • CustomView Icepick
  • Fragment Backstack

発表資料

-

開発を効率的に進められるまでの道程

気になるワード

  • オレオレDI

[公式のテストコードサンプル] (https://github.com/googlesamples/android-testing)

[発表資料] (http://www.slideshare.net/TakaoSumitomo/ss-47393000)

-

スクフェスの構成とアップデートサイクル

気になるワード - アクティビティを保持しないをON

[発表資料] (http://www.slideshare.net/kentaroiizuka/droidkaigi)

-

つかえるGradleプロジェクトの作り方

発表資料

気になるワード

  • EventBus
  • 困ったらShift*2
  • GUIからGradleの編集が可能?

-

アプリの企画、プロトタイプからリリースに至るまで

発表資料

-

初学者に嬉しいAndroid開発環境

発表資料

-

Android学ぶ君へ。生き抜くためのナレッジ共有

資料 資料2

気になるワード

  • MBTiles
  • adbからtextが入力できる「adb input text aaaaa」的な

-

新言語KotlinでAndroidプログラミング

お試しサイト的な何か

気になるワード

  • Java→Kotlinへ変換できる

発表資料

-

Bitmapは怖くない。

発表資料

気になるワード

-

アプリを公開する前に、最低限知っておきたいセキュリティ事項

資料

広告モジュールの安全性

アンドロイダー公式広告モジュール

Volleyのエラー内容を確認する

今更艦これにはまりました。他のソシャゲと何か違う気がします。資材調整して艦娘を発掘してく感じが素敵!

今回は、Volleyを使った通信でエラーの詳細を確認する方法です。
Volleyでサーバと通信して、エラーが返却された時に

volleyError.getMessage();

としてもダメみたいです。

http://stackoverflow.com/questions/21867929/android-how-handle-message-error-from-the-server-using-volley:stackoverflow
エラー内容はvolleyError.networkResponse.dataに入ってるようなので

new Response.ErrorListener() {
        @Override public void onErrorResponse(VolleyError error) {
            
            VolleyError newError = new VolleyError(new String(error.networkResponse.data));
            Log.d(TAG, "Failed:" + newError.getMessage());
        }
    }

としてあげるとエラーメッセージを取得することができました。

逃げるとは

nikkan-spa.jp

この記事を読んで、逃げるってなんだろうと考えてました。
「大人だって会社が嫌だったら逃げてる」っていうのはすごい納得で、会社が本当に嫌になったら転職すればいいし、起業してもいいし、自己責任だけど選択肢はいろいろあります。
でも学校は小・中は特に自宅から最寄りの学校とか決まってて、そこに通ってた記憶があります。

oshiete.goo.ne.jp

調べたら転校もできるっぽいけど、診断書とか必要になってきてめんどくさそう。
登校拒否する子がいるのもわかる気がします。代替となる選択肢がないもの。
ないわけじゃないけど世間的に認められてないといったほうが良いのか。

そう考えると、学校という環境はすごい特殊で異様だなって思います。
いじめで行うような行為を公共の場で行うと傷害罪に問われる気がします。もし、街中を歩いてて、いきなり殴られるようなことがあればとりあえず警察呼びます。

話がそれましたが、自分は逃げる賛成派です。
逃げてばかりいたらろくな大人にならないとか書いてありましたが、それも一概には言えなくて逃げる対象によるのではないかと思います。

目の前に、クマとかライオンとかがいきなり現れて、特に武器とか持ってない状態だったら迷わず逃げると思います。
極端な例で、社会では場合もう少し判断が難しくなると思います。
言葉遊びになりますが、誰でも逃げてるものはあります。ほぼ全ての人は死から逃げます。社会にでて働いてる人は貧困から逃げてるとも言えます。飢餓感から逃げるために食事をします。

そう考えると逃げるということはある対象から離れる・近づかないことなのではないでしょうか。
書いてみてそんなもん当たり前だと思いました(笑)
逃げるの反意語はなんだろう。「追う」とか「進む」とかかな。
「逃げる」の反意語の「進む」という行為はある対象を探す・近づくという意味になりそうですね。

何が言いたいかというと、学校が嫌だ!会社が嫌だ!ってなって退職やら登校拒否やらしたときに、
そうして空いた時間をどう使うかが重要だってことです。
空いた時間に、プログラミング勉強してみるとか、次の仕事探すとか、高校へ入る勉強を始めるとかしてればそれは進んでいるので逃げることではないと思います。

まとめると、
・生命の危機に関わるなら逃げる
・それ以外で逃げるなら、次の一手を考えてあるなら逃げる賛成
・特に次の一手を考えてなく、ひきこもってしまいそうなら非推奨
って感じかな。


余談ですが、言葉遊びでキリストの話を思い出しました。
何で読んだか忘れましたが、キリストが裏切り者のユダを許したかっていう話で、
許していない、なぜならキリストはユダを罰してないから。って話があって、なるほどーって思いました。
そういう意味で、進むと逃げるという行為も同居できないから(できるかも?)進めば、
逃げてません(キリッって言える気がする

転職しました

今月から新しい会社になりました。
ついに自分が作ったレガシーコードから解放される!と思いきや、次の会社にもレガシーなコードさんたちはいっぱい待っていました。
古い仕様書があったのが救いだけど、作った人やめちゃってた。。。

でも、すべて他人が作ったアプリを見るのは初めてなのでいい勉強になります。
勉強というか他人の思考を読むというのか、その人がどういう考えでこのコードを書いたのかわかるのが面白い。
めっちゃスパゲッティなコードだ、ここは綺麗に描いていある、急いでたのかコメントがない・・・
とか主にさぼってるところがわかる(気がする)。

ここで思ったのが、OSSのコードとか読み込んだら面白いんじゃないだろうか。
Squareとかの超有名ライブラリを読み込んで理解できたらハカーに一歩近づける・・・はず

Androidアプリ内課金のアイテム最大取得数

今日、アプリ内課金のテストしてたら販売アイテムの値段が取れていないことに気がついた。
課金部分のロジックは変更してないのになぜ・・・

調べてみたら

stack overflow

SKUは一度に20件までしか取れないそうです。
一気に取るなら20件毎に1回通信してあげないとだめっぽいですね。

自分のソース眺めて唸ってたけど、そろそろAndroidのソースも見た方がいい気がしてきた。
先を行ってる方々を見てると詰まった時にググって調べるのではなく、
Androidのソースの中身を見て調べてる方が多いと感じてたので、いずれ自分も!と思ってました。
フレームワークの中身が見れるのってOSSならではの利点だし、中の人が書いてるコードは気になる。

夢中になる方法

方法論ではないけど、体験談として書こうと思います。

ちょうど1年前に下記動画を見ました。

艦これは知ってはいましたが、あまり詳しくなくニコニコ動画のランキングに上がってくる動画で把握している程度でした。
動画を見ながら号泣してました。曲とMMDによる動画だけなんですが、何かメッセージのようなものを感じました。
んで気になって動画を見直してると、コメントに「これミッドウェー海戦のときの流れじゃね?」みたいなのがあって、これはミッドウェー海戦を描いた動画なのか?といろいろ調べました。無我夢中で調べてて気がついたら半日くらい経ってました。
なぜヲ級が飛龍に変わるのか、なぜ巻雲が止めをさしてるのか等いろいろわかってスッキリ!

今思うとあそこまで夢中になったのは久しぶりだなと。んでどうしてあんな夢中になったんだろうと考えてみると
感動+疑問+疑問解決への糸口
この3つが揃ったからかなと。
感動だけだと、よかったなーで終わってしまうし
疑問だけだと、生きていくに困らない限り調べないだろうし
感動+疑問だと、もやっとするけどどうすりゃいいかわからん
って感じになる気がします。

うん。そんな感じ。
でも感動って故意にできるものではないし、3つ揃えるのって難しいね。
自分の意思で感動するのは難しいけど、感動しやすい状態ってあると思います。
そんな状態に常にしておくとか?ストレス溜まってると感動というか感情が爆発しやすいよね。

プログラミングしてるときにも夢中になれたら上達早そうだなぁ

AndroidでFacebook LikeなImageView

FacebookAndroidアプリってタイムラインとかに表示されている画像を拡大するとき、
切り抜かれてる画像が画面幅に広がりながら全体が表示されてかっこいい。(表現難しい)

GridViewとかで表示している画像一覧をタップするとFacebookのように画像拡大できないかな
と思っていろいろやってみました。
・scaleType, adjustViewBoundsをごにょごにょして拡大
・FrameLayoutの上にImageViewを乗せてFrameLayoutを拡大

切り抜かれてる時点でscaleTypeはcenterCropだよなとか思いながら、試してみましたができず・・・

ネットに良いサンプル転がってないかぁと検索しているとStackOverFlowで発見

How to animate ImageView from center-crop to fill the screen and vice versa (facebook style)?

回答にソースコードが載っていて早速コピペして実行したら動きました!
中身を見ていると、ObjectAnimatorで拡大+位置補正処理をしている所は同じだったんですが、プロパティ名が見たことないものが入ってました。

public void runEnterAnimation(final int containerWidth, final int containerHeight) {
        final ObjectAnimator widthAnim = ObjectAnimator.ofInt(mFullImageView, "contentWidth", mFitSizeBitmap.x)
                .setDuration(ANIM_DURATION);
        final ObjectAnimator heightAnim = ObjectAnimator.ofInt(mFullImageView, "contentHeight", mFitSizeBitmap.y)
                .setDuration(ANIM_DURATION);
        final ObjectAnimator xAnim = ObjectAnimator.ofInt(mFullImageView, "contentX",
                (containerWidth - mFitSizeBitmap.x) / 2).setDuration(1000);
        final ObjectAnimator yAnim = ObjectAnimator.ofInt(mFullImageView, "contentY",
                (containerHeight - mFitSizeBitmap.y) / 2).setDuration(1000);
        widthAnim.start();
        heightAnim.start();
        xAnim.start();
        yAnim.start();
    }

公式サイトを探してみましたが見つかりませんでした。皆こういう情報をどこから仕入れてくるのかとても知りたい・・・