Phần 1 : Permisson là gì?
Đơn giản dễ hiểu đúng như cái ý nghĩa của nó dịch ra từ tiếng anh là "cho phép"
cho phép ở đây hiểu rõ hơn là android sẽ có một vài quyền, và để xin được quyền đó cho ứng dụng của bạn, bạn phải đăng ký quyền này, hiểu là bạn muốn dùng súng phải lên công an đăng ký giấy phép vậy :D
Vậy đăng ký permission như thế nào? nằm ở đâu trong trong ứng dụng?
Để đăng ký permission bạn phải vào đăng ký ở trong AndroidManifest.xml
câu lệnh đăng ký như sau:
<uses-permission android:name="android.permisson.BIND_APPWIDGET" />
vị trí đặt câu lệnh nằm giữa cặp thẻ <uses-sdk ...> và <application...>
-------------------------------------------------------------------------------
ví dụ đơn giản sau: trong demo sử dụng đối tượng WebView để load 1 trang web
ta phải đăng ký với hệ điều hành android cấp quyền thiết lập intenet
<uses-permission android:name="android.permission.INTERNET" />
mới có thể truy cập vào website đó
------------------------------------------------------------------
Sau đây Long sẽ giới thiệu các permission trong android.
Các cờ này sẽ cho phép các quyền gì đó
các bạn phải chú ý đọc sơ qua ít nhất 1 lần nhé vì sau này khi lập trình ứng dụng android
chúng ta sẽ vô tình gặp cái gì đó phải xin phép từ một trong số các quyền này
dó nội dụng khá nhiều nên mời các bạn theo dõi topic sau.
http://android.vn/threads/24561/
-----------------
Phần 2: Android Multi - Thread
cái này đúng là là phần trong java code nhưng trong android cũng có đối tượng liên quan và đối tượng này cũng thường xuyên sử dụng.
Mult-iThread là gì? đơn giản là đa luồng, do thời gian hạn chế nên hình ảnh minh họa về vấn đề này Long sẽ đăng lên topic và share link cho các bạn vào cuối bài học
Luồng ở đây là một đơn vị thực hiện đồng thời.
Đa luồng là một phương pháp "giả tạo" các lệnh thực thi cùng một lúc (ít nhất là trong thời điểm hiện tại) giúp cho người dùng có cảm giác chương trình thực thi nhanh hơn. Về mặt lập trình thì nó giúp chuơng trình thực thi nhiều tác vụ có thể coi như đồng thời, nhờ đó ứng dụng vẫn có thể tuơng tác tốt với người dùng trong khi đang bận làm 1 việc gì đó. Giống như 1 người vừa học, vừa nghe nhạc, vừa làm nhiều cái khác trong 1 thời điểm .
Trong ứng dụng android, ta có thể khởi chạy đa luông bất cứ lúc nào mà chúng ta muốn (sau một sự kiện hoặc do một sự kiện nào đó tự kích hoạt …)
Thường thì sẽ có 1 luồng chính và nhiều luồng phụ
chạy song song đồng thời và lúc nào đó các luồng phụ sẽ can thiệt vào luồng chính thông qua các biến toàn cục
Về cơ bản có 2 cách chính để thực thi luồng (Thread) trong một đoạn code của ứng dụng
- Tạo 1 class mới có kế thừa (extends) Thread và nạp chồng (override - viết lại, định nghĩa lại) hàm (function) run().
- Khởi tạo 1 đối tượng mới là thể hiện một luồng thông qua đối tượng Runnable
Cả 2 cách này đếu có 1 điểm chung là gọi phương thức start() để bắt đầu thực thi luồng mới tạo này.
* Ưu điểm của đa luồng:
1. Mỗi luồng có thể dùng chung và chia sẻ nguồn tài nguyên trong quá trình chạy, nhưng có thể thực hiện một cách độc lập.
2. Ứng dụng trách nhiệm có thể được tách
• Luồng chính chạy giao diện người dung
• Các luồng phụ nhiệm gửi đến luồng chính.
3. Luồng mang tính chất trừu tượng
4. Một chương trình đa luồng hoạt động nhanh hơn trên máy tính có cấu hình tốt và mạnh
* Nhược điểm của đa luồng:
Càng nhiều luồng thì xử lý càng phức tạp
Cần phát hiện tránh các luồng chết, luồng chạy mà không làm gì trong ứng dụng cả
---------------------------------------------------------------------------------------------
Luồng và giao diện người dùng sử dụng:
- Luồng tuyệt đối không được tương tác với giao diện người dùng
- Chỉ có thể truy cập đến activity chính
- Chỉ có thể cập nhật giá trị của các biến toàn cục trong class
ví dụ về đa luồng:
- links số 1: http://android.vn/threads/24616/
- links số 2: http://android.vn/threads/24469/
-------------------
Nhận xét này đã bị tác giả xóa.
Trả lờiXóa