Android FL 1

22
Android Föreläsning 1 Programmering C Marcus Weiderstål

Transcript of Android FL 1

Page 1: Android FL 1

Android

Föreläsning 1Programmering C

Marcus Weiderstål

Page 2: Android FL 1

Yo Android!

• Android Inc (Uppköpt av Google 2005)

• Open source (ej Google)• Open Handset Alliance (OHA)• Android Open Source Projekt

Page 3: Android FL 1

Enhetsförsäljningar för smartphones med Android OS var mest sålda av alla OS-smartphones som såldes i USA under det andra och tredje kvartalet 2010, med en marknadsandel på 43,6% under det tredje kvartalet.(Wikipedia)

Page 4: Android FL 1

Detta får du

• Email klient• SMS• PIM (personal information managment)• Webbläsare• Musikspelare samt bildgalleri• Kamera och video.• Miniräknare• ”Home screen”• Alarm

Page 5: Android FL 1

Android market – Google maps – Gmail – Google talk - YouTube

Page 6: Android FL 1

Android är inte

• En Java ME implementation• En del av LiPS (Linux Phone

Alliance)• Googles svar på Iphone

Page 7: Android FL 1

”The first truly open and comprehensive plattform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that havhinderd mobile innovation”

Andy Robin, Google developments

Page 8: Android FL 1

Operativsystem

•Ett gratis open-source operativsystem för mobila enheter

Utvecklingsplatfor

m

•En open-source utvecklingsplattform för att skapa tillägsprogram till mobila enheter

Enheter

•Främst mobiltelefoner, men även annat t ex läsplattor som kör Android och tillägsprogram.

Page 9: Android FL 1

Operativsystemets programvara består av Java-applikationer som drivs på en Java-baserad objektorienterad applikationsstruktur ovanpå ett Java-bibliotek som drivs på en Dalvik med JIT-kompilator. Bibliotek skrivna i C inkluderar OpenCore, skärmshanteraren, multimediastrukturen, relationsdatabashanteringssystemet SQ Lite, 3D-grafiks OpenGL ES-API, Webkit, SGL-grafikmotorer, SSL och Bionic libc. Operativsystemet består av 12 miljoner rader av koder som innehåller tre miljoner rader av Xml, 2,8 miljoner rader av C, 2,1 miljoner rader av Java och 1,75 miljoner rader av C++.[Den första mobilen utvecklad för Android och ämnad för användare, HTCDream, presenterades den 23 september 2008.

(Wikipedia)

Page 10: Android FL 1
Page 11: Android FL 1

Programmera till Android

• Tillägsprogram (Appar)• Java • Android SDK• Android API• C

Page 12: Android FL 1

Android SDK

• Utvecklingsmiljö gjord för Android• Kan kompilera C-kod

Page 13: Android FL 1

Vad består en app av?

• Activities• Services• Content providers• Intents• Broadcasts Receivers• Widgets• Notifications

Page 14: Android FL 1

Activities

• Presentationslagret. • Förlängning av ”Activity class”. • GUI

Page 15: Android FL 1

Services

• ”Where the shits goes down”• Service-komponenter arbetar i

bakgrunden.• Uppdaterar datan som blir visuell i

Activities och Notifications. • ”Pingar” saker.

Page 16: Android FL 1

Content providers

• Data som går att dela (förvaras)• Delas mellan appar.

• Exempel (I): Facebook places. • Exempel (II): Bildgalleriet

Page 17: Android FL 1

Intents

• Skickar information, medelanden, data mm till andra delar av appen eller andra appar.

Page 18: Android FL 1

Broadcasts receivers

• Konsumerar ”Intents” data. • Antingen via egna appen eller

annan data.

Page 19: Android FL 1

Nästa föreläsning?

• Tar vi en djupare titt på ”Activities”

Du kan läsa mer om dagens FL på: undervisnings.marcusweiderstal.se samt http://

developer.android.com/guide/index.html

Dagens föreläsning är främst hämtad från boken ”Android 2 Application Development” som finns i skolans bibliotekt.

Page 20: Android FL 1

Widgets

• Visuella ting som kan synas på ”home”-skärmen.

Page 21: Android FL 1

Notifications

• Meddelar att något händer.

• Exempel (I): vibrerar när du får ett mention på twitter

• Exempel (II): Visar när du byter låt på Spotify

Page 22: Android FL 1

Manifest

• AndroidManifest.XML• Finns i alla appar/projekt• Behandlar data och metadata.

<?xml version="1.0" encoding="utf-8"?><manifest ... > <application android:icon="@drawable/app_icon.png" ... > <activity android:name="com.example.project.ExampleActivity" android:label="@string/example_label" ... > </activity> ... </application>