งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Introduction to Android

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Introduction to Android"— ใบสำเนางานนำเสนอ:

1 Introduction to Android
อ.สุพจน์ สิงหัษฐิต

2 What is Android ? แอนดรอยด์ (Android) เป็นระบบปฏิบัติการสำหรับอุปกรณ์พกพา เช่น โทรศัพท์มือถือ แท็บเล็ตคอมพิวเตอร์ เน็ตบุ๊ก เป็นต้น ซึ่งพัฒนามาจากระบบปฏิบัติการลินุกซ์ (Linux) แอนดรอยด์ ถูกพัฒนาโดยบริษัทแอนดรอยด์ (Android Inc.) จากนั้นบริษัทแอนดรอยด์ถูกซื้อโดยกูเกิล และกูเกิลได้ร่วมมือกับกลุ่มบรษัททางด้านฮาร์ดแวร์ ซอร์ฟแวร์ และ การสื่อสาร เพื่อจัดตั้งองค์กรความร่วมมือชื่อว่า Open Handset Alliance

3 What is Android ? Open Handset Alliance
จัดตั้งขึ้นเพื่อวัตถุประสงค์ในการสร้างแพลตฟอร์ม (Platform) สำหรับอุปกรณ์พกพาที่มีพื้นฐานอยู่บนมาตรฐานเปิด (Open Standard) นักพัฒนาสามารถพัฒนาแอพพลิเคชั่นที่รันบนแอนดรอยด์ ได้โดยใช้ภาษาจาวา โดยการเข้าถึงความสามารถต่างๆของแอนดรอยด์ จะกระทำผ่านทางชุด Java libraries ที่กูเกิลได้จัดเตรียมไว้ให้ใน Android SDK

4 Who was control the portal ?

5 The rumor

6 Android version history
2008 Aug 18 2008 Sep 23 2009 Feb 9 2009 Apr 30 Android 0.9 320x480 HVGA Android 1.0 Apple pie API 1.0 320x480 HVGA Android 1.1 Banana bread API 2.0 320x480 HVGA Android 1.5 Cupcake API 3.0 Bluetooth A2DP, AVRCP support Soft-keyboard with text-prediction Record/watch videos 320x480 HVGA Talk about codename

7 Android version history
2009 Sep 15 2009 Oct 26 2010 May 20 Android 1.6 Donut API 4.0 Gesture framework Turn-by-turn navigation 800×480 WVGA Android 2.0 Éclair API 5.0 Digital zoom Live Wallpapers Updated UI 800×480 WVGA Android 2.2 Froyo API 8.0 Flash 10.1 JIT implementation USB Tethering Applications installation to the expandable memory Upload file support in the browser Animated GIFs 800×480 WVGA

8 Android version history
2010 Dec 6 2011 Feb 22 Android 2.3 Gingerbread API 9.0 Near Field Communication support Native VoIP/SIP support Video call support 1366×768 WXGA Android 3.0 Honeycomb API 11.0 Multi core support Better tablet support Updated 3D UI "Private browsing“ Open Accessory API USB host API Mice, joysticks, gamepads... support

9 Android version history
2011 Oct 19 Android 4.0 Ice Cream Sandwich API 14.0 Facial recognition (Face Unlock) UI use Hardware acceleration Web browser, allows up to 16 tabs Updated launcher Android Beam exchange data through NFC Resizable widgets Video stabilization GoogleNow Android 4.1 Jelly Bean Triple buffering in the graphics pipeline Extends vsync timing across all drawing and animation CPU input boost Bi-Directional Text and Other Language Support Android Beam Google Cloud Messaging for Android App Encryption Smart App Updates

10 Android Handsets SJU Android

