Basic Android
Android Basics
- Install 32 bit Java JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
- App Inventor Pretty basic web interface an blocks editor to build simple android apps http://appinventor.mit.edu/about/
- Setup App Inventor http://appinventor.mit.edu/
- Android SDK
- http://developer.android.com/sdk/index.html
- Install SDK Installer http://developer.android.com/sdk/tools-notes.html
- Install Eclipse http://www.eclipse.org/downloads/ Eclipse Classic 32 Bit
- Install Eclipse ADT Plugin http://developer.android.com/sdk/eclipse-adt.html#installing
after installing the plugin you may need to change the path to the SDK there is currently a bug if you us a folder with a space in the name use C:\PROGRA~2\Android\android-sdk if you installed to "C:\Program Files (x86)\Android"
- Android NDK
- we're not covering this http://developer.android.com/sdk/ndk/index.html
Basics
- src folder containing all the source
- res folder containing all the resources
folder hierchy explained @http://developer.android.com/training/basics/firstapp/running-app.html
Resources
No DPI or PPI Andoid uses dp density independent pixels or sp scale interdependent pixels http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
also see supporting multiple screens http://developer.android.com/guide/practices/screens_support.html
Activities
Activity life cycle http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle
Get an instance of an object from the R class
<java>/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Get the Button and the TextView from the Resource class Button btn = (Button)this.findViewById(R.id.button1); final TextView tv = (TextView)this.findViewById(R.id.textView1); String s = "hello"; tv.setText(s); }
</java>
notice the cast to the type also notice that the TextView is marked as final this is so that we can use it in an inner method
handle a click event <java> btn.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { // TODO Auto-generated method stub tv.setText(d.About()); } });</java>
Events
Lots more good reading http://developer.android.com/guide/topics/fundamentals.html