Operacijski sustavi Povijesni pregled razvoja operacijskih sustava
Razvoj usluga i aplikacija za operacijski sustav Android · Preddiplomski studij: 3. godina...
Transcript of Razvoj usluga i aplikacija za operacijski sustav Android · Preddiplomski studij: 3. godina...
Preddiplomski studij:
3. godina
Diplomski studij
Ak.g. 2012./2013.
Razvoj usluga i aplikacija za operacijski sustav Android
4.Uvod u operacijski sustav Android
Zaštićeno licencom http://creativecommons.org/licenses/by-nc-sa/2.5/hr/
18.10.2012.
ponedjeljak, 29. listopada 12.
Creative Commons
§ slobodno smijete:l dijeliti — umnožavati, distribuirati i javnosti priopćavati djelo l remiksirati — prerađivati djelo
§ pod sljedećim uvjetima:l imenovanje. Morate priznati i označiti autorstvo djela na način kako je
specificirao autor ili davatelj licence (ali ne način koji bi sugerirao da Vi ili Vaše korištenje njegova djela imate njegovu izravnu podršku).
l nekomercijalno. Ovo djelo ne smijete koristiti u komercijalne svrhe. l dijeli pod istim uvjetima. Ako ovo djelo izmijenite, preoblikujete ili stvarate
koristeći ga, preradu možete distribuirati samo pod licencom koja je ista ili slična ovoj.
U slučaju daljnjeg korištenja ili distribuiranja morate drugima jasno dati do znanja licencne uvjete ovog djela. Najbolji način da to učinite je linkom na ovu internetsku stranicu. Od svakog od gornjih uvjeta moguće je odstupiti, ako dobijete dopuštenje nositelja autorskog prava. Ništa u ovoj licenci ne narušava ili ograničava autorova moralna prava.
Tekst licencije preuzet je s http://creativecommons.org/.
RUAZOSA 30.10.2012. 2 od 116ponedjeljak, 29. listopada 12.
Razvoj aplikacija za mobilne uređaje
Photo: http://www.flickr.com/photos/davepatten/
ponedjeljak, 29. listopada 12.
Što su mobilni uređaji?
ponedjeljak, 29. listopada 12.
mobilni telefoni
Photo: http://www.flickr.com/photos/davepatten/
ponedjeljak, 29. listopada 12.
PDA(dlanovnici)
Photo: http://www.sxc.hu
ponedjeljak, 29. listopada 12.
pametni telefoni
Photo: http://www.flickr.com/photos/powerupmobile/
ponedjeljak, 29. listopada 12.
Photo: http://www.flickr.com/photos/johanl/
pametni telefoni
ponedjeljak, 29. listopada 12.
tableti
Photo: http://www.sxc.hu
ponedjeljak, 29. listopada 12.
tableti
Photo: http://www.flickr.com/photos/jaredearle/
ponedjeljak, 29. listopada 12.
Za što ljudi koriste mobilne telefone?
ponedjeljak, 29. listopada 12.
telefoniranje
Photo: http://www.rgbstock.com
ponedjeljak, 29. listopada 12.
SMS
Photo: http://www.sxc.hu
ponedjeljak, 29. listopada 12.
slušanje glazbe
Photo: http://www.rgbstock.com
ponedjeljak, 29. listopada 12.
fotografiranje
Photo: http://www.flickr.com/photos/yuyang226
ponedjeljak, 29. listopada 12.
korištenje InternetaPhoto: http://www.rgbstock.com
ponedjeljak, 29. listopada 12.
igranje
Photo: http://www.flickr.com/photos/kevinv033
ponedjeljak, 29. listopada 12.
Što je to omogućilo?
ponedjeljak, 29. listopada 12.
Photo: http://www.sxc.hu
mreža
ponedjeljak, 29. listopada 12.
mreža
Photo: http://www.rgbstock.com
ponedjeljak, 29. listopada 12.
performanse
Photo: http://www.rgbstock.com
ponedjeljak, 29. listopada 12.
performanse
Photo: http://www.sxc.hu
ponedjeljak, 29. listopada 12.
mobilni podaci
Photo: http://www.rgbstock.com
ponedjeljak, 29. listopada 12.
aplikacije
ponedjeljak, 29. listopada 12.
Kakve su aplikacije za mobitele?
ponedjeljak, 29. listopada 12.
korisne
ponedjeljak, 29. listopada 12.
kratko se koriste
ponedjeljak, 29. listopada 12.
efikasne
ponedjeljak, 29. listopada 12.
treba se odrediti za koje uređanje se razvija
ponedjeljak, 29. listopada 12.
nabaviti uređaj za testiranje
ponedjeljak, 29. listopada 12.
upravljanje konfiguracijama
ponedjeljak, 29. listopada 12.
upravljanje konfiguracijama
izvorni kod
ponedjeljak, 29. listopada 12.
upravljanje konfiguracijama
verzioniranje aplikacija
ponedjeljak, 29. listopada 12.
upravljanje konfiguracijama
paziti na nadogradnju baze
ponedjeljak, 29. listopada 12.
dizajn
ponedjeljak, 29. listopada 12.
dizajn
grafika
ponedjeljak, 29. listopada 12.
dizajn
sustava
ponedjeljak, 29. listopada 12.
dizajn
koda
ponedjeljak, 29. listopada 12.
restrikcije
ponedjeljak, 29. listopada 12.
restrikcije
veličina ekrana
ponedjeljak, 29. listopada 12.
restrikcije
snaga procesiranja
ponedjeljak, 29. listopada 12.
restrikcije
potrošnja baterije
ponedjeljak, 29. listopada 12.
restrikcije
potrošnja memorije
ponedjeljak, 29. listopada 12.
restrikcije
korištenje mreže
ponedjeljak, 29. listopada 12.
restrikcije
korištenje mrežebrzina
ponedjeljak, 29. listopada 12.
restrikcije
korištenje mrežepodaci
ponedjeljak, 29. listopada 12.
restrikcije
korištenje mrežeheterogenost
ponedjeljak, 29. listopada 12.
restrikcije
korištenje mrežeodspajanje
ponedjeljak, 29. listopada 12.
restrikcije
razvoj na računalu
ponedjeljak, 29. listopada 12.
restrikcije
razvoj na rečunalu
izvršavanje na uređaju
ponedjeljak, 29. listopada 12.
rezlike u odnosu na aplikacije na računalu
ponedjeljak, 29. listopada 12.
razlike
posebni sklopovi
ponedjeljak, 29. listopada 12.
razlike
komunikacija između aplikacija
ponedjeljak, 29. listopada 12.
testiranje
ponedjeljak, 29. listopada 12.
testiranje
jedinično testiranje
ponedjeljak, 29. listopada 12.
testiranje
ne vjerujte emulatoru
ponedjeljak, 29. listopada 12.
testiranje
na različitim uređajima
ponedjeljak, 29. listopada 12.
testiranje
na različitim mrežama
ponedjeljak, 29. listopada 12.
testiranje
koristite beta korisnike
ponedjeljak, 29. listopada 12.
održavanje
ponedjeljak, 29. listopada 12.
održavanje
kontinuirane nadogradnje
ponedjeljak, 29. listopada 12.
razvoj za Android
ponedjeljak, 29. listopada 12.
razvoj za Android
instaliratiJava, Eclipse IDE, Android SDK, ATD plugin, skinuti platformu
ponedjeljak, 29. listopada 12.
razvoj za Android
u Eclipseu+ refaktoriranje, alati
ponedjeljak, 29. listopada 12.
razvoj za Android
biblioteke+ postoji veliki broj različitih
ponedjeljak, 29. listopada 12.
razvoj za Android
emulator- spoooooooor
ponedjeljak, 29. listopada 12.
razvoj za Android
korisničko sučelje- uređivanje, većinom u XML-u
ponedjeljak, 29. listopada 12.
razvoj za Android
izvršavanje na uređaju
+ instalirati driver i uključiti uređaj
ponedjeljak, 29. listopada 12.
Androiduvod
ponedjeljak, 29. listopada 12.
temelji se na Linuxu
ponedjeljak, 29. listopada 12.
Dalvik VM
ponedjeljak, 29. listopada 12.
DEX Code
ponedjeljak, 29. listopada 12.
ponedjeljak, 29. listopada 12.
Osnovni elementi
ponedjeljak, 29. listopada 12.
aktivnost (Activity)
ponedjeljak, 29. listopada 12.
usluga (Service)
ponedjeljak, 29. listopada 12.
Broadcast Receiver
ponedjeljak, 29. listopada 12.
Pružatelj sadržaja(Content Provider)
ponedjeljak, 29. listopada 12.
aktivnosti
ponedjeljak, 29. listopada 12.
aplikacija ima aktivnosti
ponedjeljak, 29. listopada 12.
jedna početna aktivnost
ponedjeljak, 29. listopada 12.
aktivnost može pokrenuti drugu
aktivnost
ponedjeljak, 29. listopada 12.
stog aktivnosti
ponedjeljak, 29. listopada 12.
životni
ciklu
s akti
vnosti
ponedjeljak, 29. listopada 12.
ponedjeljak, 29. listopada 12.
ponedjeljak, 29. listopada 12.
namjere(Intents)
ponedjeljak, 29. listopada 12.
namjere
pokreću drugu aktivnost
ponedjeljak, 29. listopada 12.
namjere
ponedjeljak, 29. listopada 12.
namjere
eksplicitne
ponedjeljak, 29. listopada 12.
namjere
eksplicitnedefinirana odredišna
aktivnost
ponedjeljak, 29. listopada 12.
namjere
eksplicitnedefinirana odredišna
aktivnost
unutar aplikacije
ponedjeljak, 29. listopada 12.
namjere
eksplicitne implicitnedefinirana odredišna
aktivnost
unutar aplikacije
ponedjeljak, 29. listopada 12.
namjere
eksplicitne implicitnedefinirana odredišna
aktivnost
unutar aplikacije
samo akcija
ponedjeljak, 29. listopada 12.
namjere
eksplicitne implicitnedefinirana odredišna
aktivnost
unutar aplikacije
samo akcija
između aplikacija
ponedjeljak, 29. listopada 12.
razvojna okolina
ponedjeljak, 29. listopada 12.
Java Development Kit 6(JDK)
ponedjeljak, 29. listopada 12.
Eclipse
ponedjeljak, 29. listopada 12.
Android SDK
ponedjeljak, 29. listopada 12.
Android SDK
ADT plugin(Android Development Tools)
ponedjeljak, 29. listopada 12.
Android SDK
AVD Manager(Android Virtual Device)
ponedjeljak, 29. listopada 12.
primjerHelloWorld
ponedjeljak, 29. listopada 12.
korisničko sučelje
ponedjeljak, 29. listopada 12.
korisničko sučelje
pogled (View)
grupa pogleda (View Group)
ponedjeljak, 29. listopada 12.
pogled
osnovni grafički elementi
ponedjeljak, 29. listopada 12.
pogled
gumb (Button)
ponedjeljak, 29. listopada 12.
pogled
tekst (TextView)
ponedjeljak, 29. listopada 12.
grupa pogleda
složeni pogled
ponedjeljak, 29. listopada 12.
grupa pogleda
stablo
ponedjeljak, 29. listopada 12.
grupa pogleda
Layout(xml)
ponedjeljak, 29. listopada 12.
Layout
LinearLayout(vertikalni, horizontalni)
ponedjeljak, 29. listopada 12.
Layout
RelativeLayout
ponedjeljak, 29. listopada 12.
Layout
TableLayout
ponedjeljak, 29. listopada 12.
primjer s gumbom
ponedjeljak, 29. listopada 12.
događaji
ponedjeljak, 29. listopada 12.
događajipublic class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnClick = (Button) findViewById(R.id.btn_click); btnClick.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.d("RUAZOSA", "Button je kliknut!"); Toast toast = Toast.makeText(MainActivity.this, "Kliknuli ste!", Toast.LENGTH_LONG); toast.show(); } });}...
ponedjeljak, 29. listopada 12.
kreiranje nove aktivnosti
• kreiranje layouta
• kreiranje klase
• deklariranje aktivnosti u AndroidManifestu
• pokretnje aktivnosti
ponedjeljak, 29. listopada 12.
Aktivnostlayout (second_activity.xml)
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/taxt2" />
</LinearLayout>
ponedjeljak, 29. listopada 12.
Aktivnostklasa
public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_activity); }}
ponedjeljak, 29. listopada 12.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="hr.fer.tel.ruazosa.predavanje4" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="SecondActivity"></activity> </application></manifest>
AktivnostAndroidManifest.xml
ponedjeljak, 29. listopada 12.
public class MainActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {... Button btnClick = (Button) findViewById(R.id.btn_click); btnClick.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.d("RUAZOSA", "Button je kliknut!"); Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); }
Aktivnostpokretanje aktivnosti
ponedjeljak, 29. listopada 12.
slanje podataka Activityu
slanje
Intent intent = new Intent(MainActivity.this, SecondActivity.class);intent.putExtra("myData", "Neki tekst");startActivity(intent);primanjeString text = (String) getIntent().getSerializableExtra("myData");TextView textView = (TextView) findViewById(R.id.text2);textView.setText(text, TextView.BufferType.NORMAL);
ponedjeljak, 29. listopada 12.