11 Android Architecture แอนดรอยด์เป็นซอฟต์แวร์ที่มีโครงสร้างแบบเรียงทับซ้อนหรือ แบบสแต็ก (Stack) ซึ่งรวมเอาระบบปฏิบัติการ (Operating System) , มิดเดิลแวร์ (Middleware) และแอพพลิเคชันที่สำคัญเข้าไว้ด้วยกัน เพื่อใช้สำหรับทำงานบนอุปกรณ์พกพาเคลื่อนที่ (Mobile Devices) เช่น โทรศัพท์มือถือ เป็นต้น การทำงานของแอนดรอยด์มีพื้นฐานอยู่บนระบบลีนุกซ์ เคอร์เนล (Linux Kernel) ซึ่งใช้ Android SDK (Software Development Kit) เป็นเครื่องมือสำหรับการพัฒนา แอพพลิเคชันบนระบบปฏิบัติการ Android และใช้ภาษา Java ในการพัฒนา

12

13 The Kernel

14 Linux kernel • ทำหน้าที่เป็น Hardware Abstraction Layer
คือเป็นตัวกลางระหว่าง ฮาร์ดแวร์ กับส่วนของซอร์ฟแวร์ที่อยู่ถัดขึ้นไป • ทำหน้าที่บริหารจัดการทรัพยากรต่างๆของเครื่อง เช่น การจัดการหน่วยความจำ (Memory Management) การจัดการโพรเซส (Process Management) การเชื่อมต่อเครือข่าย (Networking) เป็นต้นฯลฯ • ผู้ผลิตอุปกรณ์สามารถพอร์ต (port) แอนดรอยด์ให้ไปรันบนฮาร์ดแวร์ แบบต่างๆได้โดยเปลี่ยนแปลงในส่วนของ Linux kernel นี้

15 Libraries

16 Libraries Android ได้รวบรวมกลุ่มของไลบรารีต่างๆ ที่สำคัญและมีความจำเป็นเอาไว้มากมาย เพื่ออำนวยความสะดวกให้กับนักพัฒนาและง่ายต่อการพัฒนาโปรแกรม โดยตัวอย่างของไลบรารีที่สำคัญเช่น System C library เป็นกลุ่มของไลบรารีมาตรฐานที่อยู่บนพื้นฐาน ของภาษา C ไลบรารี (libc) สำหรับ embedded system ที่มีพื้นฐานมาจาก Linux Media Libraries เป็นกลุ่มการทำงานมัลติมีเดีย เช่น MPEG4, H.264, MP3, AAC, AMR, JPG, และ PNG Surface Manager เป็นกลุ่มการจัดการรูปแบบหน้าจอ การวาดหน้าจอ

17 Libraries 3D/3D library เป็นกลุ่มของกราฟิกแบบ 2 มิติ หรือ
SGL (Scalable Graphics Library) และแบบ 3 มิติ หรือ OpenGL FreeType เป็นกลุ่มของบิตแมป (Bitmap) และเวคเตอร์ (Vector) สำหรับ การเรนเดอร์ (Render) ภาพ SQLite เป็นกลุ่มของฐานข้อมูล โดยนักพัฒนาสามารถใช้ฐานข้อมูลนี้เก็บข้อมูล แอพพลิเคชันต่างๆ ได้ Browser Engine เป็นกลุ่มของการแสดงผลบนเว็บเบราเซอร์โดยอยู่บนพื้นฐานของ Webkit ซึ่งจะมีลักษณะคล้ายกับ Google Chrome

18

19

20 Dalvik Virtual Machine
20 Android Runtime Dalvik Virtual Machine

21 Android Runtime เป็นชั้นย่อยที่อยู่ในชั้นไลบรารี ซึ่งจะประกอบด้วย 2 ส่วนหลักคือ Dalvik VM (Virtual Machine)  ส่วนนี้ถูกเขียนด้วยภาษา Java เพื่อใช้เฉพาะการใช้งานในอุปกรณ์เคลื่อนที่ Dalvik VM จะแตกต่างจาก Java VM (Virtual Machine) คือ Dalvik VM จะรันไฟล์ .dex ที่คอมไพล์ มาจากไฟล์ .class และ .jar โดยมี tool ที่ชื่อว่า dx ทำหน้าที่ในการบีบอัดคลาส Java

