[JAVA] What Android development beginners did before releasing the app in 2 weeks

Overview

The other day, we released the following apps!

○ Search for nearby restaurants https://play.google.com/store/apps/details?id=com.tsuda.getnearbyshop

近隣飲食店検索 近隣飲食店検索

The function of the app is to get the latitude and longitude of the current position by pressing the search button, pass it to the Hot Pepper API, and search for nearby restaurants. The search results are designed to access the Hot Pepper homepage by tapping the image.

It was my first time developing an Android app, but now I'm happy to manage to release my app! As for the production period this time, we are proceeding with development from time to time after work and on Saturdays and Sundays, and it was completed in about 2 weeks! I learned a lot from that, so I would like to write an article about what I did and what I learned in this development.

Install Android Studio

First of all, it doesn't start without preparing the development environment. So, on the first day of creating the app, I started by installing Android Studio. I referred to the following site when installing.

[Mac] How to install Android Studio

Show Hello World

In my case, when I try to make something amazing from the beginning, it puts a lot of effort on my shoulders, so next time I decided to display only Hello World. For the display, I referred to the following site.

-Install Android Studio and Hello World (Mac)

I'm using a Mac, but I thought the following sites would be helpful for those using Windows! (I haven't tried it! I'm sorry)

-[Android] Android Studio installation procedure (Windows) -[Android] Create a simple Hello world app in Android Studio

If Hello World can be displayed for the time being, there is no doubt that the environment has been built. It's time for fun coding!

Think about the concept of the app

But you can't just code in the dark clouds. To do the coding, you need to determine the specifications of the app. Even though it was a specification, in my case I imagined it to be quite vague. At first, I was thinking, "I wish I could see nearby restaurants when I pressed the button." *** Rather, the detailed specifications are like thinking while coding. *** *** However, thanks to that, I was able to enjoy developing apps. As I made it, I came up with a lot of things I wanted to stick to, and I realized that it is important to study happily! *** *** After that, in my daily life, I wrote down the places I came up with, such as "I want to do this here," in bullet points.

However, there were too many things I wanted to do on the way, and the memo was full. So, it was my first time to develop an Android app, and this time it was part of my study, so I decided to bring a simple app to completion. *** *** So, *** I decided to make an app with one function simply for the time being. *** ***

Do the coding

As I said above, at first I decided only on a vague image, and in my case I immediately started coding. Thanks to that, I had to change the code itself drastically on the way, but I was able to suppress the correction range because I had an image of vague and *** simple specifications. *** ***

As for the direction, first of all, I ignored the performance and design, and my goal was to implement the functions I wanted to realize ***. *** *** After all, if the shape was formed at an early stage, I could concentrate on the work such as minor corrections later. However, if there is too much coding, it will be irreparable if you notice a serious mistake later, so I thought that *** balance is important *** (rather, it is important. I later thought that I should have used git without the hassle!).

Decide the design

In this development, there is only one function, so I tried to design it as simple as possible ***. *** *** Until I got tired of it, I was paying attention to the following points.

● Keep colors as low as possible ● Design so that the user can easily imagine the operation.

