COURSERA: Android

image

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”:

WEEK 8   |      7      |      6      |      5      |      4      |      3      |      2      |      1  

 SETUP   |   NOTES   |   PERMISSIONS   |   TWEET SAMPLE   ||   Errors   |   Assignments   |   Tips

 



Offered in: Coursera.org

Creative, Serious and Playful Science of Android Apps

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.


WEEKLY DETAILS


WEEK 8 – 2014 Feb 10 to 16  |   ^ Go top

  • Animated graphics/bitmaps, preferences
  • Peer assessments
  • Final Quiz 8 

Comments:

  • Almost over now, just a quiz left and peer assessment result for my own app 3

 


WEEK 7 – 2014 Feb 03 to 09  |   ^ Go top

  • Paint/draw bitmap, concert for coding
  • Final assignment app 3.
  • Quiz 7

Comments:

  • Nice concert :)

 


WEEK 6 – 2014 Jan 27 to Feb 02  |   ^ Go top

  • Learned about forms and “toast” for error handling.
  • Cool seeing data from form sent by sms or email :)
  • Cool animation!

Comments:

  • 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.

 


WEEK 5 – 2014 Jan 20 to 26  |   ^ Go top

  • 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.

Comments:

  • Was able to finish Paper Scissor Rock game for the Assignment 2 App2, bit more confident developing apps now :)

 


WEEK 4 – 2014 Jan 13 to 19 |   ^ Go top

  • 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.
    image
  • 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

Comments:

  • 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
    • android:paddingLeft=”8dp”
    • android:textSize-“16sp”
  • 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.

 

Comments:

  • 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

Comments:

  • 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)
SN SOFTWARE D I R U REMARKS
1 Android SDK V       Giga size :(  Checksum from site: ddddbb1b9028015779d68dde01f96b14
2 FCIV V V     Skipped portion
3       V   Run to check Android SDK download
4 Java SDK V       No checksum?
6 FCIV     V   Run to check Java SDK download
5 Android SDK       V  
7 Eclipse     V   From unpacked Android SDK:
Run Eclipse to check if install OK
Create shortcut.
Install 4.3
Install 2.3.3

Legend:

  • 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)

Blog-LGL705gBlog-USBmicro cableBlog-AsusVivo

 



NOTES   |   ^ Go top

Links:

 


List of Android Versions:

SN TITLE VERSION API REMARKS
01   1.0 01  
02   1.1 02  
03 Cupcake 1.5 03  
04 Donut 1.6 04  
05 Eclair 2.0
2.0.1
2.1
05
06
07
 
06 Froyo 2.2 08 Frozen Yogurt
07 Gingerbread 2.3
2.3.3
09
10
 
08 Honeycomb 3.0
3.1
3.2
11
12
13
 
09 Ice Cream Sandwich 4.0
4.0.3
14
15
 
10 Jelly Bean 4.1
4.2
4.3
16
17
18
 
11 KitKat 4.4 19  

Hexa:

  • 0 to 9, a to f (1 to 16)


Colors:

  • 0xff – Fully Opaque
  • 0x00 – Fully Transparent
  • AARRGGBB (Alpha/Opaqueness Red, Green Blue)
  • 0xff0000 – Red
  • 0x00ff00 – Green
  • 0x0000ff – Blue


PERMISSIONS   |   ^ Go top

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.:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.app.myapp" >
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    ...
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.me.app.myapp" >
    <permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
        android:label="@string/permlab_deadlyActivity"
        android:description="@string/permdesc_deadlyActivity"
        android:permissionGroup="android.permission-group.COST_MONEY"
        android:protectionLevel="dangerous" />
    ...
</manifest>

The permissions provided by the Android system can be found at Manifest.permission.

To view current system permissions:

adb shell pm list permissions -s

 



TWEET SAMPLE   |   ^ Go top

From http://apcmag.com/working-with-multiple-activities.htm:

 

private void displayTweets()

{

WebView mWebView = (WebView) findViewById(R.id.twitterWebView);

mWebView.getSettings().setJavaScriptEnabled(true);

// get the user name from external string resource XML file

String username = getResources().getString(R.string.twitter_user_name);

mWebView.loadUrl(“http://mobile.twitter.com/”+username);

}

 



Course Availability:

https://class.coursera.org/androidapps101-001/forum/thread?thread_id=6164

All course materials:

https://class.coursera.org/androidapps101-001/forum/thread?thread_id=4786

Badge Availability:

https://class.coursera.org/androidapps101-001/forum/thread?thread_id=9563

Course App on Google Play:

https://play.google.com/store/apps/details?id=com.statos.e_oga

Getting Rich from Apps – Part 2: Team Building:

https://class.coursera.org/androidapps101-001/forum/thread?thread_id=9402

Glad to have finally completed my Android Programming class from Coursera.org by University of Illinois at Urbana-Champaign and almost perfect at that :)

6 thoughts on “COURSERA: Android

  1. Howdy I am so grateful I found your blog, I really found you by error,
    while I was searching on Askjeeve for something
    else, Anyhow I am here now and would just like to say kudos for a marvelous post and a all round entertaining blog (I also love
    the theme/design), I don’t have time to browse it all at the
    minute but I have bookmarked it and also added your RSS feeds,
    so when I have time I will be back to read
    a great deal more, Please do keep up the awesome b.

  2. I really can’t tell you how glad I am about this tutorial! I’ve been searching on how to parse complex objects and this is the first one that showed the complete solution not only one row of code here and one there!

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 )

Google+ photo

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

Connecting to %s