NanoWeb

ここ最近、AndroidTV端末(Amazon FireTV、PIXELA SMB400)をクライアント表示端末として触っているんだけど、サーバーとして使ったらどうだろうか?と考えた。
基本的にスタティックなHTMLで構成して、ごく一部の処理のみを外から操作すれば良い、という場面もけっこうあるはず。
アンドロイドアプリにWebViewとサーバー機能を持たせてしまえば、そこでコンテンツとして完結しつつ、外部からも操作しやすい。htmlの汎用性も得られる。
というわけで、nanohttpdを試した。

CGI的な処理はJavaのservletになる。servletはやる気がおきなかったので、簡単な文字列操作でWebViewの表示先を変える機能を作った。APIを作りこむのなら、servletを使うしかない。

◆ソース一式
https://github.com/umhr/NanoWeb

◆参考
IPアドレス取得メソッド
https://kaede.jp/2019/05/01223526/

AndroidアプリでWebサーバー(Nanohttpd)を立ち上げる
https://qiita.com/mktshhr/items/9effdd4a8fa9616095d6

Javaのスレッド(Thread)を使いこなすコツを、基礎からしっかり伝授
https://engineer-club.jp/java-thread