Được tạo bởi Blogger.

Labels

Thứ Sáu, 27 tháng 5, 2016

AndroidBasic - Application Components


Các thành phần ứng dụng là các khối xây dựng cơ bản của một ứng dụng Android. Các thành phần này được ghép với nhau bởi manifest ứng dụng, file AndroidManifest.xml miêu tả mỗi thành phần của ứng dụng và cách chúng tác động lẫn nhau.

Có 4 thành phần chính dưới đây có thể được sử dụng trong phạm vi ứng dụng Android:


Activities
Một activity đại diện một màn hình đơn với một giao diện người dùng, in-short Activity thực hiện hành động trên màn hình. Chẳng hạn, một ứng dụng email có thể có một activity để hiển thị các email mới, activity khác để soạn email, đọc các email. Nếu một ứng dụng có nhiều hơn 1 activity, một trong số đó nên được đánh dấu như activity để hiển thị khi ứng dụng được bật lên.

Một activity được kế thừa như một subclass của class Activity dưới đây:


Services
Một dịch vụ của một thành phần chạy trên nền để thực hiện hoạt động chạy dài hạn. Chẳng hạn, một dịch vụ service có thể chơi nhạc trên nền trong khi người dùng đang trong một ứng dụng khác hoặc nó có thể tìm dữ liệu qua mạng mà không cần khối giao diện người dùng với một activity.

Một service được kế thừa như một subclass của class Service như dưới đây:


Broadcast Receivers 
Các Broadcast Receiver chỉ đơn giản là phản ứng để phát sóng các tín nhắn từ các ứng dụng khác hoặc từ hệ thống. Chẳng hạn, các ứng dụng cũng có thể khởi tạo broadcast để các ứng dụng khác biết rằng dữ liệu đã được tải xuống thiết bị và đang có sẵn cho chúng sử dụng. Nên đây là broadcast receiver, cái sẽ chặn sự giao tiếp này và sẽ khởi tạo hành động thích hợp.

Một broadcast receiver được kế thừa như một subclass của class BroadcastReceiver và mỗi tin nhắn là broadcaster như một đối tượng Intent.


Content Providers
Một thành phần cung cấp nội dung cung cấp dữ liệu từ một ứng dụng tới các ứng dụng khác trên một yêu cầu. Các yêu cầu được xử lý bởi các phương thức của class ContentResolver. Dữ liệu có thể được lưu trữ trong file hệ thống, cơ sở dữ liệu hoặc một số nơi khác 

Một content provider được kế thừa như một subclass của class ContentProvider và phải kế thừa một thiết lập API chuẩn, kích hoạt các ựng dụng Android để thực hiện các giao dịch.


Chúng ta sẽ đi qua chi tiết các thẻ này trong khi nói lại các thành phần ứng dụng trong các chương riêng.

Additional Components
Có các thành phần bổ sung mà sẽ được sử dụng trong việc xây dựng của các thành phần ở trên. Các thành phần này là:




Thứ Năm, 26 tháng 5, 2016

AndroidBasic - Architecture


Hệ điều hành Android là một ngăn xếp của các thành phần phần mềm, được chia thành 5 mục và 4 layer chính như dưới đây, trong biểu đồ cấu trúc.



Linux Kernel
Ở layer phía dưới là Linux - Linux 3.6 với gần 115 patch. Nó cung cấp một mức độ trừu tượng giữa thiết bị phần cứng và nó chứa tất cả các driver phần cứng cốt yếu như camera, keypad, display,.. Cũng thế, tất cả mọi thứ đều thực sự tốt như networking và một mảng rộng các driver của thiết bị.

Libraries
Phía trên của Linux Kernel có một thiết lập của các thư viện bao gồm các công cụ tìm kiếm mã nguồn mở Webkit, thư viện nổi tiếng như libc, SQLite database, rất có ích cho việc lưu trữ và chia sẻ dữ liệu của ứng dụng, các thư viện để chơi và thu âm, video, thư viện SSL cho bảo mật Internet,..

Andoird Libraries
Mục này có chứa các thư viện Java cơ bản đặc biệt dành cho phát triển Android. Ví dụ của thư viện trong mục này bao gồm các thư viện khung ứng dụng được thêm vào để dễ dàng xây dựng giao diện người dùng, vẽ đồ họa và truy cập cơ sở dữ liệu. Dưới đây tóm tắt một số từ khóa của các thư viện Android cho nhà phát triển Android.

       * android.app - Cung cấp truy cập tới model ứng dụng và là nền tảng của mọi ứng dụng Android.

      * android.content - Giúp dễ dàng truy cập nội dung, xuất bản và nhắn tin giữa các ứng dụng và giữa các thành phần của ứng dụng.

      * android.database - Được sử dụng để truy cập dữ liệu xuất bản bởi người cung cấp nội dung và bao gồm các class quản lí SQLite database.

       * android.opengl - Một giao diện Java với OpenGL ES 3D để dựng hình đồ họa API.

      * android.os - Cung cấp các ứng dụng với việc truy cập tới các dịch vụ của hệ điều hành chuẩn bao gồm: message, các dịch vụ hệ thống và giao tiếp inter-process.

       * android.text - Được sử dụng để đưa ra và thao tác text trên màn hình của một thiết bị.

       * android.view - Các khối xây dựng cơ bản của ứng dụng giao diện người dùng.

       * android.widget - Một bộ sưu tập phong phú của các thành phần giao diện người dùng được xây dựng trước như: button, label, list view, quản lý layout, radio button,..

       * android.webkit - Một thiết lập của các class được dùng để cho phép các trình tìm kiếm web có thể được xây dựng vào các ứng dụng.

