Hello, welcome to our Android course blogpage.
This is my documentation of the process I’ve gone through in completing this course.
Following are the main items, sort of “Table of Contents”:
Offered in: Coursera.org
Taught by Professor Lawrence Angrave
University of Illinois, Urbana-Champaign
Activities Summary (Dec 02, 2013 to Feb 17, 2014):
- Week 1 – Download and install needed software
- Week 2 – Create and test AVD (Android Virtual Device) and Hello World project in Eclipse
- Week 3 – Download specific version and use “Developer Option” to run project on mobile; create, test and submit assignments
- Week 4 – Downloaded and installed latest Java version 7 update 45 and HAXM 1.0.7. Peer assessments for assignment 1.
- Week 5 – Android app from webpages. Assignment 2. Peer assessment. Video lectures and readings on EditText, animation, etc…
- Week 6 – Bitmaps, graphics, canvas, paint, File Explorer to AVD, enjoyed teacher’s classic concert :)
- Week 7 – Final assignment app 3.
- Week 8 – Animated graphics, preferences, peer assessment for app 3.
- Animated graphics/bitmaps, preferences
- Peer assessments
- Final Quiz 8
- Almost over now, just a quiz left and peer assessment result for my own app 3
- Paint/draw bitmap, concert for coding
- Final assignment app 3.
- Quiz 7
- Nice concert :)
- Learned about forms and “toast” for error handling.
- Cool seeing data from form sent by sms or email :)
- Cool animation!
- Nice having source codes, should have been they way assignments are shared too. Disadvantage would be extra step needed to compile instead of just installing.
- My confusion:
MainActivity.java and activity_main would have been better off named as “activity” and “layout”, respectively. Of course, activity_main is under layout folder but naming it prefixed with “activity” somehow confuses as it is actually a screen layout and the activities are all done in the Java portion under src. Of course the layout specifies the tools:context activity but it doesn’t change the fact that it is a layout.
I guess the idea here is to emphasize that activity and layout is connected and for that, they were both named to contain “activity” – brilliant!!! For me though, it would have been better if they emphasize their nature while sharing common name, say main_activity and main_layout. The Java of course would be better representative for activity as it is a programming language while XML is for static data. Oh well, could always name as preferred in my own projects.
- Was able to finish Paper Scissor Rock game for the Assignment 2 App2, bit more confident developing apps now :)
- Read this week’s reading materials
- Downloaded Videos and APKs for assessment
- Figured out APK installation (thanks to Anonymous forum contributor)
- Assessed peers
- Watched videos
- Got Win 8.1 updates but did not install as I have no issues yet.
Afraid that it might just corrupt my what looks like a stable Android environment so far.
Installed the usual data definition updates though.
Will install after Android course, just to make sure I won’t go through previous hassles.
- Was able to download APK to AVD, can’t seem to install it though.
- Read about Robotium – an automated testing software, might try this out, probably after finishing the course. For now, 4 or more tests is manageable.
- Researched on aapt (http://www.kandroid.org/guide/developing/tools/aapt.html).
Still have lots to study on this.
My aapt location: C:\Program Files\Eclipse\sdk\build-tools\android-4.4
- Win8 and ADT Installation seemed pretty stable after HAXM hotfix and Java update into latest (as of this writing V7 update 45)
WEEK 3 – 2013 Dec 16 to 2014 Jan 12 | ^ Go top
- Downloaded Week 3 videos and watched them as I commute to school by public transport
- Reviewed assignment 1
- Found out GPU required on higher version Android, older version should be left blank
- Researched on Keystore
- Text Settings
- Was able to screen capture from actual device but not from AVDs.
- Upgraded Java to latest version 7 update 45 as recommended from Forum to avoid Java Exit Code 1.
- As with Week 2, planned to go ahead with the flow on this.
WEEK 2 – 2013 Dec 09 to 15 | ^ Go top
- Figured out how to modify “Hello World” from “res/values”
- Found screen layout Package Explorer/[projname]/res/layout/activity_main.xml, tab [Graphical Layout]
- Created “Hello Image”
- Tried but failed to load apps to my Android phone
- Got online, installed Android version of my phone 4.0.3 (I guessed this is the reason why I can’t connect my laptop to my mobile)
- Created DOS GIF showing nifty use of TAB in DOS prompt for below TIPS
- Supposedly due by next year after the Christmas holidays but I just go with the flow of submitting early, as I want to always be ahead of time too.
- When on Eclipse and SDK Manager is started, it automatically check for latest versions and suggests downloads.
WEEK 1 – 2013 Dec 02 to 08 | ^ Go top
- Downloaded needed software
- Verified download’s checksums (optional, I actually skipped this portion)
- Installed Java SDK
- Unpacked Android SDK
- Created shortcut of Eclipse then run it
- Got online and installed 4.3 and 2.3.3 (API 18 and 10, respectively)
- Go to “D:\FilesKo\Kompanya\CSR-Coursera\Programming Android\Workspace\adt-bundle-windows-x86_64-20131030\sdk\extras\intel\Hardware_Accelerated_Execution_Manager” run IntelHaxm.exe.
- Create AVD (Android Virtual Device) and run (should be run first before running project)
- Create Hello World (Running apps takes awhile, progress bar shows at lower right)
|1||Android SDK||V||Giga size :( Checksum from site: ddddbb1b9028015779d68dde01f96b14|
|3||V||Run to check Android SDK download|
|4||Java SDK||V||No checksum?|
|6||FCIV||V||Run to check Java SDK download|
|7||Eclipse||V||From unpacked Android SDK:
Run Eclipse to check if install OK
- D – Download
- I – Install
- R – Run
- U – Unpack
SETUP | ^ Go top
My Hardware Environment:
- Asus Vivo X202SE, i3, 4GB RAM, 500GB HD, x64, Win 8.1
- LG P705g, SD 4GB, 800x480px, Android 4.0.3 (IceCreamSandwich)
- Keystore can contain multiple projects and keys. Keys are created only after clicking [Finish], takes few secs.
- Android Training – http://developer.android.com/training/index.html
- Android Tutorial – http://www.tutorialspoint.com/android/index.htm | http://www.vogella.com/tutorials/Android/article.html
http://rominirani.com/android-preferences-tutorial/ | http://mobiforge.com/design-development/preserving-user-preferences-android-applications (to do :)
- Sample Media Player – http://www.tutorialspoint.com/android/android_mediaplayer.htm
- eBooks: Android Apps for Absolute Beginners
List of Android Versions:
|09||Ice Cream Sandwich||4.0
- 0 to 9, a to f (1 to 16)
- 0xff – Fully Opaque
- 0x00 – Fully Transparent
- AARRGGBB (Alpha/Opaqueness Red, Green Blue)
- 0xff0000 – Red
- 0x00ff00 – Green
- 0x0000ff – Blue
Has to be hardcoded in the program but will be prompted during installation.
Can not be assigned dynamically.
Must include in AndroidManifest.xml <uses-permission> to declare apps access, e.g.:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
The permissions provided by the Android system can be found at
To view current system permissions:
adb shell pm list permissions -s
private void displayTweets()
WebView mWebView = (WebView) findViewById(R.id.twitterWebView);
// get the user name from external string resource XML file
String username = getResources().getString(R.string.twitter_user_name);
All course materials:
Course App on Google Play:
Getting Rich from Apps – Part 2: Team Building:
Glad to have finally completed my Android Programming class from Coursera.org by University of Illinois at Urbana-Champaign and almost perfect at that :)