1. Trang chủ
  2. » Công Nghệ Thông Tin

LẬP TRÌNH ANDROID NÂNG CAO Bài 4: Camera, Media, đồng bộ dữ liệu lên GCM

32 357 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 614,42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Lớp Camera được sử dụng để thiết lập camera, bắt đầu hoặc dừng sử dụng camera và preview ảnh  Để truy cập camera, bạn phải khai báo quyền CAMERA trong Android Manifest  Thêm phần tử

Trang 1

LẬP TRÌNH ANDROID NÂNG CAO

Bài 4: Camera, Media,

đồng bộ dữ liệu lên GCM

Trang 2

Nội dung bài học

 Camera

 Media

 Google cloud messaging

2

Trang 3

Lớp Camera được sử dụng để thiết lập camera, bắt đầu

hoặc dừng sử dụng camera và preview ảnh

 Để truy cập camera, bạn phải khai báo quyền CAMERA

trong Android Manifest

 Thêm phần tử <uses-feature> để khai báo các tính năng củacamera mà ứng dụng hỗ trợ

Trang 4

 Camera trên Emulator không hoạt động

 Preview: di chuyển khối hình

 Chụp ảnh luôn luôn hiển thị cùng một bức ảnh trắng

 Để test ứng dụng Camera trên Emulator phải kích hoạtcamera trên Emulator

 Sau đó vào DDMS của Eclipse để test camera

Trang 5

Camera

Trang 7

Các bước sử dụng Camera

Sử dụng open(int) để nhận instance của Camera

 Lấy thông tin các thiết lập mặc định sử dụng

getParameters()

 Nếu cần thiết, thay đổi đối tượng trả về Camera.Parameters

và gọi setParameters(Camera.Parameters)

Nếu cần thiết, gọi setDisplayOrientation(int)

 Quan trọng: truyền SurfaceHolder (đã được khởi tạo đầy đủ)

tới setPreviewDisplay(SurfaceHolder) Không có Surface,

camera không thể bắt đầu preview

Trang 8

Các bước sử dụng Camera

Gọi startPreview() để bắt đầu cập nhật preview serface

Preview phải bắt đầu trước khi bạn chụp ảnh

Khi bạn muốn, gọi takePicture(Camera.ShutterCallback, Camera.PictureCallback,

Camera.PictureCallback,Camera.PictureCallback) để

capture ảnh Đợi callback cung cấp ảnh chụp thật

 Sau khi chụp ảnh, preview display sẽ dừng Để chụp thêm

ảnh gọi startPreview() lần nữa

Gọi stopPreview() để dừng cập nhật preview surface

Quan trọng: gọi release() để giải phóng camera được sử

dụng bởi ứng dụng khác Ứng dụng nên giải phóng Camera

ngay lập tức trong onPause() (và mở lại trong onResume())

Trang 9

DEMSử dụng CameraO

Trang 10

Truyền camera tới setCamera(camera) Sử dụng

MediaRecorder để quay phim

Khi kết thúc quay, gọi reConnect() để khóa camera

 Nếu muốn, khởi tạo lại preview và tiếp tục chụp ảnh hoặcquay video

 Gọi stopPreview() và release() giống như trên

Trang 11

 SoundPool chỉ nên bật các file âm thanh có kích thước

không quá 1MB

 SoundPool tải các file không đồng bộ

 Từ Android API8, có thể kiểm tra việc tải file đã hoàn thànhchưa sử dụng OnLoadCompleteListener

Trang 12

Playing Audio

 Phone volume có thể được cấu hình để điều khiển audio stream, ví dụ trong khi gọi volume button cho phép

tăng/giảm dung lượng

 MediaPlayer phù hợp hơn cho các movie và music có dung lượng lớn

Trang 14

Playing File hoặc Stream

 Có thể truyền đối tượng Uri trỏ tới local file hoặc internet stream

 Làm việc với HTTP/RTSP stream

 Làm việc với định dạng file nhất định

Trang 15

