30/09/2018, 17:21
Thắc mắc về Kiến Trúc trong Android
Dựa theo hình thì em có 2 câu hỏi cần giải đáp là
- Lập trình viên có thể lập trình khi ở tầng LIBRARIES , ANDROID RUNTIME, LINUX KERNEL được hay không ? Vì sao ?
- Từ tầng APPLICATION FRAMEWORK lập trình viên có thể gọi trực tiếp đến tầng LINUX KERNEL được hay không ? Giải thích ?
Em cảm ơn
Bài liên quan
code bằng Android NDK
Biết Linux Kernel là cái gì ko mà gọi trực tiếp ghê thế???
===========
Linux Kernel: core của hệ điều hành; cơ bản , ngoài thằng có việc phải phát triển hệ điều hành ra thì ngoài ra chả có việc gì ở đây hết.
Libraries + Android Runtime: cái này là các driver, thư viện xử lý native làm việc trực tiếp tới các thiết bị, ví dụ OpenGL tương tác với màn hình, hay card đồ hoạ để xử lý hình ảnh, Webkit xử lý các thông số về mạng để vẽ giao diện trên browser, libc cung cấp các API cơ bản để tương tác hệ điều hành … Về cơ bản, không làm xử lý tới phần cứng hay tối ưu hoá thiết bị thì không phải làm gì ở đây hết.
Application Framework: nơi tạo ra các API dành cho Android Java, và cung cấp cho tầng Application ở trên. Chủ yếu ở đây là cung cấp các Interface Java để tương tác với tầng Library bên dưới (mô hình Android là đẩy qua các message Parcelable). Tài liệu API của Android chính là mô tả cái này. Đây cũng là chỗ mà các cụ phát triển ROM sờ mó vào chủ yếu, ví dụ thay đổi giao diện toàn hệ thống, thay đổi cơ chế quản lý package, đổi thằng Home …
Application: các ứng dụng nẳm ở trên, tức các sản phẩm tạo ra từ việc học các API ở Application Framework.
Các lập trình viên sờ mó vào:
Còn chúng ta học API trong App Framework để tạo Application, Application Programmer / Developer