For Jon and I this is the end of the road for undergrad. This Android project was a great way to end it. All three of us want to continue to work on the app after school ends, we still have plans for it.
I’ve learned quite a bit over the course of the semester, not just coding with Android but how to work with a team. We all became pretty good at using git, although sometimes the project still hates me and doesn’t want to work but that’s ok. We have hundreds and hundreds of emails over the past few months talking about the app. We also took advantage of the library TVs and did a bit of code review at our (bi)-weekly meetings. Of course, we all learned Java for Android quite a bit, too and attempting to use the GUI for XML.
This was a great experience and a great way to end my undergraduate degree.
Thanks to everyone who helped along the way,
The release candidate is ready to go and so starts the crazy amount of bug testing we will need to do. We need to assure we check all the edge cases and all the scenarios in which the user could break our app. It reminds me of the last time working before a Mahadev assignment is due and checking if anything could go wrong. We need to make sure things like:
repeating alarms actually set to the proper date.
what happens if you delete a task right before it’s due, does the alarm still go off? What about deleting it before looking at the notification? (we corrected this one earlier)
What happens if you set something to go off in the past, how will our app handle it?
Do the notifications stack correctly if it repeats frequently?
Does the app do anything about SQL injection?
Does anything happen if a task has all the same information?
what about categories, does the name matter?
If you create a category in a different activity can you use it in addTaskActivity?
The list seems to be endless and ones where we need to create like 20 tasks to make sure everything works at that high of a load is up to Jon/Dhimitri since my VM doesn’t really play nice.
Questions like these are a great way to test to make sure the app is functional. I’ll doing another write up about what google would like our app to.
Jon wrote a terrific step by step tutorial and since I jut got my new laptop (the difference is night/day) I figured it would be great to test out how well it was written. I am texting Jon now so if I see anything I’m lost as I can just bother him.
On a side note, having a new laptop is the greatest thing, ever. Best part about it is actually having a battery. Much more faster than my Sony and I am excited to get my ram upgrade (hopefully Wednesday).
Anyways, here goes the tutorial.
First thing I thought was strange was why I was downloading the 32 bit version of everything so I gave Jon a quick text and he said, “because it goes with 32 bit jdk. You can get 64 bit if you want, but it’s not necessary as android apps are 32 bit anyways.” TIL. Now I play the waiting game waiting for all the Android APIs etc to finish downloading.
The only problem I had to fix was the location of the library, Dhimitri kept saying that it was in an awful spot and was messing with commits, since we put it in /android instead of /java. After that it’s pretty.
Setup was fairly simple and I was feeling lazy so I tested out githubs GUI version and it’s simply a one click to clone a repo, couldn’t have been easier.
Synergy! haha, Jon Dhimitri and I met up on Thursday to discuss the final process in the app. I figured since Dhimitri has that little netbook that he can’t do much with that I would bring a VGA cable to the library and set my laptop up on the big screen. I’ll remember not to listen to Dhimitri though because the VGA cable wouldn’t fit so I had to run back and grab an HDMI, the result:
It actually worked out really well, and I wish we had started doing it earlier. We used My/Jon’s laptop and were able to solve a problem in Dhimitri’s ViewCalendarActivity which turned out to be some weird problem with using .get__() (it was a call to a different class outside the package) which it didn’t like and wouldn’t allow the calendar to move more than a month away.
The meeting lasted a pretty long time where we discussed where the app was going and who was testing it. I suggested we use r/androidDev from Reddit considering we would definitely get some feedback from knowledgeable app devs who are happy to help. I think it might be a good idea to get some freshmen CS students into the testing too, I’ll email whomever is doing 101/140 this year and ask.
The app is looking awesome, excited for these next few weeks.
Jon, Dhimitri and I had a meeting today to catch Dhimitri up on what we have been doing and the plan for the next few months. We met in the library and discussed how to set up Action Bar Sherlock and demo’d the app again. We plan on following the style guide very thoroughly so the app will flow how normal Android apps work. We also talked about trying the app done to a point where we could start field testing the app with students around campus and get a feel for what works and what will need improvement.
Everything seemed to go pretty well, I’ll be working on editing a task that has been previously made using ‘add task’ and I think I may just have the edit copy the old task and replace the new data instead of just updating, not too sure yet.
We talked about doing SQLite a little bit but the point still stands about leaving it out until later (if we want/need it).
I’m pretty confident in my Android status as of now and am picking up a couple of issues to tackle mainly adding more functionality to our app. I am currently working out how to save the description to the app, which right now the button, text box, and everything are working fine. I had to move them a little in the XML since they were on top of each other.
Now the biggest problem is the task notes are being saved as the title which is kind of weird, their must be a constructor somewhere that is picking it up and setting it that way. I took the liberty of using the ‘android:maxlength’ property to limit the description since we are only using text files for saves, for now. I made it 1500 characters which is roughly ~250 words, obviously varies.
Jon, Karl, and I had our first meeting a few days after class started since all three of us never really met over the summer. We explained how the app worked, demoed it and explained our plans for it for the fall semester. Karl said that Dhimiyri wanted to join a group the Android group to get the class and Jon and I were on board. This way we can implement more features that we wanted to add.
Jon and I aren’t graphic designers, actually I just ran into this problem at work, and it’s pretty obvious this app isn’t going to be the prettiest bell at the ball. Whatever, form follows function. Right now I’m working on making the ‘create activity’ section contain everything we’re going to need Calendar style date picker, notes, title, priority radio buttons and that should be it for now.
I’ve ran into a bit of a problem with saving the tasks and I can’t figure out why they aren’t being recreated on restart for now I’m just leaving it alone (which is why nothing has been committed yet). Since Jon built most of the onRestart() I’m sure he’ll know what’s wrong once we meet THIS SUNDAY FOR SURE so I’m not too concerned. I found out today that the GUI for android dev is terrific, it really is. I was fussing around with all the ugly xml and switched over only to see the GUI version was so smooth and easy to use.
Luckily Jon and I have been working internships all summer using some sort of variation of a Version Control System. I guess I didn’t learn as much as I thought in 401 for GIT as I really needed. My git-foo has improved significantly (Jon’s is still way above mine, though. ) Right now I’m working on my james-dev branch (at least the one I push to) and usually branch when I’m trying something new. I’m really digging the issue tracker but, I think one day this week I am going to take some time out, probably with Jon, and really get our Wiki in gear.
In other news, old news that I never mentioned, Joe was MIA for a while and I finally got in contact with him and he said he was too busy and couldn’t commit I emailed Karl about it but I never got a response, I’m sure he’s just enjoying summer.