Tworzenie aplikacji mobilnych Android Struktura Projektu z wykorzystaniem Eclipse
Tworzenie projektu
android create project --target "Google Inc android create project --target "Google Inc.:Google APIs:7" --path Skeleton/Now --activity Now --package com.commonsware.android.skeleton
Struktura projektu AndroidManifest.xml: - plik opisujący aplikację, komponety z jakich jest zbudowana (activities, services) itp.) bin/: Katalog z wynikiem kompilacji libs/: Katalog z bibliotekami (JAR) wymaganymi przez aplikację res/: Katalog z zasobami aplikacji (icony, layouty, itp.) wkompilowane później w aplikację src/: Katalog z plikami źródłowymi
assets/: Katalog ze statycznymi plikami wkompilowanymi w aplikację gen/: Katalog z plikami generowanymi przez narzędzia SDK Androida build.xml, *.properties: Pliki wykorzystywane przez kompilację (Antbased) proguard.cfg: Plik wykorzystywany przez obfuscator ProGuard
Po kompilacji bin/classes/: Przechowuje skompilowane klasy java (.class) bin/classes.dex: Przechowuje plik wykonywalny stworzony ze skompilowanych klas Java bin/yourapp.ap_: Przechowuje zasoby aplikacji spakowane w formacie ZIP bin/yourapp-*.apk: Faktyczna aplikacja na system Android
Uruchomienie aplikacji
Manifest
<supports-screens> <uses-sdk> android:minSdkVersion android:targetSdkVersion
Activity package pf.android; import android.app.Activity; import android.os.Bundle; public class FirstAndroidAppActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }
Dodanie przycisku i obsługa zdarzeń import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import java.util.Date; public class Now extends Activity implements View.OnClickListener { Button btn; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); btn=new Button(this); btn.setOnClickListener(this); updateTime(); setContentView(btn); } public void onClick(View view) { private void updateTime() { btn.setText(new Date().toString());