SHOWROOM - イベントでの配信者の獲得ポイント数を取得する - スマホ版(android版)
Playストアのレビューに「これぞ神アプリ!」という声が多いandroidのアプリ termux を利用して、「SHOWROOM - イベントでの配信者の獲得ポイント数を取得する(改良版)」にあるソースをスマホに移植してみました。
具体的な手順を以下に記しますが、迷うところは何もない"一本道"で簡単に環境構築から実行までできました。
しいて言えばハードウェア関連(OTG、bluetoothで接続するキーボード、マウスとそれに関連する設定)がいろいろやっかいです。ググるとキーボード入力が思うように行かないという話もいろいろあります。これについては環境が落ち着いたところで記事にまとめたいと思っています。
今回の環境
android 7.0
termux v0.95
go1.14.4 android/arm64
ZTE BLADE V0800 3GB/32GB Qualcomm Snapdragon 435 8コア 1.4G
USBキーボード (OTG+セルフパワータイプのUSBハブ)
USBマウス( 〃 )
Chromecast Charcoal
REGZA 19RE2
-------
ずっとPC中心の生活をしていたのですが、去年の11月にPCが壊れてしまいそのままスマホ中心の生活になってしまいました。
スマホがあればPCがなくてもけっこういろいろなことができるものだと再認識している今日このごろです。
termux を使ったり、この記事を書くときは スマホにキーボードとマウスを接続し、Chromecastで画面をテレビにミラーリングしています。
ちなみにテレビにミラーリングするときはいわゆるドットバイドットにして左端が切れないようにしておくのと、termuxのフォントを小さくしておく(Ctrl+Alt+"-"、大きくするのはとうぜんCtrl+Alt+"+" )のがポイントです。
viでソースを編集しているところ。termuxのフォントを小さくしてあるのでステータスバーやボトムナビゲーション(?)がやたら大きく見えます w
-------
ソースは「SHOWROOM - イベントでの配信者の獲得ポイント数を取得する(改良版)」 にあるものがそのまま使えます。ただ(最大)1分ウェイトするところがあり、これは無反応とみなされて待ってるあいだにダイアログが表示されるようなので、6秒ごとに何か出力するとかした方がいいと思います。この対応でバックグラウンドでも動くと思います。
ウェイトをしている
time.Sleep(time.Duration(60-ss) * time.Second)
のところを例えば
for et := 0; et < 60-ss; et += 5 {
fmt.Print(".")
time.Sleep(5 * time.Second)
}
とします(上と下は処理内容が少々(最大4秒ですし、この差が累積することもないです)違います。私は気になりませんが、数分に一度データを取得するので気になるという方は、ここだけでなく全体的にタイミングを見直してください)
--------
具体的な手順
termuxをplayストアからダウンロード、インストールして実行するとシェルのプロンプトが表示されますので、コマンドを以下のように実行して行きます。
補足
"termux-setup-storage" を実行すると内部ストレージへのシンボリックリンクが ~/storage の下にできます。どこでも参照できるわけでもないようで、今のところ私は ~/storage/dowloads でデータのやりとりをしています。
なお SDカードは /mnt/sdcard で参照できます。
"apt install vim" は vi を使うためです。"apt install git"は今回は必要ないのですが、"go get ....." で必要になることがあるので....
"apt install termux-elf-cleaner" はロードモジュールを実行したときの warning が表示されないようにするために必要です。ビルドと実行のあいだで使っています。
実行時にデータファイルとして RoomList.txt とRoomList.txtでファイル名を指定した一つ以上のファイル(この例では mikakunin_showroomer.txt )が必要です。
ファイルの内容は(タブがスペースになっていますが)下記に表示させていますが、このファイルでのテストは "mikakunin_showroomer" のイベントが終了するまでしかできません。それ以後は実行中のイベントで同じように作ってください。念のため。
----------
$ apt update
..........................
$ apt upgrade
..........................
$ termux-setup-storage
$ ls
storage
$ apt install vim
..........................
$ apt install git
..........................
$ apt install termux-elf-cleaner
..........................
$ apt install golang
..........................
$ go env
..........................
$ mkdir go
$ cd go
$ cp -r ~/storage/downloads/EvalPoint2 .
$ cd EvalPoint2
$ ls
EvalPoint2-a.go RoomList.txt
EvalPoint2.go mikakunin_showroomer.txt
$ cat RoomList.txt
mikakunin_showroomer.txt
$ cat mikakunin_showroomer.txt
0 0 0
Room00 e50cf1039407 mikakunin_showroomer 96747 false 1 2
Room01 61a5e3199543 mikakunin_showroomer 243565 false 1 2
Room02 norichan mikakunin_showroomer 192641 false 1 2
Room03 kogachan mikakunin_showroomer 198346 false 1 2
Room04 c8f783773817 mikakunin_showroomer 291006 false 1 2
$ ./EvalPoint2-a 6 5 2 0 0 0
Interval= 5 Mod= 2 HH_Detail= 0
skip mm=37..........
0 0 0
Room00 e50cf1039407 mikakunin_showroomer 96747 false 1
Room01 61a5e3199543 mikakunin_showroomer 243565 false 1
Room02 norichan mikakunin_showroomer 192641 false 1
Room03 kogachan mikakunin_showroomer 198346 false 1
Room04 c8f783773817 mikakunin_showroomer 291006 false 1
5
1 1867385 90882 e50cf1039407
2 1776503 90882 61a5e3199543
3 1354703 421800 norichan
4 729289 625414 kogachan
5 699805 29484 c8f783773817
2020/6/27 8:38:2 1867385 1776503 1354703729289 699805
.......^C
$
最近のコメント