18
Android Basics Lecture 1 21-June-2013 MIT AITI, BMS 2013

Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

  • Upload
    vudang

  • View
    234

  • Download
    7

Embed Size (px)

Citation preview

Page 1: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

Android Basics Lecture 1

21-June-2013 MIT AITI, BMS 2013

Page 2: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

Agenda

•  Introduction to Android

•  Android OS Basics

•  Android App Basics

•  Code Management Basics

•  Reference for Further Reading

2/18  

Page 3: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

An Introduction to Android

3/18  

Mobiles  

Tablets  

Page 4: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

An Introduction to Android

4/18  

•  Over  1  Million  new  devices  worldwide  everyday  

•  1.5  Billion  app  downloads  a  month    

Page 5: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

An Introduction to Android

5/18  

Ref:  h'p://developer.android.com/about/dashboards/index.html  

Page 6: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android OS

6/18  

•  Linux  Kernel  v2.6  Based  •  Linux  Kernel  abstracts  hardware  from  the  Android  soGware  stacks  

•  API  support  for  smartphone  hardware  •  GSM  Telephony  •  ConnecNvity  –  3G,  Bluetooth  and  Wifi  •  Camera,  GPS,  Accelerometer  

Page 7: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android OS

7/18  

Page 8: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android App

8/18  

•  Each  ApplicaNon  runs  in  its  own  process  (default),  within  the  Dalvik  Virtual  Machine  

•  The  Dalvik  Virtual  Machine  •  Each  applicaNon  runs  in  its  own  process  •  Within  a  DVM  •  DVM  relies  on  Linux  kernel  for  lower  level  management  

•  Android  ships  with  a  set  of  core  applicaNons  –  email  client,  SMS,  maps,  calendar  etc.  

Page 9: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android App - Components

9/18  

Page 10: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android App - Components

10/18  

•  AcNvity  –  Single  screen    •  Service  –  Background  acNons    •  Content  Provider  –  Shared  persistent  storage    •  Broadcast  Receiver  –  Receives  noNficaNons    An  app  may  have  only  one  type  of  component,  or  it  may  have  all  four!  

Page 11: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android App - Components

11/18  

•  Ac.vity  –  Single  screen    •  Service  –  Background  acNons    •  Content  Provider  –  Shared  persistent  storage    •  Broadcast  Receiver  –  Receives  noNficaNons    An  app  may  have  only  one  type  of  component,  or  it  may  have  all  four!  

Page 12: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android App - Components

12/18  

•  Intent  –  Message  to  acNvate  a  component    •  Manifest  –  Describes  app,  its  permissions    •  View  –  Something  drawn  on  the  screen  

○  Includes  layouts,  controls,  dialogs,  etc.    •  Fragment  –  Composable  sub-­‐acNvity    •  Widget  –  Mini-­‐view  (as  in  home  screen)  

Page 13: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android App - Components

13/18  

•  Intent  –  Message  to  acNvate  a  component    •  Manifest  –  Describes  app,  its  permissions    •  View  –  Something  drawn  on  the  screen  

○  Includes  layouts,  controls,  dialogs,  etc.    •  Fragment  –  Composable  sub-­‐acNvity    •  Widget  –  Mini-­‐view  (as  in  home  screen)  

Page 14: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

The Android Activity

14/18  

Page 15: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

Code Management Basics

15/18  

•  Version  control  is  a  way  to  manage  the  history  of  a  project’s  source  code.  

•  Shared  Repositories  are  used  to  provide  a  common  code  store  database.  

•  We  will  use  ‘git’  for  our  code  management    

Page 16: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

Code Management - Git

16/18  

•  Git  is  a  distributed  version  control  and  source  code  base  management  system  

•  There  are  several  free  implementaNons  available  

•  Recommend  using  egit,  to  integrate  with  the  eclipse  IDE  

Page 17: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

References

17/18  

•  Android  Developer  Site  (esp.  API  Guides):  hfp://developer.android.com/    •  Videos:  Java  and  Eclipse  for  Total  Beginners:  hfp://eclipsetutorial.sourceforge.net/totalbeginner.html    •  A  good  Git  book:  Pro  Git  by  Scof  Chacon  hfp://git-­‐scm.com/book    •  Using  Bitbucket:  hfps://confluence.atlassian.com/display/BITBUCKET/Bitbucket+101    •  For  more  on  EGit:  hfp://wiki.eclipse.org/EGit/User_Guide    

Page 18: Android Basics Lecture 1 - MIT Global Startup Labsgsl.mit.edu/.../mit_aiti_android_basics_lecture_1_bms_2013.pdf · Android Basics Lecture 1 21-June-2013 ... • Introduction to Android

On to UI Basics!

18/18