[JAVA] I made an Android app for MiRm service

As one of the products of MiRm service, I made an application to manage the server. A brief introduction.

Screenshot_1555139632.png

Self-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).

What is MiRm?

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) ~~

In detail

A project started by @haniokasai. See https://mirm.jp.

What can you do with the app?

--Start / stop the server you set up --Check the status of the server --Share the server --Update the server usage period

etc...

architecture

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. architecture.png

Technology that supports apps

MiRm API Start / stop / forced stop / command transmission / standard output transmission etc. were performed by Web API communication by https GET / POST.

Where I got stuck

--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.

Issues

--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

Impressions

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.

Recommended Posts

I made an Android app for MiRm service
I made an app for myself! (Reading management app)
I made a matching app (Android app)
[Android] I made a pedometer app.
I made a calculator app on Android
I made a rock-paper-scissors app with android
I made an API client for Nature Remo
The training for newcomers was "Make an app!", So I made an app for the time being.
I made a library for displaying tutorials on Android.
I made an Android application that GETs with HTTP
I made a chat app.
Make an android app. (Day 5)
Is it an Android app?
I want to push an app made with Rails 6 to GitHub
I made an adapter for communication class with Retrofit2 + Rx2
I made an Android app for MiRm service
About Android App Components
10 Things I Hate About Android
I made a matching app (Android app)
[Android] I made a pedometer app.
I made a shopify app @java
Make an android app. (First day)
I made an annotation in Java.
I want to make an ios.android app
I made an app to scribble with PencilKit on a PDF file
I made an eco server with scala
I made a plugin for IntelliJ IDEA
I made a rock-paper-scissors app with kotlin
[Stajyun also admitted] I want a gourmet spy, but it costs 1103.3543 trillion yen, so I made an android app
I made a simple graph library for smartphone apps [MP Android Chart Kai]
I made a Diff tool for Java files
I made a viewer app that displays a PDF
Create your own Android app for Java learning
Android weather app
I made StringUtils.isBlank
I made a lock pattern using the volume key with the Android app. Fragment edition
I made an iPhone Theremin with Vision framework + AudioKit
Try running an app made with Quarkus on Heroku
Get Azure App Service for Java Configuration with System.getEnv ()
App development beginners tried to make an Android calculator app
I tried using an extended for statement in Java
Build an Android image for Orange Pi 4 with Docker
Create an Android app for those who don't want to play music on the speaker