投稿

[Qiita] AndroidのOnClickListenerでの2度押しを防止したい

※この記事は以前Qiitaに投稿されていた古い記事です AndroidでOnClickListenerを普通に実装して、頑張って連続タップするとイベントが2回発生して、例えば何か画面を開く処理が入ってたら画面が2つ起動しちゃったりするんですよね。 なのでこんな感じの拡張関数を作ってみました。 fun View . setOnOneClickListener ( onClick : ( view : View ? ) -> Unit ) = setOnClickListener { val lastClickTime = getTag ( R . id . click_time ) as ? Long ?: 0L setTag ( R . id . click_time , SystemClock . elapsedRealtime ( ) ) if ( SystemClock . elapsedRealtime ( ) - lastClickTime < 1000 ) { return @setOnClickListener } onClick ( it ) } これでいいのか感が正直あるので、何か他に良い方法があったら誰か教えてほしいです。 参考 https://stackoverflow.com/questions/5608720/android-preventing-double-click-on-a-button/9950832 元記事のQittaのコメントにて、こういうのもあるよと教えてもらいました(こっちのが良さそう) https://github.com/JakeWharton/butterknife/blob/master/butterknife-runtime/src/main/java/butterknife/internal/DebouncingOnClickListener.java

MacでAndroidのエミュレータや実機のgif動画を撮る方法

イメージ
MacでAndroidのエミュレータや実機のgif動画を撮りたいときありますよね。 そんなときに便利な方法を紹介します。 Androidのエミュレータのgif動画を撮る 最近のAndroidエミュレータでは標準でgif動画を撮ることができます。 まずはエミュレータを起動して、右下の三点リーダーを押します。 左側の「Screen record」メニューをタップしたら、「START RECORDING」を押すだけです。あとは好きなようにエミュレータを操作します。 撮影が終わったら次のような画面になるので「GIF」を選択して「SAVE」を押します。 こんな感じで簡単に撮ることができます。 Androidの実機のgif動画を撮る Androidの実機のgif動画を撮る方法はいくつかあるとは思うんですが、今回は「 androidtool-mac 」を使った方法を紹介します。 mortenjust/androidtool-mac: One-click screenshots, video recordings, app installation for iOS and Android https://github.com/mortenjust/androidtool-mac まずはandroidtool-macの releases から最新バージョンのAndroidTool.zipをダウンロードしてきます(記事執筆時点での最新バージョンは 1.0.36 )。 ダウンロードが終わったらzipを解凍して任意の場所にアプリケーションを置き、AndroidTool.appを開きます。 「Command + ,」またはメニューからPreferenceを開き、一番下にある「Also create GIF」にチェックを入れることでmp4動画と同...

Android界隈の人と関連アカウントなどをまとめたTwitterのリストを公開しました

昔々、Android界のスーパーエンジニアをまとめた記事がありました。 今すぐフォローすべきAndroid界のスーパーエンジニア http://d.hatena.ne.jp/vvakame/20110616 真・今すぐフォローすべきAndroid界のスーパーエンジニア http://d.hatena.ne.jp/kojira/20110616/1308234060 で、去年これの最新版無いかなーってつぶやきをしたのをさっきふと思い出しました。 今すぐフォローすべきAndroid界のスーパーエンジニア 2011-06-16 - @vvakame の日記 - https://t.co/0KYbjglH81 Twitterで個人的にAndroidエンジニアリスト的なの作っててふと、昔こういうの見て色んな人フォローしてたなあって思い出した。最新版どこかに落ちてないかな。 — しゃりふ@syarihu.net (@syarihu) March 16, 2018 というわけで、普段ウォッチしているAndroid関連の人や公式アカウントなどをまとめたTwitterリストをちょっと整理して公開しました(リスト名は適当です)。 @syarihu / Android界隈 https://twitter.com/syarihu/lists/android/members 僕が勝手にスーパーエンジニアとか決めつけてなにか言われても嫌なので、そういうのは関係なく僕の観測範囲でAndroid界隈でよく見るエンジニアだなーって人を入れてます。 多分僕を含めて技術以外のツイートをしている人も多いので、リストに入っている方々をよしなにフォローすると良いと思います。 僕の観測範囲が狭い可能性もあるので、この人入ってないよ!とかいればこっそり教えてくれるか、 上記の記事 のように「まだまだ足りてね!!この人もフォローしとけ!!」って記事を作ってもらえると嬉しいです。 というわけで後は頼んだ!

