おすしたべたい

おすしがたくさん食べられるようにがんばるブログ

ソフィの就活生応援ムービーがよい

ソフィが先日公開したブランディング目的のWebムービーが良いなと思った。
男なので生理用品には縁がないが、とても魅力を感じる内容だった。最後のメッセージがグッと来る。

内容もわかりやすくまとまっていて、「就活を頑張って欲しいからソフィは応援できるよ、するよ」というのがすごく伝わってきた。
「ソフィって良いブランドなのかも」と思ったし、生理用品の良し悪しとか全くわからないのでなんとも言えないけど、自分が女性だったら今度買ってみようかなと思ったかもしれないw わからんw


sofy presents 「すべての就活女子へ」

日清カップヌードルの「OBAKA’s UNIVERSITY」CMがプチ炎上して公開中止になったのは記憶に新しい。
あの動画を見ても「オイオイ日清攻めるな」としか思わなかったし、ブランディング目的だというのは理解しているものの、CMってなんなんだろうなと考えさせられる一件だった。

思い返してみると昔からカップヌードルのCMは攻め気味だった気もする。攻めの姿勢を消費者に伝えるのもいいが、「攻めてるんだ。だから美味しいんだ。だからカップヌードルがいいんだ。」という感じの納得感がある内容なら理解できるのだが。

クリエイティブを作っている頭のいい人達の気持ちは、ちゃんと翻訳してあげないとイチ消費者には理解できないと思う次第。
まぁカップヌードルほどの巨大ブランドであればアレでいいのかもしれないけど。
少なくとも、カップヌードルのCM見てカップヌードル買おうとは思わなかったけど、ソフィの動画をみてソフィの製品買うかもとは思った。男だけどw

もやもやすること

今やってる仕事なのですけれども、一応アプリの企画〜開発まですごくできる人ということで参加しています。
当初は開発だけ見てる体だったのだけれど、UI/UX含むデザイン面もぜひ提案して欲しいのことでそれなりのフィーをいただいて参加することになりました。

そんなわけで、仕様案やデザイン案が上がってくるたびに私の経験則でもっとこうした方がいいよみたいな話をするわけですが 「上がってきたデザインどおり忠実に作って下さい」とたびたび言い放たれ、私がいる意味とは。。。となっています。

上の人と担当者との間で意思の疎通ができていないのか、人の使い方がうまくないのか、プライドが邪魔をするのかわからないですが、だったらもっと安い予算でプログラムだけ書く人だか、あなたに忠実な僕(しもべ)だかを入れなさいよという話だし、そうでなければよりよいものを作るためにお互いの知恵を活かす努力をしましょうよと思うわけです。
でないとお金も時間も勿体無いし、こういう案件は経験上だいたい不幸になる傾向があります。

まぁここで腐って言われたことしかやりませんでは私のポリシーに反するので、いくら断られても提案し続けるなり、決められた制約の中で最大限のアウトプットを出すなりしていただくお金分はしっかりと働こうと思うわけですが、お互いにとってあまり良くない案件になっているなと感じています。

信用されてないのかもしれないなぁ。もっとちゃんとコミュニケーションをとる必要がありそうです。

ゆらゆら帝国と考え中

久しぶりにゆらゆら帝国の空洞ですを聞いた。

ゆら帝のラストアルバムでリリースは2007年。各種メディアで絶賛されてた作品だった。
ご多分に漏れずぼくもそれなりに衝撃的な作品で何度も繰り返し聞いた。
(余談だけど、曲名も大好きで「あえて抵抗しない」「まだ生きている」「バンドをやってる友達」「ソフトに死んでいる」なんかは、当時音楽をやっていたぼくからして、やられたー!やりたいこと全部やられたー!って勝手に思っていたw)

初期のゆらゆら帝国の攻撃的なサウンドも好きだったが、本作のつかみどころのないような抽象的なサウンドでも、なんとも「あーゆら帝っぽいな、かっこいいな」と思わせてくれるから不思議だ。

色んなキャッチーなサウンドから、アングラなサウンド、抽象的なサウンドまで、たくさんのカッコイイ曲があるが、どんな側面からでも「ゆら帝っぽさ」はブレておらず、ずっと聞いていたくなるような魅力がある。

今作を最後にゆらゆら帝国は解散してしまうが、理由も衝撃的で、端的に言えば「ゆらゆら帝国は完成した。」
これが...!時代に立ち会ったということか....!と思っている。

