📜 ⬆️ ⬇️

My first Android project, my first Android customer



The story of how Habr helped me decide to write the first application on android and helped me find the “customer”. The project has already been implemented and I decided to write about how it happened.


January 30. Evening.


Reading an article on Habré about learning English, I come across a link leading to a site that makes it easy to learn foreign words. The bottom line is that the site suggests a word from a prearranged dictionary and asks for a translation. Naturally, I was not going to learn languages ​​at home, but I wanted to download the application from the site to a smartphone in order not to waste time on the road wasted. But the application on the Android Market Google Play from the creators of the site was not ...
')
Recently, I became interested in developing applications for Android and decided, why don't I try my hand at writing a client for them. I am writing a letter to the address indicated on the website at 21:49:

Good day,
Your site is very convenient for learning foreign words, but many (including myself) would like to learn a foreign language on the road or anywhere else.

For example, I would love to learn words using my smartphone, but I did not find your official Android application.

Why don't you make an application for smartphones?

Main advantages:
+ Ability to learn anywhere
+ If you implement a single profile for the site and the application, then the study will be more convenient
+ Additional distribution (Android Market, AppStore, etc. are visited by millions of people).

If you are interested and need people to implement, I will gladly take part in this project on ambitious principles.

-
With respect and interest,
My name
"Software developer,
including mobile devices. ”

I go to bed.

January 31st.


I check mail in the morning. There's an answer!

Hello!

Thanks for the letter and kind feedback.

The application is interesting. How much will it cost?


Because I was not completely confident in my abilities (you never know, I will not do it or I will be busy), although I understood that the application is not complicated, we agreed that I would make them an application for free, and if we continue to monetize the project, we will divide profit.

After the formalities ask what is required of them at the moment.

I answer:

At this stage, in principle, nothing is required of you.

The application will be implemented:
-Your dictionaries / * Implied dictionaries made by user * /
- Ready dictionaries
- self verification method
- (Possible) Reminder, in order not to forget to learn words. / * The site has the ability to remind * /

In the future, I will do the second part, namely synchronization with the site.

At this stage I will need your advice.

The development of the final design I leave for you, but in principle I will try to implement it to the tone of your site.

In order for you to follow and give constructive suggestions, I will send you written applications.

At this stage I will write an application on Android.

I hope you have a smartphone with such an operating system.

Agreed I do.

January 31 - February 2.


Planning the first stage.

What do you need:
  1. convenient process of testing knowledge of words
  2. standard dictionaries that are already in the app
  3. creating dictionaries directly from the device and storing them


How are we going to do:

On my device, the virtual keyboard completely occupies the screen when the device is in landscape orientation, and (noted in some popular applications for communication), you must first enter text, press enter (well, or the Done button) and only then press the button in the “Send” application.

To make the testing process convenient, the main text (the word to be translated and the result of checking the previous word) will be displayed in the Hint text, i.e. in the text that is displayed when the input field is empty ( Hint text to display when the text is empty ) and by pressing enter, you will be asked to enter the translation of the next word and the result of checking the entry.



From the very beginning, I thought that we would make many categories and many languages ​​in standard dictionaries.

I am writing to them how it will be implemented.
Standard dictionary is just a text file.

Because the application will be in many languages, the corresponding standard dictionaries should be optimized.

For example, you can choose the standard dictionary "Animals" for any pair of languages.

This will be ensured by the fact that there will be dictionaries for each language separately, for example: ru_animal, en_animal, fr_animal, etc.

As a result, choosing a pair of languages ​​NM and comparing dictionaries with each other, we get a ready-made dictionary on the fly.

Store dictionaries in Raw and use them as needed.
/ * In the future, we abandoned this * /

“Our” dictionaries are stored using SQLite.
Interestingly about SQLite is written here .

3-7 February.


C coding, in principle, everything is quite easy.

Little feature:

When working with the word entry field (EditText), namely with the setHint method, the help text was changed in the EditText, but not changed in the virtual keyboard.
Those. the hint has already changed in EditText, but not on the keyboard yet:



Long sought the cause.
It turns out that you must first enter hintText, and then clear the field (well, or setText ("")), then everything will be ok!
I am sending the first stage of the application to w2mem (the person with whom I am contacting is called Alexander), I am waiting.

February 8


I get a response from Alexander. He likes. He said that the studio Artemy Lebedeva took up the design of the site. Enthusiasm is growing. We agree on the second stage.
What is required: authorization and access to dictionaries, downloading them to the device.

How are we going to do:

On the website w2mem authorization is performed using OpenId. I’ve been looking for information about openid on stackoverflow for a long time, I found the openid4java library, but I couldn’t quickly fix it.

As a result, we decided that the id and password for authorization through the application will be directly in the personal account of the profile.

Dictionaries get the usual HTTP request.

12th of February


Gash the second stage.
The application is almost ready, it remains to make the design. Later, I write a list of all that is required.

February 19


Having received the 18th, all that I needed was sending the application with the design. They like it again.
I disappear for 5 days.

24 February


I send Alexander an application with a slightly improved design.
We agree on what will be in the first version of the application. We decided that you should not make standard dictionaries by category, because it is too expensive.
As a result, the standard dictionary is a simple text file with words that is loaded into the SQLite library when you first start the application.
We finish everything that remains. Test

the 5th of March


Hooray. We spread the application on the market!

What is happening now:


Now the application has more than 300 downloads.
Recently, a colleague joined the project and, I hope, we will be released on iOS. In general, the application has great potential. The main thing is not to give up!

Application itself:


Application page on the site:
http://w2mem.com/android

Source: https://habr.com/ru/post/143077/


All Articles