views:

94

answers:

2

Hi

I'm generally coming from the C# Windows and Web development background, and I really want to start creating applications for the Android operating system.

I have succeed to install Eclipse with the Android 2.2 SDK and to run the default Hello World application.

  • Best way to learn is probably to do. What some applications can I create for start, just for learing the SDK and the environment?
  • Is there any drag and drop UI designer for Android?
  • There are many Android phones, in different sizes. How do I set my app to work the same on all of them?
  • Some more best practices?

Thank you!

A: 
  1. Pick something that interests you - web interface, game, etc.
  2. Yes, it is built into Eclipse. You can switch between the graphical view and the XML view much like in WPF/XAML.
  3. Multiple methods - the scaling units such as "dp" (density pixels) and "sp" (scaled pixels) help independence much like "em" and "ex" in CSS. You can also load different resources (graphics) depending on the display size and density.
  4. Make sure you understand the application lifecycle in Android. Use intents and services wisely.
Yann Ramin
+1  A: 

There are many Android phones, in different sizes. How do I set my app to work the same on all of them?

Some more best practices?

For these two, you should start with the "Best Practices" section of the Android Dev Guide, which covers compatibility, designing for performance/responsiveness/etc. Some good starting points in here for other topics like UI guidelines, plenty of code samples and examples as well.

Best way to learn is probably to do. What some applications can I create for start, just for learing the SDK and the environment?

Pick something that interests you.

I'll give you a personal example, I was interesting in learning some path-finding and game-solving algorithms better (such as Minimax), so I created a simple command-line Tic-Tac-Toe game in which you play against a "computer" which executes an algorithm to find it's best move. Once I had this, I realized I'd like to learn more about building apps for Android, so it became pretty simple to port this command-line game to an Android app. This gave me something much better than "Hello World" to work on.

matt b