22 Android Runtime ทั้งนี้ไฟล์ .dex จะมีขนาดกะทัดรัดและเหมาะสมกับอุปกรณ์เคลื่อนที่มากกว่า .class เพื่อต้องการใช้พลังงานจากแบตเตอรี่อย่างมีประสิทธิภาพสูงสุด

23 Android Runtime Core Java Library
ส่วนนี้เป็นไลบรารีมาตรฐาน แต่ก็มีความแตกต่างจากไลบรารีของ Java SE (Java Standard Edition) และ Java ME (Java Mobile Edition)

24 Application Framework & Toolkit

25 Application Framework
ในชั้นนี้จะอนุญาตให้นักพัฒนาสามารถเข้าเรียกใช้งาน โดยผ่าน API (Application Programming Interface) ซึ่ง Android ได้ออกแบบไว้เพื่อลดความซ้ำซ้อนในการ ใช้งาน application component โดยในชั้นนี้ประกอบด้วยแอพพลิเคชันเฟรมเวิร์คดังนี้

26 Application Framework
View System เป็นส่วนที่ใช้ในการควบคุมการทำงานสำหรับการ สร้างแอพพลิเคชัน เช่น lists, grids, text boxes, buttons และ embeddable web browser Location Manager เป็นส่วนที่จัดการเกี่ยวกับค่าต่ำแหน่งของ เครื่องอุปกรณ์พกพาเคลื่อนที่ Content Provider เป็นส่วนที่ใช้ควบคุมการเข้าถึงข้อมูลที่ มีการใช้งานร่วมกัน (Share data) ระหว่างแอพพลิเคชันที่แตกต่างกัน เช่น ข้อมูลผู้ติดต่อ (Contact)

27 Application Framework
Resource Manager เป็นส่วนที่จัดการข้อมูลต่างๆ ที่ไม่ใช่ส่วนของ โค้ดโปรแกรม เช่น รูปภาพ, localized strings, layout ซึ่งจะอยู่ ในไดเร็คทอรี res/ Notification Manager เป็นส่วนที่ควบคุมอีเวนต์ (Event) ต่างๆ ที่แสดงบนแถบสถานะ (Status bar) เช่น ในกรณีที่ได้รับข้อความหรือ สายที่ไม่ได้รับและการแจ้งเตือนอื่นๆ เป็นต้น Activity Manager เป็นส่วนควบคุม Life Cycle ของแอพพลิเคชัน

28 Android Application

29 Application Building Blocks
ชั้นนี้จะเป็นชั้นที่อยู่บนสุดของโครงสร้างสถาปัตยกรรม Android ซึ่งเป็นส่วนของแอพพลิเคชันที่พัฒนาขึ้นมาใช้งาน เช่น แอพพลิเคชันรับ/ส่งอีเมล์, SMS, ปฏิทิน, แผนที่, เว็บเบราเซอร์, รายชื่อผู้ติดต่อ เป็นต้น ซึ่งแอพพลิเคชันจะอยู่ในรูปแบบของไฟล์ .apk

30 User Interface SJU Android

31 Android Apps Sleep as android Run keeper

32 Android Apps Shazam gStrings

33 Android Apps Google skymap Games

34 Android software development
J2se JDK Android SDK SDK Platform SDK Platform tools SDK Tools Emulator & Images Example Eclipse IDE ADT Plug-in ADB USB Driver Internet connection for online install

35 Emulator limitation No support for placing or receiving actual phone calls. No support for USB connections No support for camera/video capture (input). No support for device-attached headphones No support for determining connected state No support for determining battery charge level No support for determining SD card insertion/removal No support for Bluetooth No support for Multitouch

36 Android Open Accessory Development Kit (ADK)

37 IOIO for Android -Chainable LED -Joystick -PIR Motion Sensor
-Ultra Sonic range finder -Temp&Humi Sensor -125Khz RFID Card Reader -Relay -High Sensitive Mini Servo