Đã bảo đảm các thư viện cốt lõi dựa trên Java trong thời gian chạy Android. Giờ là lúc chuyển sự chú ý của chúng ta tới các thư viện C/C++ cơ bản chưa trong layer này của khối phần mềm Android.

Android Runtime
Đây là mục thứ 3 của cấu trúc và có sẵn trên layout thứ 2 từ trên xuống. Mục này cung cấp một từ khóa thành phần được gọi là Dalvik Virtual Machine, là một loại máy ảo Java được đặt biệt thiết kế và được tối ưu hóa cho Android.

Dalvik VM làm việc sử dụng các tính năng của lõi Linux giống như quản lý bộ nhớ và đa luồng, là bản chất trong ngôn ngữ Java. Dalvik VM cho phép mọi ứng dụng Android chạy trong tiến trình của riêng nó với trường hợp của riêng nó của máy ảo Dalvik.

Android runtime cũng cung cấp một thiết lập các thư viện lõi, cho phép các nhà phát triển ứng dụng Android viết các ứng dụng Android sử dụng ngôn ngữ lập trình Java chuẩn.

Application Framework
Application Framework cung cấp nhiều dịch vụ higher-level để các ứng dụng trong mẫu của các class Java. Các nhà phát triển ứng dụng được cho phép để sử dụng các dịch vụ này trong ứng dụng của họ.

Android Framework bao gồm một số service sau đây:

       * Activity Manager - Điều khiển mọi khía cạnh của chu kỳ vòng đời ứng dụng và activity stack.

       * Content Providers - Cho phép các ứng dụng được xuất bản và chia sẻ dữ liệu với các ứng dụng khác.

       * Resource Manager - Cung cấp truy cập tới các nguồn tài nguyên không mã nhúng như string, color settings và user interface layout.

        * Notifications Manager - Cho phép các ứng dụng hiển thị alerts và thông báo cho người dùng.

        * View System - Một thiết lập có thể mở rộng view được sử dụng để tạo các giao diện ứng dụng người dùng.

Application
Bạn sẽ tìm thấy tất cả các ứng dụng Android ở layer đầu tiên. Bạn sẽ viết ứng dụng của bạn để được cài đặt chỉ trên layer này. Các ví dụ của ứng dụng là: Contacts Books, Brower, Games,..

AndroidBasic - Environment Setup



Bạn sẽ rất vui khi biết rằng bạn có thể bắt đầu phát triển ứng dụng Android trên các hệ điều hành dưới đây:
        * Microsoft Windows XP hoặc phiên bản cũ hơn.
        * Mac OS X 10.5.8 hoặc phiên bản cũ hơn với chip Intel.
        * Linux bao gồm thư viện GNU C 2.7 hoặc cũ hơn.

Điểm thứ 2 là tất cả các yêu cầu về công cụ để phát triển ứng dụng Android đều hoàn toàn miễn phí và có sẵn. Có thể tải từ Web. Dưới đây là danh sách các phần mềm bạn sẽ cần trước khi bắt đầu lập trình một ứng dụng Android.
        * Java JDK5 hoặc phiên bản cũ hơn
        * Android SDK
        * Java Runtime Environment (JRE) 6
        * Android Studio
        * Eclipse IDE cho nhà phát triển Java
        * Android Development Tool (ADT) Eclipse Plug-in

Ở đây 2 thành phần cuối là không bắt buộc và nếu bạn đang làm việc trên Window thì các phần mềm này sẽ giúp bạn lập trình dễ dàng hơn khi phát triển các ứng dụng trên nền tảng Java. Giờ hãy cùng xem làm sao để tiếp tục cài đặt môi trường.

Cài đặt Java Development Kit (JDK)
Bạn có thể tải phiên bản mới nhất của Java JDK từ website: Java SE Dowloads. Bạn sẽ tìm thấy hướng dẫn cho cài đặt JDK trong file dowload, theo những hướng dẫn đó để cài đặt và cấu hình cho cài đặt. Cuối cùng đặt các biến môi trường PATH và JAVA_HOME để chuyển đến nơi chứa java và javac, điển hình là  java_install_dir/bin and java_install_dir respectively.

Nếu bạn đang chạy Windows và đã cài JDK trong C:\jdk1.6.0_15, bạn sẽ phải đặt các dòng dưới đây trong file C:\autoexec.bat của bạn.


