Showing posts with label app. Show all posts
Showing posts with label app. Show all posts

Friday, June 20, 2014

My first project in Android

I found that there are several stages in the life cycle of a new personal project I set on.

  1. Initial rush - In this part everything is new and exciting. The world is full of endless possibilities an it seems like I can do everything. This is the part where I think that I can realize great projects and achieve greatness.
  2. Cooling part - This is the part where I realize that things are not so black and white as I initially thought. Usually the volume of information becomes overwhelming, I struggle with understanding some hard to grasp concepts and start to become demotivated. The initial goal of achieving greatness seems to distant itself more and more as the days pass. This is a critical part in the life cycle of a new project. If I find the motivation to pass over it, it will keep me going and I end up most of the time achieving what I initially proposed.
  3. Mastering - If I got to this part it means I have the necessary documentation materials gathered and organized and most likely something practical that drives my motivation to continue 

I haven't yet finish going trough all the materials I gathered about Android Development but I decided to work on my motivation to achieve the "Cooling part" I was mentioning above. The way I chose this was by implementing a rather silly idea I got a few weeks ago of making an app that will provide a collection of anthems from the various nations.

Maybe some will argue that you need to learn first what are the building blocks you can play with before you can start doing anything useful, but let's face it developing a real application instead of doing exercises based on a book it's much more fun. This method has it's drawbacks but for me it gets the job done and motivates me to go beyond the initial rush of taking over a new personal quest and keep on struggling to understand the new concepts.

I am still lacking crucial experience with some of the other aspects for the Android, like services, intents, broadcasts, but I plan to keep on studying in parallel with the projects I make. It's just that I found it much more rewarding to figure out new things as I struggle to implement something rather than following for weeks in a row a examples from a book.

After the first part of the book, dealing with fragments, viewpager, viewlist and making them all fit together nice and tidy, I found it extremely hard to reproduce it all over again in my new app. While I was coding the example app from the book, all was clear and I understood everything I did. When I had to do it all over again on my own in a different project, reality was different. In fact I failed miserably and realized that all I did so far was to try to memorize something that others have wrote it.

My new app is starting to get shape. It's using the Model-View-Controller architecture because I found if very useful to separate an application into distinctive layers. This makes the app maintenance much easier. I hope I will find the time to build the anthem database, which I am lacking at the moment. It's a very tedious job but it has to be done if I want to move forward with this project. After a day spent understanding Google Analytics, I think I have a fairly good idea of how to integrate it and in what way it can assist in understanding behavioral patterns of my future user base.

After I gather the anthem database and figure out how to make the sons play, the app with be ready to be launched on Google Play market as a beta release.

Wish me luck!

Friday, May 02, 2014

Time to dip my toes into Android sea!

Recently I found out about this old little project of mine and I thought to give it another try.

Two weeks ago I set up a new goal, to work on my Android programming skills. I've been gathering information for the first few days, then I set began to get an idea about what it means to develop apps on Android platform. I'll start keeping an blog of my journeys on the big Android sea, sharing the struggles and success I meet along the way.

I already had Eclipse, SDK and AVD installed since more then a year on my computer. Everything was set up on my hard drive in a folder called "Projects", which I must admit, due to a lot of work at my job lately, I haven't open it in a long time.

First thing I did was to start them up and update SDK and Eclipse to the latest versions. Once the easy part was done, I began gathering information from web. First link I found was Getting Started - Android Developers. I began the training session there but soon I realized I would have to find another source of information. The lessons there were aimed more towards someone who already has an idea about what Android development means. My only experience was a simple "Hello World" app that Eclipse creates by default when you make a new project.

After spending a few more hours searching for another tutorial, I came across Android Programming - The Big Nerd Ranch Guide and I decided to use it as my starting point. It proved to be a good tutorial and I am still using it right now.

So far I have made my first app, a simple Quizz game using activities. This lead me to learn about the structure of an Android project, manifest file, layout files, resource files, activity lifecycle, creating new activities from main activity, Model-View-Controller architecture and debugging.

Once the first app was done, I began working on my second app called CriminalIntent. I know the name sounds a bit strange, but the app is used to record a list with details about "Office Crimes" :)
The book says it's a good example to learn about Fragments and based of what I've seen so far it looks like it's an important part of my training. All applications from now on, no matter how simple, will be created using fragments.

I don't want to make this post any longer then it already is so I will stop here.

Stay tuned for further updates! ;)