wiki:Android

Version 3 (modified by ji, 8 years ago) (diff)

sorsat talteen

Androidin ohjelmointia

Ohjelmien tekemiseen Androidille tarvitset AndroidSDK:n, joka löytyy osoitteesta http://developer.android.com/sdk/index.html SDK:n asennus on helppoa, purat vain lataamasi paketin haluamaasi paikkaan ja lisäät sen ajettavien ohjelmien polkuun (ympäristömuuttuja PATH).

Kehitys onnistuu pelkällä SDK:lla, mutta on usein mukavampaa käyttäen IDE:ä, joten esimerkiksi Eclipselle löytyy Android-liitännäiset osoitteesta http://developer.android.com/sdk/eclipse-adt.html Asennus tapahtuu perinteisesti lisäämällä Adroid-liitännäisen osoite https://dl-ssl.google.com/android/eclipse/ Eclipsen liitänänislistaan ja suorittamalla asennus. Ohjeet tähän löytyvät edellä mainitulta sivustolta http://developer.android.com/sdk/eclipse-adt.html Huomioi käyttämäsi Eclipse-versio.

Androidilaskuri!

Aina kun saa uuden ohjelmointikielen tai kirjaston käyttöönsä, on opettavaista toteuttaa sillä autolaskuri. Androidille käyttäen Eclipseä se menee näin:

  1. Luo uusi Android-projekti:
    • Project Name: Androidilaskuri
    • Build Target: Android 1.5 (versio, joka oli asennettuna kokeilukäytössä olleeseen Samsung Galaxyyn)
    • Application Name: Androidilaskuri
    • Package Name: fi.jyu.mit.android.androidilaskuri
    • Create Activity: Androidilaskuri

Ja sitten klikkaa 'Finish'.

  1. Valitse esille Androidilaskuri -> res -> layout -> main.xml ja saat käyttöösi melko käytettävän GUI-editorin. Lisää TableLayout, siihen kolme TableRow'ta. Ensimmäiselle riville kaksi TextView'tä, toiselle kaksi Buttonia ja kolmannelle yksi Button. TextView't ovat Androideja ja Robotteja, seuraavan rivin Buttonit Androidi ja Robotti, ja viimeinen Button nollaa. Asettele elementtien ympärille vähän tilaa, ja UI on valmis. XML:nä sen pitäisi näyttää jotakuinkin tältä
<?xml version="1.0" encoding="utf-8"?>
  <TableLayout android:id="@+id/TableLayout01"
               android:layout_width="fill_parent" android:layout_height="fill_parent"
               xmlns:android="http://schemas.android.com/apk/res/android">
   <TableRow android:id="@+id/TableRow01"
                android:layout_width="wrap_content" android:layout_height="wrap_content">
      <TextView android:text="0" android:id="@+id/Androideja"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:padding="16dip" android:inputType="number">
      </TextView>
      <TextView android:text="0" android:id="@+id/Robotteja"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:padding="16dip" android:inputType="number" android:isScrollContainer="true">
      </TextView>
    </TableRow>

    <TableRow android:id="@+id/TableRow02"
              android:layout_width="wrap_content" android:layout_height="wrap_content">
      <Button android:text="Androidi" android:id="@+id/Androidi"
              android:layout_width="wrap_content" android:layout_height="wrap_content"
              android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
              android:layout_marginBottom="5dip" android:layout_marginTop="5dip"
              android:layout_weight="1">
      </Button>
      <Button android:text="Robotti" android:id="@+id/Robotti"
              android:layout_width="wrap_content" android:layout_height="wrap_content"
              android:layout_marginBottom="5dip" android:layout_marginLeft="20dip"
              android:layout_marginRight="20dip" android:layout_marginTop="5dip"
              android:layout_weight="1">
      </Button>
    </TableRow>

    <TableRow android:id="@+id/TableRow03" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <Button android:text="Nollaa" android:id="@+id/Nollaa"
              android:layout_width="wrap_content" android:layout_height="wrap_content"
              android:layout_weight="1">
      </Button>
    </TableRow>
  </TableLayout>

Lisäsin tuohon rivityksen, jotta tuo olisi luettavissa. GUI-editori kirjoitti jokaisen TableRow'n sisältöineen yhdelle riville. Ei kuitenkaan kiinnitetä GUI:n ulkoasuun enempää huomiota, vaan siirrytään koodiin. Android tukee käyttäjän muokattavia tyylejä ja teemoja, joten niitä hyödyntäen kukin saa juuri haluamansa Androidilaskuriulkoasun... toivottavasti.

  1. Kirjoitetaan ohjelma, eli muokaa metodi onCreate luokassa
    public class Autolaskuri extends Activity {
        private TextView and;
    	private TextView rob;
    
    	/** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        	and = (TextView)findViewById(R.id.Androideja);
    		rob = (TextView)findViewById(R.id.Robotteja);
    
            Button ba = (Button)findViewById(R.id.Androidi);
            ba.setOnClickListener(new View.OnClickListener() {
    			public void onClick(View v) {
    				int i = Integer.valueOf(and.getText().toString());
    				i++;
    				and.setText(Integer.toString(i));
    			}
            });
    
            Button ra = (Button)findViewById(R.id.Robotti);
            ra.setOnClickListener(new View.OnClickListener() {
    			public void onClick(View v) {
    				int i = Integer.valueOf(rob.getText().toString());
    				i++;
    				rob.setText(Integer.toString(i));
    			}
            });
    
            Button nol = (Button)findViewById(R.id.Nollaa);
            nol.setOnClickListener(new View.OnClickListener() {
    			public void onClick(View v) {
    				and.setText(Integer.toString(0));
    				rob.setText(Integer.toString(0));
    			}
            });
        }
    }
    

Attachments