Ngoài ra, bạn cũng nên click chuột phải vào My Computer, chọn Properties, tiếp theo là Advanced, tiếp Environment Variables. Sau đó, bạn cập nhật giá trị PATH và nhấn OK.

Trên Linux, nếu SDK đã được cài đặt trong /usr/local/jdk1.6.0_15 và bạn sử dụng ổ C, bạn sẽ đặt mã dưới đây vào file .cshrc của bạn.


Ngoài ra, nếu bạn sử dụng một Integrated Development Environment (IDE) Eclipse, nó sẽ tự động biết nơi bạn đã cài đặt Java.

Android IDE
Có nhiều công nghệ máy ảo có sẵn để phát triển các ứng dụng Android, các công nghệ thân quen phần lớn sử dụng các công cụ dưới đây:
        * Android Studio
        * Eclipse IDE


Thứ Tư, 25 tháng 5, 2016

AndroidBasic - Overview


Android là gì?


Android là một hệ điều hành mã nguồn mở với nền tảng Linux cho các thiết bị di động như smartphone và máy tính bảng. Android được phát triển bởi Open Handset Alliance, dẫn đầu là Google, và một số công ty khác.

Android cung cấp một cách tiếp cận thống nhất để phát triển các ứng dụng cho các thiết bị di động, nghĩa là các nhà phát triển chỉ cần phát triển cho Android và các ứng dụng của họ có thể chạy trên các thiết bị khác được hỗ trợ bởi Android.

Phiên bản beta đầu tiên của Android Software Development Kit (SDK) được phát hành bởi Google năm 2007 và là phiên bản thương mại đầu tiên. Android 1.0 được phát hành vào tháng 9 năm 2008.

Vào tháng 6 năm 2012, tại hội nghị I/O của Google, Google thông báo phiên bản Android tiếp theo, 4.1 Jelly Bean. Jelly Bean là một phiên bản cập nhật với mục đích đầu tiên là cải thiện giao diện người dùng cả trong các chức năng và hiệu suất.

Nguồn code cho Android có sẵn dưới hình thức miễn phí và các license cho phần mềm mã nguồn mở. Google công bố hầu hết code dưới dạng phiên bản Apache License 2.0 và phần còn lại, các thay đổi Linux cốt lõi, dưới dạng GNU General Public License 2.

Tại sao lại là Android?


Các tính năng của Android

Android là một hệ điều hành mạnh để cạnh tranh với Apple 4GS và hỗ trợ các tính năng tuyệt vời. Một số được liệt kê dưới đây:


Các ứng dụng Android

Các ứng dụng Android thường xuyên được phát triển trong ngôn ngữ Java sử dụng Android Software Development Kit (SDK).

Một lần được phát triển, các ứng dụng Android có thể được đóng gói dễ dàng và được bán ra hoặc thông qua một store như Google Play, SlideME, Opera Mobile Store,..

Android hỗ trợ hơn một trăm triệu thiết bị di động trong hơn một 190 nước trên thế giới. Nó là nền tảng được cài đặt lớn nhất trong các thiết bị di động và đang phát triển rất nhanh. Mỗi ngày có hơn 1 triệu thiết bị Android được kích hoạt trên toàn cầu.

Hướng dẫn này được viết với một mục đích là dạy bạn cách phát triển và đóng gói ứng dụng Android. Chúng ta sẽ bắt đầu từ cài đặt môi trường cho lập trình ứng dụng Android và sau đó đi sâu xem xét các khía cạnh khác nhau của các ứng dụng Android. 

Các mục của ứng dụng Android



Lịch sử của Android

Các tên code của Android được sắp xếp từ A tới L, như Aestro, Blender, Cupcake, Donut, Eclair, Froyo,.. Hãy hiểu về lịch sử của Android trong một dãy dưới đây:

Các mức API là gì?

Mức API là một giá trị nguyên, được nhận diện thông qua một phiên bản nền tảng Androi.




AndroidBasic - Home


Hướng dẫn Android

Android là một hệ điều hành mã nguồn mở dựa trên nền tảng Linux cho các thiết bị điện thoại như Smartphone và máy tính bảng. Android được phát triển bởi Open Handset Alliance, dẫn đầu bởi Google và các công ty khác.

Hướng dẫn này sẽ dạy bạn lập trình android căn bản và cũng sẽ đưa bạn qua một số khái niệm nâng cao về phát triển các ứng dụng android.

Người học

Hướng dẫn này được dành cho người mới bắt đầu để giúp họ hiểu lập trình android căn bản. Sau khi hoàn thành hướng dẫn này bạn sẽ tìm thấy bản thân ở một mức độ thành thạo vừa phải trong lập trình android và bạn có thể chuyển tới mức tiếp theo.

Các điều cần biết

Lập trình android được dựa trên ngôn ngữ lập trình Java nên nếu bạn đã hiểu căn bản lập trình Java thì nó sẽ trở nên đơn giản để phát triển các ứng dụng Android.