[Qiita] LinuxのTeamSpeak3サーバーをアップデートする

※この記事は以前Qiitaに投稿されていた古い記事です はじめに 僕が友人に頼まれて管理しているTeamSpeak3(TS3)サーバーがあるのですが、最近TS3がアップデートされたらしく、クライアントをアップデートすると次のようなエラーが出てしまい、サーバーもアップデートしてあげないと接続できないようになってしまったようです。 server version is too old for command というわけで、Linuxで稼働しているTS3サーバーをアップデートする方法をメモとして残しておきます。 TS3のサーバーアプリケーションが入っているディレクトリに移動する cd /bin/ts3 バックアップを取る cp -p -R teamspeak3-server_linux-amd64 teamspeak3-server_linux-amd64.2018-08-15 サーバーアプリケーションをダウンロード 次のURLから最新のサーバーアプリケーションのダウンロードリンクをコピーしてサーバーにダウンロードする https://www.teamspeak.com/en/downloads#server wget http://dl.4players.de/ts/releases/3.3.0/teamspeak3-server_linux_amd64-3.3.0.tar.bz2 解凍 解凍すると同じディレクトリ名で出てきちゃうので一旦別ディレクトリに移してから解凍する mkdir teamspeak3-server_linux-amd64-3.3.0 mv teamspeak3-server_linux_amd64-3.3.0.tar.bz2 teamspeak3-server_linux-amd64-3.3.0/ cd teamspeak3-server_linux-amd64-3.3.0/ tar xf teamspeak3-server_linux_amd64-3.3.0.tar.bz2 tar.bz2は用済みなので消す rm -f teamspeak3-server_linux_amd64-3.3.0.tar.bz2 アップデート時に不要なディレクトリを消す cd /bin/ts3/teamspeak3...

俺はGoogleに依存している

ふと思ったことがある。俺はGoogleに依存している。 1日にどれくらいGoogleに関連する製品・サービスを使っているのか。 1日の行動をベースに思いつく限り書いてみた。 とある日の1日の行動 起床 Google Homeに起こされる Google Homeに天気を聞く「OK, Google. 今日の天気を教えて」 シャワーを浴びて出たあとに体重を測る。Google Fitに自動で記録される エアコンがついていたらGoogle Homeで消す「OK, Google. エアコン切って」 家の鍵をQrioをつかってかける。Androidアプリをつかう 通勤中 携帯を使う。もちろんAndroid。 今日の予定を確認する。Google Calendarつかう ニュースを見る。Google Newsつかう 音楽を聞く。Google Play Musicつかう メールを確認する。InboxでGmailを確認する SNSを確認する。Twitter、Facebook、Google+つかう Twitterで気になった記事をブラウザで見る。Google Chromeつかう コミュニケーションツールを使う。LINE、ハングアウトつかう コンビニに寄る。Androidを使ってiDで決済する 定期券はAndroidでモバイルSuicaを使う 現在時刻や携帯の通知を確認する。Wear OS by Googleつかう 仕事中 仕事はAndroidアプリ開発。もちろんAndroidを使う 仕事中に調べ物をする。Google検索つかう 昼食 お昼に美味しいものを食べる。写真を撮る。そしてアップロード。Google Photoつかう 昼食代をモバイルSuicaで払う。Google Payにも購入履歴が残る 勉強会に行く 会場までの道を調べる。Google Maps LTする場合は事前に資料を作る。Google Slides 帰宅中 通勤中とほぼ同じ 最寄り駅から歩いて帰る。歩数を確認する。Google Fit 自宅にて 携帯機器をWi-Fiに繋ぐ。Google Wi-Fiつかう Google Homeでテレビをつける。「OK, Google. テレビをつけて」 テレビにテレ...

