Android Demo, Objective-C




CS185c

Chris Pollett

Feb 1, 2012

Outline

Finish Android Demo

An Android Project

  • To make an Android project in Eclipse, we went to File - New - Android Project and filled out the form asking for name of the project, target version of Android, etc.
  • In the left hand pane of Eclipse, the file tree for our project looks like:
    Image of folders of file tree of our first project
  • The src folder should contain our Java files, gen folder is auto-generated for us based on id's in the xml files of our project, Android 4.03 are the jar files for the version of Android we are using, the assets folder will be things like images, sound files, etc (don't have yet), the bin folder will contain the compiled version of our project, the res folder has layouts, icons, string, etc used in the project, and finally we have three text files AndroidManifest.xml, proguard.cfg, and project.properties.
  • Looking in the res folder, we can see three sub-folders: drawable-hpdi, drawable-mpdi, drawable-lpdi. Each has in it an icon ic-launcher.png. These are 72px x72px, 36px x 36px, and 16px x 16px.
  • The Graphic Layout tool

    AndroidManifest.xml

    Running App

    AVD Screenshot of Hello Word (sic)

    The Basics of an Objective-C Program

    Implementation Files

    To implement the functions you use an implementation file and the syntax:

    @implementation classname
    +classMethod {
        // implementation
    }
    -instanceMethod {
        // implementation
    }
    @end
    

    Invoking Methods

    Example Objective-C Program

    // Interface File
    #import <objc/Object.h>
    
    @interface MyHello : Object {
       int myNumber;
    }
    -setNumber:(int)aNumber;
    -sayHello;
    
    @end
    

    Example Program cont'd

    // implementation file
    #import <stdio.h>
    #import "MyHello.h" 
    @implementation MyHello
    -setNumber:(int)aNumber {    myNumber = aNumber;
    } 
    -sayHello{    
       printf("Hello! %d\n", myNumber);
    } 
    -(id) init { //self is like this in Java
        self = [super init];
        if (self) { myNumber = 0; }
        return self;}  
    @end
    

    Objective-C Example Last Part.

    #import "MyHello.h"
    int main(void){
    MyHello *hello = [MyHello new];  
    [hello setNumber:10]; 
       //set the number to echo
    [hello sayHello];
    return 0;
    }
    /* To compile in gcc could type:
    gcc -arch i386 -x objective-c -Wno-import main.m MyHello.m -lobjc  
    
    To get this to work on 64 bit architecture need to switch to NSObject...
    You can actually build XCode projects from the command line:
    /Developer/usr/bin/xcodebuild -target project
    */