Playing Video

 Tương tự như audio, ngoại trừ phải copy resource trước

Bổ sung: truyền SurfaceHolder tới player có thể sinh video

 Giống như cửa sổ preview của Camera

getHolder() của SurfaceView

 Copy file tới emulator card để test

Trang 17

Media Event

Trang 18

Sử dụng wake lock

 Khi thiết kế ứng dụng dùng để chơi nhạc dưới dạng

background, thiết bị có thể sleep khi service đang chạy bởi

vì hệ thống Android cố gắng tiết kiệm pin khi thiết bị đangsleep

 Nếu service đang chơi một bản nhạc, bạn có thể muốn

ngăn cản hệ thống can thiệp vào service nghe nhạc

 Để đảm bảo service vẫn tiếp tục chạy, bạn phải sử dụng

wake lock Wake lock là một cách để báo cho hệ thống biết

là một số chức năng vẫn chạy kể cả khi phone ở trạng tháiidle

Trang 19

Sử dụng wake lock

 Để đảm bảo rằng CPU tiếp tục chạy khi MediaPlayer đang

chơi nhạc, gọi phương thức setWakeMode() khi khởi tạo

MediaPlayer

 Khi đó MediaPlayer sẽ bị khóa khi chơi nhạc và giải phóngkhóa khi tạm dừng hoặc dừng chơi nhạc

Trang 20

Sử dụng wake lock

 Tuy nhiên, wake look chỉ đảm bảo là CPU vẫn không sleep

 Nếu bạn muốn stream một bản nhạc qua Wifi, bạn có thểcần giữ cho Wifi không bị tắt Do đó, bạn cần giữ WifiLock

và bạn phải lấy thông tin WifiLock và giải phóng một cáchthủ công

 Do đó, khi bạn bắt đầu chuẩn bị MediaPlayer với một URL, bạn nên tạo và lấy thông tin Wifi lock

Trang 22

DEM O

Thao tác với sound trong ứng dụng

Android

Trang 23

Google cloud messaging

(GCM)

 Là dịch vụ miễn phí để gửi

message tới các thiết bị Android

 GCM có thể tăng trải nghiệmngười dùng

 GCM cho phép gửi cho 1000 người trên một message

 Giảm thiểu gánh nặng cho

server

Trang 24

Google cloud messaging

(GCM)

 Bạn có thể nhúng dữ liệu trongmessage

 GCM message có thể chứa 4kb

dữ liệu

Trang 25

Backup API

 Khi người dùng mua một thiết

bị mới hoặc reset dữ liệu, họ cóthể muốn Google Play khôi phụcứng dụng trên thiết bị cũ trongkhi dùng thiết bị mới, dữ liệu cũtrong ứng dụng cũng muốn

được khôi phục

 Mặc định, Google Play không hỗtrợ và toàn bộ thiết lập cũ sẽ bịmất

Trang 26

Backup API

 Khi dữ liệu khá nhỏ (nhỏ hơn

1MB) như user preference, note, game high score, Backup API làgiải pháp tốt nhất

Trang 27

Đăng ký Android Backup Service

 Vào đường link

https://developer.android.com/google/backup/signup.html?csw=1 để đăng ký

 Nhập thông tin Application Package Name

 Sau đó, Google Play sẽ trả lại key và hướng dẫn cách đưathông tin key vào Android Manifest

Trang 28

Đăng ký Android Backup Service

Trang 29

DEM O

Đăng ký Android Backup Service

Trang 30

Viết code Backup agent

 Cách lý tưởng nhất là kế thừa lớp BackupAgentHelper

 Trong phương thức onCreate(), tạo BackupHelper

 Các lớp này dùng để back up một số loại dữ liệu

 Android framework cung cấp hai helper:

 FileBackupHelper

 SharedPreferencesBackupHelper

Trang 31

Viết code Backup agent

Trang 32

 Camera

 Media

 Google cloud messaging

Tổng kết nội dung bài học

Ngày đăng: 27/02/2019, 17:27

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm