通知エリアからツイートするAndroidアプリ、Monotweetyを公開した(コードもあるよ)

掲題のとおり、アプリをGoogle Play Storeに公開しました。 今回はコードもGitHubで公開してます。Apache v2です。 名前は"Monotweety"。「モノツイーティ」と読みます。 機能はホントにシンプルで、「通知エリアからツイートする」だけです。 実際のところ通知エリアからツイートできるのはAndroid 7.0以降の端末だけで、それ未満の端末では通知をタップすると編集ダイアログが表示されます。 通知から 直でツイート Android 7.0未満ではダイアログから モチベーション ひとりごとみたいにツイートすることが多いのでツイート特化型アプリがほしい 既存の通知エリアからツイートできるアプリは古くてメンテされてるか不明なものばかり »

go getでprivate repositoryを取得するには

$ go get github.com/some/private/repository って普通にやってももちろん取れず。 ~/.netrcに設定を追加する必要がある。 machine github.com login {your_github_username} password {github_token} github_tokenはgithubの設定画面から取得できるトークンのこと。 ~/.netrcの権限を600に変えたら、あとはprivate repositoryでもgo getできた。 »

Recovery/FastbootモードのAndroid端末をUbuntuに認識させる

普通に起動してるぶんには何もしなくてもadb devicesで認識してくれてたけど、OTA zipをsideloadしようと思ってリカバリモードで起動したらPermission denied的なエラーが出て認識してくれなかった。 調べてみたらudevの設定が必要なようだった。 手順としては下記の通り。 1. リカバリモードで起動 $ adb reboot recovery 2. lsusbで端末のidを取得 $ lsusb > Bus 002 Device 009: ID 18d1:4ee2 Google Inc. Nexus »

続:Realmインスタンスを、Observableのunsubscribe時に同じスレッドでunsubscribeする

前回の続きです。 Observable#usingを使うと、Observableのunsubscribe時にRealmインスタンスを同じスレッド上で閉じることができるよ、と前回の記事で書きました。 結論から言うと前回のコードだけでは足りませんでした。 大体の場合において同じスレッド上でcloseされるのですが、たまに別スレッドで閉じられてしまう、ということがわかりました。 Twitter上でうんうん言いながらRxJavaのコードを読みながら再現するコードを書こうとしてたら、@hydrakecatさんが捕捉してくださり、さくっと再現させてくれました。 やはり頑張ってRxJavaとRealmのコードを読み込むしかない— せーい(yshrsmz) (@_yshrsmz) 2016年7月13日 @_yshrsmz うーん、再現したかも。とりあえず、このコードを何回も実行するとたまに main スレッドでクローズされますね。https: »

RealmインスタンスをObservableのunsubscribe時にcloseする

※2016/07/21更新: このコードだけだと必ずしも同じスレッドでcloseされないことがわかりました。"続:Realmインスタンスを、Observableのunsubscribe時に同じスレッドでunsubscribeする"もご確認ください。 RealmはRxJavaを公式でサポートしていますが、公式のRxサポートが動くのはUIスレッドなど、Looperのあるスレッドだけです。 そこでRealmObjectをObservableで返すメソッドを自前で書いたりするわけですが、Rx使ってるとメソッドがどのスレッドから呼ばれるかわからないので、Realmをどこでcloseしたらいいかわからなくなりがちです。 そんな状態だとclose漏れのRealmインスタンスが発生して、OutOfMemoryExceptionが発生してしまいます。 最初はdoOnUnsubscribeでやればいいじゃん?って思ってたんですが、doOnUnsubscribeはObserverのスレッドで呼ばれるみたいで、スレッド違いでエラーになってしまいます。 public Obseravble<Realm> asObservable( »