Android Programmering 10 timers kurs
Forutsetninger Noe bakgrunn i Java eller et annet objektorientert språk Litt peiling på XML Vi bruker Windows 7 eller nyere alt. mac Vi kommer til å benytte Android Studio (Det er også mulig å benytte Eclipse) Dette kurset skal gi grunnleggende kunnskaper i androidprogrammering
Nøkkelpunkter Androidversjoner har API-nummer og kodenavn En typisk app har Activities, Layouts og resursfiler Layout definerer utlegget på skjermen. Den ligger i app/scr/main/res/layout –folder Activities beskriver hvordan programmet skal oppføre seg. En AVD simulerer en ekte android enhet. En APK er programeringspakken som lastes inn i android- enheten. (Tilsvarer en jar-enhet i java) TextView og Button er grafiske enheter kalt widgets og er Views.
Plattformer Startet av Android Inc Kjøpt opp av Google i 2005 Platform version API Level Codename Year Gingerbread Ice Cream Sandwich – Jelly Bean Kit kat Lollipop Marshmallow2015
Plattformer
Android OS
Grunnlag En app programmeres i JAVA (Eller C++) – Ikke alle java class’er er brukbare til mobiltelefon og er derfor ekskludert. En task består av en eller flere «activities» – Sider i appen korresponderer til en activity Fragment brukes for å plassere flere deler samtidig på skjermen i en activity Intents er meldingssystemet mellom activities. Intents består av: – En action som f.eks Button view – Tilhørende Data.
Activities My_Layout.xml My_Activity.java
Intents Når du sender et intent så sender du en melding om at noe skal skje. Starte en applikasjon eller starte en ny aktivitet i din applikasjon. En activity som skal kunne kalles fra andre apper må registreres i et intentfilter. Hvis flere kallmuligheter er mulig, vil brukeren kunne velge hvilken app som skal startes.
Views Et view er en rektangulær del av skjermen – TextView (widget) – Button (widget) – ImageView (widget) – Layout (Viewgroup) Java classes: Viewgroup View Widget
main() metoden main() starter et C- program I android startes en activity med onCreate() callback fra android-kjøresystem Denne startes på grunnlag av en klikk på iconet til appen Se neste slide..
Tilstandsdiagram for en activity i Android.
Hva gjør disse automatiske metodene ?
Hva trengs for å skrive et program? Utviklingsverktøy- Android Studio eller Eclipse. Vi kommer til å benytte Android Studio. + Java – 1.7 SDK - software development kit USB –drivere for overføring av program Alt. Emulator Fra SDK
Installering av Android Studio
Installering av Java
Android SDK
Legg til Android sdk
Support libraries Brukes for å gi gamle utgaver nye muligheter. V7 betyr at disse bibliotekene kan benyttes ned til api-level 7
Inne i SDK
Si hei til emulatoren
Mitt første program
Velg empty activity
Mitt første program
Kjør i emulator
Kjør på en fysisk enhet
Filstruktur – Manifest.xml
Innhold – Navnet på programmet = Entydig ID – Icon for programmet – Activities og bakgrunnsservice – Tillatelser Internet Telefon Posisjon Kamera etc.
Filstruktur MainActivity.java
Filstruktur - Layout
Filstruktur - Values
Filstruktur – build.gradle (app)
Layout.xml i Designvisning
I designmode. Endre størrelse og farge på textView
MainActivity.java package com.example.gemi.my10; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends Activity protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
AppCompatActivity extends Activity
AppCompatActivity vs. Activity på eldre enheter public class MainActivity extends AppCompatActivity { public class MainActivity extends Activity {
Button widget
Java-delen – MainActivity.java import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import java.util.Date; public class MainActivity extends AppCompatActivity { Button protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.button); //Vi må koble sammen btn og widget button updateTime(); public void onClick(View v) { updateTime(); } private void updateTime(){ btn.setText(new Date().toString()); } }
Sammenheng mellom Activity, Layout og Device onCreate() setContentView(R.layout.activity_main); Push button New date()
Filer i prosjektet
Filer i prosjektet- forts.