我开发了 MiRm 服务的安卓应用程序

我在MiRm服务的产品之一,创建了一个用于管理服务器的应用程序。
简单介绍一下。

Screenshot_1555139632.png

我是自己介绍。

就读于一个普通科高中的二年级男生。
主要使用Java,也在逐渐学习Kotlin。
同时担任MiRm(Minecraft的免费多人服务器托管服务)的开发团队。

MiRm 是什么?

我想在Minecraft BE上进行多人游戏!

必须搭建服务器!

没有服务器…

那我想租用一个服务器吧←这里可以租到

可以租到服务器。为了增加趣味性,还可以安装插件!←这是一个能提供的服务。

太好了(没有朋友的话)

请提供更详细的信息

请参考@haniokasai先生开始的项目。
请访问https://mirm.jp。

在这个应用程序里你可以做什么?

    • 立てたサーバーを起動・停止する

 

    • サーバーのステータスを確認する

 

    • サーバーを共有する

 

    サーバーの利用期間を更新する

などなど…

アーキテクチャ

architecture.png

支撑应用程序的技术

    • Android SDK Java

 

    • Google Firebase(中央サーバーからの通知)

 

    • Google Admob(バナー広告・動画広告)

 

    • Gson(Json処理)

 

    • Junit(テスト環境)

 

    Zxing Android Embedded(QRコードの作成)

MiRm 应用编程接口

httpsのGET/POSTによるWeb API通信で起動・停止・強制停止・コマンド送信・標準出力送信などを行った。

はまったところ

    • EditTextでEnterキーを押したときの処理

 

    • Enterキーを押したときに入力されたものを取得し、コマンドを送信するという処理を実装しようとしてsetOnkeyListenerをした。

 

    • →ソフトウェアキーボードだとイベントが発火しない!

 

    • →onTextChanged(TextWatcher)を使って実装

 

    • →TextWatcher#afterTextChangedをオーバライドし、改行コードが含まれてるかどうかで処理

 

    • このとき、EditTextはmultiline属性にしておいた。

 

    • アクティビティに設定したフラグメントをバックキーで切り替えたいが…

 

    • 一番最初まで戻るとフラグメントがなくなり、真っ白になってしまう!

 

    • →一番最初に設定するフラグメントをスタックに積まないようにした

 

    • 重い

 

    • AsyncTaskをstaticに管理していたため。禁忌や。やってはいけない!!

 

    • RewardedAdVideoの抽象メソッドが多すぎてコードが冗長化する

 

    状態がいろいろあるから仕方ないと思うが、ここは必要なメソッドだけ抽象化したクラスを定義して対応。

问题和其他事项

    • UI/UXをもっと改善できるはず。

 

    • 広告のロードが遅いからもう少し早くならないか。

 

    • 将来的にはkotlin/NativeをつかったiOSアプリとのクロスプラットフォームアプリに。

 

    Googleの審査に落ちないようなアプリにしたい

个人思考

其实,这是我作为Android应用的处女作,但我觉得它已经成为一个非常优秀的应用了。
在开发过程中,我的电脑多次出现冻结和崩溃,导致我失去了一些数据,真是很痛苦。下次我想更频繁地使用Git进行提交。

2019/4/25 补充
该应用在发布后不久就被从Google Play中删除,用户没有使用过它。

bannerAds