Adblock FastはNexus6に効果がなかった
広告が邪魔なのでブロックできるアプリを探していると、こんなの見つけた play.google.com
Adblock Fast
なんか良さげ!
何も考えずNexus6に入れてみる
うーん、広告がブロックされている気配がない...
アプリの説明を読んでみると
The app requires and blocks ads in Samsung Internet 4.0 and up (not in other apps). After installing, follow the in-app instructions to turn ad blocking on.
Samsung Internetというアプリにしか効果がないようだ…
入れた意味なかった…
ちゃんと説明を読まない俺がダメなんですけどね
Samsung Internetとは
そのSamsung Internetとは何だろう?と調べると
サムスン端末じゃないとインストールできないっぽい
俺は無駄な時間を過ごしたのか
結局、広告はブロックできず、
効果のないアプリをインストールしては調べ、
読者は無駄な時間を費やしてしまったのか
いや、そうではない
収穫はあったのだ
あなたが開発者ならね
なーんと、Adblock Fastのアプリ説明にgithubのリポジトリが載っていて、ソースが見れるじゃありませんか!
GitHub - rocketshipapps/adblockfast: A new, faster ad blocker for Android, iOS, Chrome, and Opera.
広告をブロックする処理がどうなっているのか、勉強になりそう!
(俺は読んでないけど)
こうして、会社の昼休みが終わっていくのであった
10000時間よりも20時間
こんな記事を見て「なるほど」と感じた事がある。
simplearchitect.hatenablog.com
要約すると
何かを極めるになるには10000時間(4~5年)は必要になる。 最初は当然だれでも苦労するが、 20時間あたりから効率よくできるようになる。 その前にリタイアしてはもったいないですよ
という事が書いてある。
なるほど
10000時間努力を続けろ!
よりも
20時間だけでいいから続けろ!
のほうが遥に楽に感じる。
ある怠け者の人に、
「10000時間なんて無理だけど、20時間だけなら頑張れそうかも」
そう思わせたら、もうこっちのものだよね。
その怠け者…
俺の事なんだけどねw
Android4.0未満でadb backupは動かない
タイトルで結論が出ているが、それを知らず30分も調べた。
Android 3.0 Honeycomb端末を一生懸命adb backupしていると
adb: unable to connect for backup
となってしまうからだ。
結果、以下のリンクを見て出来ないという事を知ったので諦めた。
(Android4.0以降限定)adb backupを利用してみた! - ちむどろいど
Android4.0から追加された新機能で、”adb backup””adb restore”というコマンドがあります。
どうしても4未満で取りたいなら
海外のエンジニアは自前でスクリプトを組んでどうにかバックアップを取っているようだった。 android.stackexchange.com
adb shellとawkを組み合わせてバックアップ取ってる人もいて、関心した
やいまふに2.0.5リリース
個人開発で公開している八重山離島船の運行確認Androidアプリ、やいまふにをアップデートした。
メインは、昔にやっつけで作った時刻表を色々いじった。
あとは詳細のレイアウト詳細や、その他バグ修正。
アプデ内容
時刻表リニューアル
簡単に言うと、Google製アプリのレイアウトを真似た
既存のデザインを一新したんだけど、
CardViewの余白などをGoogle製のアプリを参考に調節した。
あと、運行会社別にタブ化して横スワイプで切り替えれるのは楽かなと思ってタブ化した。
あと、スピナーの自作View化にチャレンジしたが、結局見た目はデフォルトのスピナーと同じになった(笑)
凝り出すとキリがないし、勉強になったのでまぁいいか。
今回おもったこと
今回はCardViewをメインに調整したけども、
そもそもどういう場合にCardViewを使えば効果的なのかがよく分からない。
色々なアプリをみたところ、
項目毎にCardViewを使用して並べておいてある場合と、
強調したい個所だけCardViewにしているパターンの違いを感じた。
なんとなく使っているパーツは、実はこういう場面に使うとベストである!
的な、そういうデザイン寄りの知識が自分にはかなり不足している事を感じた。
プログラマーだし、仕方ないね
Nexus5のsimに挿した空アダプターを救出する方法
「抜けなくなるから空アダプタは絶対に挿さないでね」 って言われた10分後にやってしまった
続きを読むAndroid Mの外部ファイルへのパーミッション変更を今更確認
開発中に実体験で学んできた。
外部SDにログを出力しようとしたところ、Android6.0のMarshmallow端末のみエラーとなった。
/storage/emulated/0/20160215_171358.log: open failed: EACCES (Permission denied) java.io.FileNotFoundException: /storage/emulated/0/20160215_171358.log: open failed: EACCES (Permission denied) at libcore.io.IoBridge.open(IoBridge.java:452) at java.io.FileOutputStream.<init>(FileOutputStream.java:87) at java.io.FileOutputStream.<init>(FileOutputStream.java:127) at java.io.FileWriter.<init>(FileWriter.java:96) ...
原因はbuild.gradleのtargetSdkVersion 23の状態でビルドし、マシュマロ端末側からアクセス権限を許可していないためだった。
設定→アプリ→お目当てのアプリ→許可へすすみ、タップして許可onするとログ出力もファイルアクセスもできた。
なるほど、Marshmallowから個別に権限許可が必要なのか
この仕様変更は大きいな...
個別許可が面倒な場合
build.gradleのtargetSdkVersionを22にすりゃOK
targetSdkVersion 22
これで許可うんぬんの確認が不要で、外部ストレージにアクセス可能になった
Jsoupの を消す方法
trim()で消えない空白文字がある!?
と思ったら、Jsoupで取得したhtmlに だった。
どうやらjavaでは空白として認識せず、trimでも消せず困っていたら
java - How to remove with Jsoup? - Stack Overflow
上のリンクをもとに
String value = element.child(0).text().replace("\u00a0", "");
で消すことができた。
 は「replace("\u00a0", "")」で消せる!
また一つ賢くなった