Friday, May 23, 2014

5/23/14

Wow, I feel like I got a ton of stuff done today!  I ended up going with an SQLite database to store everything to avoid those issues where data was being lost in between Activities.  I was originally avoiding using a database because I'm don't really like working with SQL, but when I sat down and worked everything out it turned out pretty well.  Now I really appreciate the database setup they had at my internship last summer... I thought it was pretty complicated back then, but I can definitely see the advantages compared to my code

Of course, switching things to a database meant that I had to go back and basically rewrite everything that was using that data.  There's a lot of trial and error here.  But I guess it's worth it, because every time I am forced to go back and rewrite code, I learn something new.

So yeah.  Don't try to avoid the more complicated way of doing something if it is the correct way.

In other news, I'm going on vacation for the next week, so no more posts for a while.  Yeah, that's right, I'm talking to you, random 1-ish viewer per day.  Don't miss me too much.

Thursday, May 22, 2014

5/22/14

Got a lot done today.  Like I said in my last post, I removed my custom ArrayAdapter in favor of the SimpleAdapter class.  I got that working, and everything seemed awesome until I tried to update it.  Turns out SimpleAdapter is meant to be used on static data, so updating it is kind of a hassle, and not very efficient.  I ended up going back to my custom adapter (thank God for version control), which I was able to extend to work with all of the other ListViews in my app.

I also figured out how to make a dialog with a custom layout.  Ran into a few issues, but eventually got it working.

Now I'm stuck trying to figure out why, as I go up/back in my app, none of the objects modified in the child Activities are being updated.  I guess I must be making a copy somewhere when the child Activity is first started?  Looks like I've got some debugging ahead of me tomorrow.

Wednesday, May 21, 2014

5/21/14

Yesterday I watched so many tutorial videos that I fell asleep during the last one.  I learned a lot, but I won't be doing that again.  I then started designing the layout for my first real app.  I've already run into a couple of interesting design issues.  Coming from classes in school with pretty strict requirements, I'm not really used to having this degree of freedom.  It's pretty cool though.

After I got all the concepts drawn out, I started to actually implement my design.  I'm glad I took a few hours to draw out all those concepts and figure out as much as possible, because it has already clearly made my job easier.  Definitely something I will continue to practice for future apps.

The rest of my day was spent implementing a custom ArrayAdapter so I could use a ListView with some custom classes.  I did eventually get it working, but then I found out about the already existing SimpleAdapter class that can apparently do exactly what I needed.  So I will probably end up scrapping the class I made in favor of this SimpleAdapter, since my class wasn't very good anyway.

Monday, May 19, 2014

Day 1

I've already made a surprising amount of progress.  I was able to learn a lot of the basics and get used to Android Studio in only a few hours.  A good portion of my day was spent just trying to get my phone to accept my computer's fingerprint so I could install my test app on my phone.  I tried a dozen different things, but I could never get the fingerprint dialog to show up on my phone.  Turns out my ANDROID_SDK_HOME environment variable was pointing to the wrong location.  Must have been left over from the first time I attempted to install the Android SDK a few years ago.

I spent the rest of the day writing a simple app to help me practice some basic concepts before I start the real stuff.  I'll probably end up posting the source code on GitHub, since it's a pretty basic app and I don't really plan on doing anything with it.

Today I learned about some basic components and listeners and a lot about the different layout styles.  But most of my time was just spent getting everything set up and working.


The app takes a list of consonants and vowels, and alternates them to create a random name of specified length.  Pretty simple, but I've already learned a lot.



Yeah, I'm having fun with this.

Introductions

This is my first post on here, so I suppose I should introduce myself.  I go by 0x5453, and I am currently a student, in between my 4th and 5th years of studying Computer Engineering and Computer Science.  I decided to spend the entire summer learning about Android development, and I am going to use this blog to document my progress.  I have a couple of years of Java experience, but virtually no Android experience, so I figured this whole process might be a good thing to keep track of.

So here we are.  I will be using this blog to post my thoughts at least a few times a week.  Hopefully some other aspiring developer will read this and find some useful information.  I will also use this as a hub for my apps... once I actually have some apps, that is.

Stick around, read some stuff, maybe learn... or maybe laugh at my terrible code.  We will see.