As one of the products of MiRm service, I made an application to manage the server. A brief introduction.
A sophomore boy who goes to an ordinary high school. I mainly use Java. Kotlin little by little ... I'm a development team for MiRm (Minecraft's free multiplayer server hosting service).
I want to play multiplayer with Minecraft BE! ↓ I have to set up a server! !! ↓ I don't have a server ... ↓ Then I want to rent a server ← here and ↓ The server was rented. Let's add a plugin to make it interesting! ← It is a service that does this. ↓ Wow ~~ (I didn't have any friends) ~~
A project started by @haniokasai. See https://mirm.jp.
--Start / stop the server you set up --Check the status of the server --Share the server --Update the server usage period
I tried to describe only the area around the app. The app itself adopted the basic MVP architecture. Steady Mistress is the central server of the system. In addition, it is responsible for starting each user's server, managing memory, and backing up.
MiRm API Start / stop / forced stop / command transmission / standard output transmission etc. were performed by Web API communication by https GET / POST.
--What happens when you press the Enter key in EditText I did setOnkeyListener to implement the process of getting what was entered when the Enter key was pressed and sending a command. → The event does not fire with a software keyboard! → Implemented using onTextChanged (TextWatcher) → Override TextWatcher # afterTextChanged and process depending on whether line feed code is included At this time, EditText was set to the multiline attribute.
--I want to switch the fragment set for the activity with the back key ... When you return to the very beginning, the fragments disappear and it becomes pure white! → The fragment to be set first is not put on the stack.
--Heavy Because AsyncTask was managed statically. Contraindications. Don't do it! !!
--Too many RewardedAdVideo abstract methods make your code redundant I think it can't be helped because there are various states, but here we define a class that abstracts only the necessary methods.
--You should be able to improve UI / UX even more. ――Isn't it a little faster because the ads load slowly? ――In the future, it will be a cross-platform app with iOS apps using kotlin / Native. ――I want to make an app that won't fail Google's review
Actually, it was a virgin app as an Android app, but I think it has become a pretty good app. I lost some data during development due to a PC freeze or crash. It's hard. From now on, I want to commit to Git at a finer timing.
2019/4/25 postscript The app was removed from Google Play shortly after its release and was never used by users.