2015-04-01から1ヶ月間の記事一覧
DatePickerDialogのボタンはOKとキャンセルの二つのはずなのに完了しか表示されない。。。と思ったらAndroidのバグらしい。4.1〜4.4で発生する。 このバグはIssueTrackerに登録されているが何年も放置されているので直ることはないだろう。 https://code.goo…
端末を回転させたら画面も回転させる場合、以下を実行していたがSCREEN_ORIENTATION_SENSORだと端末の自動回転設定をOFFにしても回転してしまう。 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); SCREEN_ORIENTATION_UNSPECIFIEDだと自…
先日のKindleの50%ポイント還元祭りの際に実質50%OFFだと言っている人が多くて、「いや、実質33.3%OFFでしょ」と思っていた。そうなる理由は下記記事参照。 50%ポイント還元の値引率は33.3% - 日々精進 でもKindleはポイントでの購入でもポイントが付く(!…
Hierarchy ViewerでViewの構造を調べようとすると、以下のエラーメッセージが出て調べられなかった。 [2015-06-10 14:29:03 - ViewServerDevice]Unable to debug device: ... [2015-06-10 14:29:04 - hierarchyviewer]Missing forwarded port for ... [2015-…
BigDecimal#stripTrailingZerosで削除できる。scaleも合わせて変更してくれる。 decimal = decimal.stripTrailingZeros(); 参考: Check if BigDecimal is integer value
踏み台を二段経由してサーバに接続する場合。 ~/.ssh/configに以下を追記する。 Host <踏み台1> User username Hostname springboardServer1 IdentityFile /Users/usename/.ssh/privateKey1 Host <踏み台2> User username Hostname springboardServer2 Pro…
テスターが実機でアプリを動かしていたらアプリが落ちたといって実機を開発者のところに持ってきた場合。 アプリのログは/dev/log/mainに吐かれるのでこれを参照すれば良い。 参考: Google グループ
iOSでは各ボタンにexclusiveTouchを設定していくところだが、Androidは 一箇所Styleを設定するだけでOKっぽい。 以下のように設定する。 <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:windowEnableSplitTouch">false</item> <item name="android:splitMotionEvents">false</item> </style>
1KB程度以上のファイルをZipInputStream#readで読み込むと途中で切れてしまった。 原因はZipInputStream#readはファイルの最後までデータを読み込むことを保証していないため。 BufferedInputStreamを使うと最後まで読み込める。 コード例は以下。 ZipInputS…
スマホの買い換えなどでもう使ってない端末があるけど、WebのGooglePlayからアプリをインストールしようとすると選択肢に出続けてたので削除した。 手順は↓参照 端末を非表示にする、端末のニックネームを追加する - Google Play ヘルプ インストール先の端…
Page2Feed APIを使う。下記サイトに書いてあるとおりの手順で購読できるようになる。コレは便利だ。 Page2Feed API | EDGEic.edge.jp 参考: あらゆるページをRSSリーダーで購読する - ザリガニが見ていた...。
手順は以下。意外とややこしかった。 Androidの 設定>その他>テザリング>Bluetoothテザリング にチェックを付ける Androidの 設定>Bluetooth>一番上の自端末の行をタップし、ペアリングする Macの システム環境設定>ネットワーク>Bluetooth PAN>接続…
1MB以上の添付ファイルがあり、未読のメールを一括で削除した。やりかたは以下。 has:attachment size:1000000 is:unread でけんさくする すべてのスレッドにチェックを付ける スレッド一覧上部の「この検索条件に一致するすべてのスレッドを選択する」をク…
予想以上にいい本でした。めっちゃおすすめです。 はじめよう! 要件定義 ~ビギナーからベテランまで作者: 羽生章洋出版社/メーカー: 技術評論社発売日: 2015/02/28メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る とにかくわかりやすい…
ATOKを使っているんだけど、いつの間にかMS IMEに切り替わってるときが度々あって邪魔なのでMS IMEを削除した。 手順は以下。 MS Office IMEを削除する。手順は→http://www.atmarkit.co.jp/fwin2k/win2ktips/1303offime/offime.html MS IMEを削除する。手順…
このようなコードではエラーが出た。 File tempFile = File.createTempFile("tempfile", ".zip"); 以下のように直すと直った。 File tempFile = File.createTempFile("tempfile", ".zip", context.getFilesDir()); やっぱAndroidは機種毎に挙動が違って大変…
カスタムViewGroupの子Viewのwidth, heightをコードから変更する場合、 setLayoutParamsを使えばいい。ただ、これを実行するタイミングはonMeasure実行以前でないといけない。 例えば、onLayoutはonMeasureの後で呼ばれるのでonLayoutの中でsetLayoutParams…
docomoの回線を解約するためにdocomoショップに行ったところ、対応してくださった人に「今解約して違約金を払うより、オプションすべて解除して一番安いプランにして回線維持して解約月になってから解約した方が安くすみますよ」とアドバイスを頂き、そのよ…
ハックされた原因はGithubのprivateリポジトリをpublicに変更したんだけど、そのリポジトリにAWSのアクセスキーとシークレットキーが含まれていたため。 我ながらあほすぎる。。 時系列で起こったことを書く。 金曜23時頃キー情報をpublicにしてしまう 土曜…
EC2インスタンスにSSHでログインできなくて困ったので現象とその原因を書く。 サーバからの応答がない サーバインスタンスが削除されていたため sshdプロセスが立ち上がっていなかったっぽい。サーバインスタンスを作り直すと直った。 VPCを使ってEC2を起動…
transientなフィールドがデシリアライズした時にnullになるのを避けるには、readObjectメソッドの中でフィールドを初期化すればいい。 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject()…
multitailコマンドでできる。brew install multitailでインストールした後、.zshrcに以下aliasを定義して使ってます。 alias tails='multitail -l "ssh server1 tail -f ~/logs/hoge.log" \ -L "ssh server2 tail -f ~/logs/fuga.log"' これは便利だなぁ。フ…
manifestPlaceholdersを使ってbuild variant毎に異なる値をManifestに埋め込む。 build.gradleで以下のようにmanifestPlaceholdersを定義しておく。 productFlavors { staging { manifestPlaceholders = [appName:"@string/app_name_staging"] } } Manifest…
エラーメッセージにも書いてあるけど、「tools:replace="label"」属性を追加すると直った。 この属性を追加するとmanifestをマージするときに、属性がコンフリクトした場合どちらを採用するかを指定できるっぽい。 参考: Android Studio 6.0 merger fail
以下引用。なるほどー。 <application>タグのandroid:label、android:icon 「Settting」‐「Applications」‐「Manage Applications」で表示されるアプリ一覧に表示される <activity>タグのandroid:label、android:icon Androidデスクトップに表示されるアイコンに表示される 参考: A</activity></application>…
android:background=に続けて@android:drawable/と打って、後は自分が使いたいアイコンに含まれていそうなキーワードを入力すると候補が出てくる。 もしくは↓を使った方が探しやすいかも知れない(自分は使ってません) konifar/android-material-design-ico…
Androidではデフォルトでは複数のViewが重なっている場合、下の方のViewにもTouchEventが送られるようだ。iOSはデフォルトで一番上のViewにしかTouchEventが送られない。 あるView以降TouchEvnetをBlockしたい場合はカスタムViewクラスを作って、以下を実装…
ScrollViewのheightを親と同じ高さにしたい場合は android:fillViewport="true" とすればいい。 参考: 【Android】ScrollViewで高さいっぱいに表示(fillViewport)|俺メモ Web時々アプリ | OREMEMO
以下手順でSSL通信の中身を見られるようになる。 CharlesのメニューのProxy>SSL Proxy Settings...を選択する Enable SSL Proxyingにチェックをつける addボタンをクリックし、SSL通信するドメインを追加する Charles便利っすわー。 参考: Legacy SSL Proxy…
原因はAndroid Studio Unit Testプラグインで、これをdisableにすると直った。 でも、これがないと単体テスト実行できないんだよな。。 早く不具合直ったバージョンが出て欲しい。。 参考: https://code.google.com/p/android/issues/detail?id=163314