My first Android, my first Android client



The story of how Habr helped me decide to write your first app on android and helped to find the "customer". The project has already been implemented and I decided to write about how it turned out.


January 30. Evening.


Reading the article on Habre about learning English, stumble on a link that leads to a site that is easy to memorize foreign words. The point is that the site offers a word from dictionary and asks you to enter your translation. Of course, to learn languages at home, I wasn't going to, but wanted to download the application from the website on the smartphone, not to spend time on the road for nothing. But the application of the Android Market Google Play from the creators of the site did not have...

Recently I got into app development for Android and decided, why don't I try myself, by writing them to the client. Write a letter to the address listed on the website 21:49

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

For example, I'd love taught words using your smartphone, but have not found your official Android application.

Why don't you make a app for smartphones?

Main advantages:
+The opportunity to teach anywhere
+If you implement a single profile for the site and application, the study will be doubly easier
+Additional dissemination(Android Market, AppStore, etc. are visited by millions of people).

If You are interested and need people to implement, will be glad to take part in this ambitious project basis.


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


I go to bed.

January 31.


Check the mail in the morning. There is an answer!

Hello!

Thank you for the email and kind review.

The app is interesting. How much will it cost?


Because I was not fully confident in his abilities (who knows, will not make or be busy), but I understand that the app is not complex, we have agreed that I will do them the app for free, and if will continue to monetize the project, we will share the profit.

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

Answer:

At this stage, in principle, nothing from you required.

The application will be carried out:
-Your dictionaries /* Implied dictionaries made by the user */
-Ready dictionaries
-The method checking
-(Possibly)a Reminder to not forget to teach the word. /*The reminder*/

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

At this stage, I need your advice.

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

In order to enable you to monitor and give constructive suggestions, I will send you a written application.

At this stage I will write an app on Android

I hope you have a smartphone with this operating system.


Agreed. Do.

31 Jan – 2 Feb.


Planning the first stage.

What:
    the
  1. convenient process of testing knowledge of words
  2. the
  3. standard dictionaries that are already in the app
  4. the
  5. creating dictionaries directly from the device and stored


what we will do:

On my device virtual keyboard covers the screen in landscape orientation of the device, and (noticed in some popular applications for chatting), you have to first enter text, press enter(or click finish) and then press the button in the application “Send”.

To make the testing process easy, the main text (the word you want to translate and the result of verification of the previous word) will be displayed in the Hint text, i.e. the text that is displayed when the input field is empty (Hint text to display when the text is empty) and pressing enter will request to enter a translation for the following words and the result of verification conducted.


From the beginning, I thought we were going to do a lot of categories and many languages in the standard dictionaries.

Write to them, how it will be implemented.
Standard dictionary is just a text file.

Because the app is in many languages, the relevant standard dictionaries should be optimized.

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

This will be achieved, what are dictionaries for each language separately, for example: ru_animal, en_animal, fr_animal etc.

In the end, choosing the language pair N-M and sopostavlyaet dictionaries with each other, getting a dictionary on the fly.


Stored the dictionaries in Raw and use as needed.
/* In the future, we rejected this */

“Their ” dictionaries are stored using SQLite.
Interesting about SQLite written here.

3-7 February.


C coding it is fairly easy.

Small stuff:

When working with the input field of the word(EditText), namely, with the method setHint, the tooltip text is changed in EditText, but was not changed in the virtual keyboard.
I.e. in EditText already changed the tip on the keyboard yet:



Been looking for a reason.
It turns out that you must first enter the hintText, and then clear the field(or setText(“”)), then everything will be OK!
Send the first stage of the application w2mem(people with whom I have contact, name is Alexander), forward.

8 February


Get an answer from Alexander. He likes. Said Lebedev Studio has undertaken the development of website design. Enthusiasm is growing. Agree on the second stage.
What is required: authorization and access dictionaries, downloading them to the device.

what we will do:

On the website w2mem authenticated with OpenId. Long on stackoverflow finding information about openid, I found a library openid4java, but never could quickly be screwed.

In the end I decided that id and password to login through the app will directly in your account profile.

Dictionaries get an ordinary HTTP request.

February 12


Gash the second stage.
The app is almost ready, it remains to make the design. Later, write a list of everything you want.

February 19


Getting the number 18 all I need send the application design. Them again like.
Gone for 5 days.

February 24


Send Alexander an app with a slightly improved design.
Agree about what will be in the first version of the application. Decided not to do the standard dictionaries category, as it is too expensive.
In summary, the standard dictionary is a simple text file that is loaded into SQLite library when you first launch the application.
Finish all that is left. Testim.

March 5


Cheers. Put the app on the market!

What happens now:


Now the application has more than 300 downloads.
Recently, the development of the project was joined by a colleague and, hopefully, we graduate and on iOS. In General, the application has great potential. Most importantly, do not give up!

The application itself:


Application page on the website:
http://w2mem.com/android
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Car navigation in detail

Google has launched an online training course advanced search

PostgreSQL: Analytics for DBA