【io18日記】旅のおわり

イメージ
前回の投稿 に続いて、最終日です。 旅の終わりが近づいている — しゃりふ@io18 (@syarihu) 2018年5月11日 日本に帰るまでがGoogle I/O — しゃりふ@io18 (@syarihu) 2018年5月11日 ホテル出発、空港へ 12時20分のフライトだったので、7時ごろに起床し、8時ごろにチェックアウトしてホテルをあとにした。 空港へはUberを呼んで向かった。アメリカではUber本当に便利。 行き先を空港にすると、「スーツケースは1人1点まで」という表示が出てきていて、こういう出し分けもしているのかー、とおもった。 車に乗っている様子。 空港に近づくと、運転手の方にどのターミナルに行くの?と聞かれ、メールを確認してみたけど特にどことか書いていなかったのでターミナル1と答えた。 が、結局そこではなくInternational Terminal Gというところだったので、ちゃんと確認してから行くべきだなあと思った。 空港にて ターミナル1に着いて、場所が違ったのでなんとかTrain(名前忘れた)に乗ってInternational Terminal Gまで移動。 ANAの手荷物預入のところまで行って、手荷物を預けた。 日本語で対応してくれるという安心感がすごかった。 英語も早く話せるようになりたい。 荷物を預けたあと、お腹が空いたので朝ごはんを食べることに。 Breakfast pic.twitter.com/eQbGrsy8kN — しゃりふ@io18 (@syarihu) 2018年5月11日 アメリカっぽい。美味しかった。 ご飯も食べ終わり、出発まであと1時間半ほどになったので手荷物検査場へ。 靴も上着も脱がないといけなかったりして、わりと厳しい感じだったが、無事に通過。 お土産を買う暇があまりなかったので、空港でそれっぽいお土産を買った。 アメリカ出発 出国審査終わった。あとは飛行機が来るのを待つだけ。 pic.twitter.com/7S6k7wCe33 — しゃりふ@io18 (@syarihu) 2018年5月11日 というわけで、飛行機が出発する時間になり...

【io18日記】Google I/O 2018 3日目

イメージ
前回の投稿 に続いて、5日目です。 #io18 Day3! pic.twitter.com/l5y5DrBW59 — しゃりふ@io18 (@syarihu) 2018年5月10日 朝食 朝食のたまご毎回食べていた気がする。おいしかった。 ゆで卵めっちゃうまい #io18jp — しゃりふ@io18 (@syarihu) 2018年5月10日 午前のセッション Android Jetpack: manage UI navigation with Navigation Controller Navigation Editorの話と、それが実際内部でどんなことをしているのかという話など。 朝一のセッションはこれ! #io18jp pic.twitter.com/fOcwUrwnIY — しゃりふ@io18 (@syarihu) 2018年5月10日 Single Activityのアプリでは便利そうな感じ。 What’s new in Android apps for Chrome OS Chrome OSで動くAndroidアプリの話。 Chrome OSでAndroid Studio使ってAndroidアプリ開発すると、AndroidアプリがそのままChrome OS上で立ち上がるので、デスクトップアプリを開発しているみたいな感じだった。 ウィンドウサイズを変更してもデザインが崩れないようにしたりするのはConstraintLayout 2.0を使って実現するらしい。 タブレット対応やマルチウィンドウ対応に似たものを感じるけど、きっとこのChrome OS対応をすれば自然にタブレットでもうまく表示されるようになるのではないかなあと思っている。 この対応までできたら良さそうなあと思ってワクワクした。 そして最後にこんな嬉しいサプライズが。 最高かよ!! #io18jp pic.twitter.com/JZQhvPy4xO — しゃりふ@io18 (@syarihu) 2018年5月10日 Pixelbookの75% OFFクーポン(となぜかChromebookのソックス)をセッション...