So, as you can see from the top image, first I placed a big button ** don ** at the bottom of the screen and displayed that it should be ** van ** in the middle ("Search" Please press "part). By doing this, I thought that *** users could press the button below without hesitation. *** ***

To be honest, I like the "suppress color" part. I often make anything with a monotone design because suppressing the color gives a chic and refreshing impression (later, I do not have to worry about the color, so it will be implemented faster, so I will do it There is also a place where it ends up sweating).

Create an icon

I have no knowledge of graphic design and I don't have any special software. So, this time I tried to create the following icon using only the preview of Mac.

近隣飲食店検索

I tried to create the icon as easily as I could and to show the features of the app. The icon is pretty simple, but I was impressed when it actually appeared on my device.

アイコン

Actually, before creating the icon, I thought that it would be difficult to set various icons for the application, but after investigating various things, *** It is surprisingly easy to set the icon. I understood. *** *** Android Studio has prepared a tool for icon settings, and if you prepare a round image like the one above, the tool will do all the basic settings after ***. *** *** For how to set the icon and how to use the tool, I referred to the following site.

-[Android] Image Asset that allows you to easily create icons

By the way, even on the site I created before, I created a similar icon with a similar design (sweat)

Coding miscellaneous notes

Improve perfection

The app looks pretty good up to this point, but at the end we've done some work to improve it!

Check the operation on terminals of various sizes

I thought when I created a website before, but I thought it was important that the layout was displayed on various devices without breaking the design. *** *** Therefore, we installed a relatively large number of virtual devices this time as well, and implemented the layout so that the display is unified on all terminals as much as possible. When actually testing the layout, I referred to the following site.

Test Android devices with various screen sizes

Since I usually use an actual Android device, I was initially implementing it on the actual device. However, Android Studio has so many virtual devices that I thought there was no reason not to use them in this development!

Stick to speed

The released app is a simple function that just searches for nearby restaurants, but initially it took more than *** 30 seconds to complete the search. *** *** I thought that it would be faster to search normally, so I reviewed variously to see if there were any holes in my coding. As a result, I discovered various bottlenecks, and finally succeeded in shortening it to about 2 to 10 seconds. I'm thinking of posting another article about the points that I could improve! The app I created this time was a one-point specialized type that searches only with a single condition, so I wanted to sell a place that can be searched quickly with a certain number of conditions ***, so speed I reviewed the coding considerably in the part of.

Release the app

It is written on various other sites that the examination will be completed relatively quickly, but in my case it took about 3 days to complete the examination. It was talked about in qiita before, but is it because the examination of Android applications has become stricter recently? So I was a little nervous while I was waiting, but the joy of the release *** was irreplaceable. *** ***

I got the impression that the release work itself is a lot of work. Once you make an app, it's not the end, you have to create icons, take screenshots to introduce the app, think about introductory texts, and so on. I learned from the development of. However, since I was able to experience a series of work once in this development, I also got the feeling that I can work on the release work more smoothly next time! *** *** For the release work, I referred to the following site!

Publish the app to the Google Play Store

On the site that I referred to, it is supposed to be roughly divided into 4 items to complete the task, but now there is one more item to do, and *** totaled 5 items. .. *** ***

Screen Shot 2019-09-13 at 22.33.23.png

The gray checkpoints are tasks that need to be completed by the time they are released, and it seems that completing all of them will prepare them for release.

After that, I found it rather difficult to create an apk file. For Android apps, you need to create an apk file for release. For details, I referred to the following site.

・ [Publish [Android] app to Google Play, create apk file -Create the apk file (app packaged in one file) required to publish the app.

After going through the above process and applying for the release, all you have to do is wait for the app to be released after the review!

Finally

First of all, I am very pleased to be able to release my app. I felt a sense of accomplishment as if I had achieved something. The app itself is very simple, and although it is still far from being a veteran, I feel that I have grown a step further as a programmer.

Of course, I don't think I can be relieved just because the app has been released ***. We will continue to improve the released apps, and if we have the opportunity to develop new apps, we will continue to take on challenges!

Recommended Posts

What Android development beginners did before releasing the app in 2 weeks
What Docker beginners did before setting up the nginx learning environment
Riot (chat app) development (settings) in Android Studio
Android Studio development for the first time (for beginners)
Get your version number in the Android app
What did I prepare for when I entered an Android application development project while developing the Web in Java?
App development beginners tried to make an Android calculator app
What Android, Kotlin beginners did in a month and what they were able to do
What I did in the version upgrade from Ruby 2.5.2 to 2.7.1
Android app personal development kickoff
ROS app development on Android
What I did in the migration from Spring Boot 1.4 series to 2.0 series
What I did in the migration from Spring Boot 1.5 series to 2.0 series
About the basics of Android development
Notes for Android application development beginners
What are the rules in JUnit?
Trial and error to display national holidays in Android app development. Part 2
Visualize your efforts! Development of stacking management app ~ Spring app release in 5 weeks ~
The story of releasing the Android app to the Play Store for the first time.
What I did when JSF couldn't display database information in the view
What wasn't fair use in the diversion of Java APIs on Android
Android development, how to check null in the value of JSON object