Wednesday, June 27, 2012

Upgrade Eclipse IDE and Android SDK

Today, a new version of Eclipse IDE and Android released. Eclipse released Eclipse Juno 4.2. It has a special package for mobile developer. Google released Android 4.1 SDK, codename Jelly Bean. I'm going update my MacBook Pro with these new software.
  1. Downloaded Eclipse Juno 4.2 for Mobile Developers, 142 MB.
  2. Extracted it to Downloads folder.
  3. Removed existing Eclipse (Indigo) folder from Application.
  4. Moved new Eclipse folder from Downloads to Application
  5. Started Eclipse and re-install Android Development Tools (ADT)
  6. On Eclipse Juno 4.2 IDE, select Windows -> Android SDK Manager to update Android SDK Tools to rev. 20 and downloaded Android 4.1 Jelly Bean
  7. Create new AVD for Android 4.1 from AVD Manager
  8. Re-tested old projects to make sure they ran as expected.

Wednesday, June 13, 2012

Is Verizon Share Every Thing Plan Good?

Yesterday, Verizon wireless revealed a new plan to allow customers share a pool of data for up to 10 devices. Is the new plan better for a customer with five smartphones?


Verizon: CurrentVerizon: NewAT&TT-Mobile Value
Monthly$279.95$250.00$229.96$124.98
2 Years$6,718.80$6,000.00$5,519.04$2,999.52
Activation Fee$175.00$175.00$180.00$175.00
Cell Phones$999.95$999.95$999.95$1,999.95
Est. Sales Tax$232.50$232.50$213.12$154.61
Total Cost$8,126.25$7,407.45$6,912.11$5,324.13
Compare with T-Mobile$2,802.11$2,083.31$1,587.980

Notes:
Full retail price for Samsung Galaxy S III 4G 16GB at Verizon Wireless is $599.99, at AT&T Wireless is $549.99
Buy Google Galaxy Nexus $399 to use with T-Mobile Value Plan. Amazon Wireless sells Samsung Galaxy S III 4G Android Phone 16GB (GSM for AT&T and T-Mobile) for $649.99

Conclusion:The new Share Every Thing plan is cost less than the current plan for five smart phones. However, there is 1GB data to share between five devices. Both Verizon plans still more expensive than AT&T and T-Mobile.

Sunday, June 3, 2012

How to fix run-time error: Could not find class 'winterwell.jtwitter.Twitter'

If you follow the Marakana Android Bootcamp Series 2012 Video Tutorials, you may get this run-time error when practice the sample application Yamba-1.

06-03 10:48:43.695: E/dalvikvm(274): Could not find class 'winterwell.jtwitter.Twitter', referenced from method com.marakana.yamba1.StatusActivity.onCreate
06-03 10:48:43.695: W/dalvikvm(274): VFY: unable to resolve new-instance 42 (Lwinterwell/jtwitter/Twitter;) in Lcom/marakana/yamba1/StatusActivity;
06-03 10:48:43.695: D/dalvikvm(274): VFY: replacing opcode 0x22 at 0x0045
06-03 10:48:43.695: D/dalvikvm(274): VFY: dead code 0x0047-0057 in Lcom/marakana/yamba1/StatusActivity;.onCreate (Landroid/os/Bundle;)V
06-03 10:48:43.955: D/dalvikvm(274): GC_EXTERNAL_ALLOC freed 794 objects / 58272 bytes in 127ms
06-03 10:48:44.184: D/AndroidRuntime(274): Shutting down VM
06-03 10:48:44.184: W/dalvikvm(274): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-03 10:48:44.194: E/AndroidRuntime(274): FATAL EXCEPTION: main
06-03 10:48:44.194: E/AndroidRuntime(274): java.lang.NoClassDefFoundError: winterwell.jtwitter.Twitter
06-03 10:48:44.194: E/AndroidRuntime(274):     at com.marakana.yamba1.StatusActivity.onCreate(StatusActivity.java:43)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.os.Looper.loop(Looper.java:123)
06-03 10:48:44.194: E/AndroidRuntime(274):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-03 10:48:44.194: E/AndroidRuntime(274):     at java.lang.reflect.Method.invokeNative(Native Method)
06-03 10:48:44.194: E/AndroidRuntime(274):     at java.lang.reflect.Method.invoke(Method.java:521)
06-03 10:48:44.194: E/AndroidRuntime(274):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-03 10:48:44.194: E/AndroidRuntime(274):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-03 10:48:44.194: E/AndroidRuntime(274):     at dalvik.system.NativeStart.main(Native Method)

Looked back into the Yamba-1 folder, jtwitter-yamba.jar was there.

Solution:
Make a new folder called libs under Yamba-1 and move this external libary inside sub-folder libs

Credit:
Sven Rau  http://marakana.com/forums/android/learning_android_book/689.html#p1790