razvoj usluga i aplikacija za operacijski sustav android · preddiplomski studij: 3. godina...

Post on 22-Sep-2019

9 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related