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

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

อ. สุพจน์ สิงหัษฐิต Introduction to Android. What is Android ? แอนดรอยด์ (Android) เป็นระบบปฏิบัติการสำหรับอุปกรณ์พกพา เช่น โทรศัพท์มือถือ แท็บเล็ตคอมพิวเตอร์

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


งานนำเสนอเรื่อง: "อ. สุพจน์ สิงหัษฐิต Introduction to Android. What is Android ? แอนดรอยด์ (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

5

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

7 Android 1.6 Donut API 4.0 Gesture framework Turn-by-turn navigation 800×480 WVGA 2009 Sep 15 Android 2.0 Éclair API 5.0 Digital zoom Live Wallpapers Updated UI 800×480 WVGA 2009 Oct 26 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 2010 May 20 Android version history

8 Android 2.3 Gingerbread API 9.0 Near Field Communication support Native VoIP/SIP support Video call support 1366×768 WXGA 2010 Dec 6 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 2011 Feb 22 Android version history

9 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 2011 Oct 19 Android 4.1 Jelly Bean Android version history 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 10SJU 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 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 Android Runtime Dalvik Virtual Machine 20

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

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

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

24 Application Framework & Toolkit

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

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

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

28 Android Application

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

30 User Interface 30SJU Android

31 Sleep as android Run keeper Android Apps

32 Shazam gStrings Android Apps

33 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

40 การสร้าง 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

43 การสร้าง 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

46

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.xml 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_SERVI CE); } 4) protected void onResume() { super.onResume(); lm.requestLocationUpdates(LocationManager.GPS_PR OVIDER,1500,1,this); }

50 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) keytool -list -alias androiddebugkey -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) ไปที่ api-signup.html 5) Your key is 0ZI4J5um4YUPUcW4rqP2CulDXvicUXanHTZ2JPg


ดาวน์โหลด ppt อ. สุพจน์ สิงหัษฐิต Introduction to Android. What is Android ? แอนดรอยด์ (Android) เป็นระบบปฏิบัติการสำหรับอุปกรณ์พกพา เช่น โทรศัพท์มือถือ แท็บเล็ตคอมพิวเตอร์

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


Ads by Google