ゆらゆら帝国は在り方から最高にカッコイイバンドだったし、天才だったなーと思う。

そんなことを久しぶりに思い出した。Apple Musicのリンク貼っておきますねw

空洞です

4月だー

このブログの存在を忘れていたなぁ。 またすこしずつ書いていこうかなぁとか思っている。

MultiDexでクソはまった

普段はLollipopで開発していて、ゴリゴリ進めていたら突然のDexIndexOverflowExceptionなるものが発生。
よくわからなかったのでググッてどこかのStackOverflowの回答で出てた対策で適当に対応していた。
内容は、build.gradleに以下を追加するというもの。

android {
  defaultConfig {
    multiDexEnabled true
  }
}

この時は普通に動いたので特に何も気にしていなかった。

が、時は過ぎひと通り出来上がったところで(今更)KitKatでチェックしてみると、謎のエラーを吐きまくって実行できない。
java.lang.NoClassDefFoundErrorなんていう悲しい例外がすろーされまくって(自分が育てたクラスなのに…)アプリが起動する前に落ちてしまう。。 ということで一生懸命調べました。

そして!ついに!たどり着いたStackOverflowの記事がこちらになります。

stackoverflow.com

散々時間かけて悩んでソースコードの色んなところをコメントアウトしたり戻したりしてわけわかんなくなってましたが、結構前にbuild.guradleに追加したmultiDexEnabledがいけなかったんですねー。よくわからんものをよくわからんまま使うなということですねー。

そして最終的に辿り着いたのがこの記事でした。本当にありがとうございます。 wannabe-jellyfish.hatenablog.com

この記事によると

apkに含められるメソッドの総数は65,535が上限

だそうです。

所謂65k制限ってやつなんでしょうか?お前かよ!!!!!!!

multiDexEnabledはLollipop以降しかよしなにやってくれないようなので、KitKat以下でもよしなにやってもらえるようにするためにはそれ用のサポートライブラリを使えばいいようです。

dependencies {
    compile 'com.android.support:multidex:1.0.0'
}

ほとんど上の記事からの引用ですが、後はApplicationにMultiDexApplicationクラスを利用するか、独自のApplicationを利用している場合はMultiDexApplicationを継承して、MultiDex.install(this);すればいいようです。

public class MyApplication extends MultiDexApplication {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

これですべて解決出来ました。ここまでたどり着くのにすごく時間がかかった……

以上、現場からお伝えしました。

FragmentのonActivityResultが呼ばれない

備忘録。結構よく遭遇するかもしれません、Fragment側のonActivityResult()が呼ばれない問題です。
こいつの原因は大概親のActivity側でもonActivityResult()をオーバーライドしている場合です。

親のActivityでonActivityResult()をオーバーライドしているのに、そこでsuper.onActivityResult()をコールしていないのが原因のようです。

ということでActivity側のonActivityResult()super.onActivityResult()を一行書いてあげるだけで解決しました。 忘れないように忘れないように。

ListView内にEditTextを配置すると文字の入力ができない問題

掲題の件、ググるとポピュラーな問題だそうで意外とすぐに解決出来ました。

AndroidManifest.xmlの、ListViewを持つアクティビティのプロパティに
android:windowSoftInputMode="adjustPan"を追加しろとのことです。

<activity
  android:name="AwesomeActivity"
  android:label="@string/title_activity_awesome"
  android:windowSoftInputMode="adjustPan">
</activity>

こんな感じですな。
ただ、コレをするとソフトキーボードが出ているときは画面がスクロールできなくなります。ソフトキーボードが出ている間も画面も画面をスクロールさせたいよという人は結構頑張らないといけないかもです。
状況によってはListViewを使わないほうがいいかもしれませんね

原因はこのあんざいゆき大先生のこちらの記事が詳しいです。
Y.A.M の 雑記帳: Android ExpandableListView の子要素に EditText を入れるといろいろめんどい

じゃあこのwindowSoftInputModeってなんなの?という話ですが、ソフトキーボードが出てきた時のアクティビティの挙動を制御するためのものみたいです。 adjustPan以外のプロパティや細かい説明などは例によってあんざいゆき大先生の記事を御覧ください。
Y.A.M の 雑記帳: Android Onscreen Input Methods

以上、現場からお伝えしました。