38 การสร้าง AlertDialog

39 การสร้าง AlertDialog

40 การสร้าง AlertDialog 1). import android. app. AlertDialog; 2)
การสร้าง AlertDialog 1) import android.app.AlertDialog; 2) AlertDialog.Builder adb = new AlertDialog.Builder(this); EditText edt1 = (EditText)this.findViewById(R.id.editText1) Button but1 = (Button)this.findViewById(id.button1); 3) but1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { 4) AlertDialog ad = adb.create(); String aaa = edt1.getText().toString(); ad.setMessage("Sawatdee khun : " + aaa); ad.show(); } });

41 การสร้าง Alert Text

42 การสร้าง Alert Text

43 การสร้าง Alert Text 1). import android. widget. Toast; 2)
การสร้าง Alert Text 1) import android.widget.Toast; 2) EditText editT1 = (EditText)findViewById(R.id.editText1); Button btn1 = (Button)findViewById(R.id.button1); 3) but1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { 4) Toast.makeText(MainActivity.this, String.valueOf("Your Input : " + editT1.getText().toString()), Toast.LENGTH_SHORT).show(); } });

44 การIntent ที่มีการส่งค่า Result

45 การIntent ที่มีการส่งค่า Result

46 การIntent ที่มีการส่งค่า Result

47 การIntent ที่มีการส่งค่า Result 1) Import android.content.Intent; 2) public void onClick(View v) { Intent i = new Intent(MainActivity.this,Input.class); startActivityForResult(i,13); } 3) protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode){ case(13): if(resultCode==Activity.RESULT_OK) { textview.setText(data.getStringExtra("radius")); } break; }}

48 การIntent ที่มีการส่งค่า Result 1) Import android.content.Intent; 2) public void onClick(View v) { Intent i = new Intent(); i.putExtra("radius", edittext1.getText().toString()); Input.this.setResult(RESULT_OK,i); finish(); } 3) protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); }

49 GPS 1). ต้องขอสิทธิ์ACCESS_FINE_LOCATION จาก AndroidManifest
GPS 1) ต้องขอสิทธิ์ACCESS_FINE_LOCATION จาก AndroidManifest.xml <uses-permission ndroid:name="android.permission.ACCESS_FINE_LOCATION"/> 2) import android.location.Location; 3) private LocationManager lm; private TextView txtv; protected void onCreate(Bundle savedInstanceState) { txtv =(TextView)this.findViewById(R.id.textView1); lm = (LocationManager)this.getSystemService(LOCATION_SERVICE); } 4) protected void onResume() { super.onResume(); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,1500,1,this); }

50 GPS 5). protected void onPause() {. super. onPause();. lm
GPS 5) protected void onPause() { super.onPause(); lm.removeUpdates(this); } 6) public void onLocationChanged(Location arg0) { if(arg0 == null) txtv.append("***ไม่สามารถระบุตำแหน่งได้***"+ "\n"); else{ txtv.append("ละติจด:"+ arg0.getLatitude()+ "\n"); txtv.append("ลองติจด:"+ arg0.getLongitude()+ "\n"); } }

51 การขอ Google Maps API Key 1). หาไฟล์ debug. keystore ให้เจอ 2)
การขอ Google Maps API Key 1) หาไฟล์ debug.keystore ให้เจอ 2) keytool -list -alias androiddebugkey -keystore <path_to_debug_keystore>.keystore -storepass android -keypass android D:\ >keytool -list -alias androiddebugkey -keystore D:\.android\debug.keystore -storepass android -keypass android 3) ผลลัพธ์ Certificate fingerprint (MD5): 82:48:6B:DE:82:84:8D:E0:AC:0A:6F:09:94:4F:5F:07 4) ไปที่ 5) Your key is 0ZI4J5um4YUPUcW4rqP2CulDXvicUXanHTZ2JPg


ดาวน์โหลด ppt Introduction to Android

งานนำเสนอที่คล้ายกัน


Ads by Google