Error Free Android Hello World Project on Eclipse

Removal of two common errors that may arise when running the android project on eclipse.
[ PANIC: Could not open: C:\Users\gTiwari\.android/avd/MyAndAVD.ini ]
and
[ invalid command-line parameter: Files ]

Today I tried to setup the essentials and test a demo project on Eclipse.I installed required tools (Android SDK, ADT, etc) and created a empty project successfully.

I was following these articles :
Installing Android SDK and ADT in eclipse.
Android First HelloWorld App in Eclipse.
But I  got the few errors when I tried run the Hello World project that eclipse created for me.

In this Blog, I am  describing the errors and how I solved them that may be useful for Android beginners like you.

[My System Details : Windows 7(64-bit). Eclipse 3.7 (Indigo).The MyFirstEmul is the name of emulator I created.]

Error #1
When i created a hello world project and tried to run it. I got the following error.
[2011-08-27 18:05:22 - Emulator] PANIC: Could not open: C:\Users\gTiwari\.android/avd/MyAndAVD.ini
Cause : 
The emulator could not found in location "C:\Users\gTiwari\". I searched over my HDD for the emulator I created earlier. And I found it in the  E:\ .android folder. This might be due to I had moved my system folders such as Documents, Desktop, Downloads to E:\.
Solution :
I simply moved the E:\.android folder to C:\Users\gTiwari\ and solved it.

Error #2
After I solved the Error #1, and tried to run the project, I got the following error :
[2011-08-27 18:24:39 - Emulator] invalid command-line parameter: Files.
[2011-08-27 18:24:39 - Emulator] Hint: use '@foo' to launch a virtual device named 'foo'.
[2011-08-27 18:24:39 - Emulator] please use -help for more information
Cause : 
The default installation location is: C:\Programme Files(x86)\Android\android-sdk.  But the  SDK location cannot contain any spaces.
Solution : 
Should I reinstall the Android SDK to new location with no space in folder names ?
Well, that may be a solution. But i found easy solution for this.
I make use of mklink command line utility of NTFS in Windows 7 (in previous versions of the command may be different). I pointed C:\AndroidSDK to the actual C:\Program Files (x86)\Android\android-sdk by using following command.
     MKLINK  /J  C:\AndroidSDK "C:\Program Files (x86)\Android\android-sdk\"
This command created special junction folder C:\AndroidSDK helped me in  redirection.

And I configured this new path(C:\AndroidSDK) to AndroidSDK in Eclipse IDE settings - from
                      Windows -> Preferences -> Android
And run the Hello World project successfully.

See my other posts on  android from : http://ganeshtiwaridotcomdotnp.blogspot.com/search/label/Android 



android get current screen orientation

The current configuration ( orientation as well) can be available from the Resources' Configuration object as:
The return parameter may be one of ORIENTATION_LANDSCAPEORIENTATION_PORTRAIT, or ORIENTATION_SQUARE.



public static int getScreenOrientation(){    
    return getResources().getConfiguration().orientation;
}

check http://developer.android.com/reference/android/content/res/Configuration.html#orientation for details

java android write to sd card

You can access to sd card by File sdCard = Environment.getExternalStorageDirectory();
Note : Hard coding the /sdcard/ folder is not good.


Write to sd card

File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdcard.getAbsolutePath() + "/dir1/dir2");
dir.mkdirs();
File file = new File(dir, "filename");
FileOutputStream f = new FileOutputStream(file);
...

And read/write to file   by using FileOutputStream f .

Mouse Gesture Recognition with Hidden Markov Model.

Mouse‑gesture recognition is a pattern‑recognition problem — gestures are variable but distinctive, and each carries a specific meaning. Because a gesture is a continuous motion in time, Hidden Markov Models (HMMs) are an effective tool for recognition. In this post, I’ll show you how to build a mouse‑motion gesture recognizer using dynamic HMMs, entirely in Java.

Code available @ : https://github.com/gtiwari333/mouse-gesture-recognition-java-hidden-markov-model

Main references

DEMO VIDEO


Redirecting JAVA IO to GUI by Redirecting IO Streams

Here is a small utility program for fun (but useful). It is written in Java  by redirecting IO Streams to GUI.
Its features are:
  • Reading console input from GUI --> No need of Black Screen.
  • Displaying console output (including exceptions) to GUI.
  • Easy to use.
  • Useful for Java Beginners
First lets see the code of test application.

Java Map Comparison- hashmap, linkedhashmap, treemap


Java Map Comparison :
  • HashMap is the fastest map with O(1) search and insertion times.
  • LinkedHashMap is a little slower for inserts, but maintains the insertion order.
  • TreeMap is the slowest map, but lets you iterate over the keys in a sorted order.

Android : Activity and View Understanding

What are Activity and View in Android:
Dissecting HelloAndroid.java - Activity and View

FirstSee this example:

Android: Application Project Structure in Eclipse

The Android project (under Eclipse ADT) consists of several folders:
Android - Project folder structure

  • src: Java Source codes. The Java classes must be kept in a proper package with at least two levels of identifiers (e.g., com.example...).

Android : AndroidManifest.xml description

What is and usage/purpose of androidmanifest.xml file
Android Application Descriptor File - AndroidManifest.xml
Each Android application has a manifest file named AndroidManifest.xml in the project's root directory. It descibes the application components.

Android: understanding R.Java

Understanding the R.Java class in Android: What is R.Java ??


The Eclipse ADT automatically generates a R.java, which keeps track of all the application resources, in hello\gen as follows: