My First Mobile App

I spent the better part of the day finishing a homework project for school.  This particular homework, however, was a little more exciting than mos.  The main reason for this is that was my first serious mobile application.  Being my first program of this type, it was not all that impressive, but still a lot of fun to write.  All it really does is access and modify a database.  It did however provide some good experience in dealing with persistent data storage and creating user interfaces in J2ME.

What I’m most proud of, however, is the design that went into it.  I’ve been trying to take Andrew Hunt and David Thomas’ advice into consideration while programming, particularly their advice to always think about your work and how it could be better.  With that in mind I decided to more than just throw something together that works, but instead try to really design something.  I read a book over break about design patterns, and I realized that this would be the perfect place to test out some knowledge.  What I ended up with was a Model-View-Controller design consisting of a database class (the model), two gui classes (the views), and the MIDlet class (the controller).  It’s really nice in that the gui never touches the database, the database never  touches the gui, and everything could be easily extended or totally replaced with very little effort.  Granted, it took all day to write what could have been banged out in a couple of hours, but I really feel like I stepped my skills up to a new level with this project.  And after all, isn’t part of the purpose of school projects being able to test out ideas and try out things you’ve learned in an environment free of budgets and hard deadlines?

In general this is turning out to be a really cool class.  For our first project we got to play with robots.  That’s right, robots.  How cool is that?  In fact, I really like all of my classes so far.  I’m going to be working on a really cool project in my Software Engineering class involving distributed computing using Java RMI, and my other course is primarily a math course, which I always love.

My other personal goal for the semester is to get comfortable with version control.  I know that any serious project uses version control, so I might as well get a leg up on learning it now.  Plus, it’s just a good idea to use it.  The particular flavor I settled on is Subversion.  I’ve been able to get it set up and I’ve done some  testing with it, but I’ve yet to really use it on a project.  The good news is, it looks like Netbeans has great subversion integration.  Once I get it down pretty well, I plan to move on to learning JUnit for unit testing and Ant for automated builds.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.