Thứ Sáu, 12 tháng 5, 2017

Component trong Android

Chào các bạn, hôm nay chúng ta sẽ tìm hiểu về các Component trong Android. Bài này mình post lại nguyên ở trang Vietjack, vì thấy nó khá đầy đủ. Tuy nhiên những kiến thức trong bài này cũng chỉ dừng lại ở lý thuyết mà thôi. Từ bài sau trở đi mình sẽ viết theo ý của mình vì đến đây phần lý thuyết coi như hết, mình sẽ đi vào thực hành nhiều hơn để các bạn thấy dễ hiểu hơn.

Component trong Android


Các Component là các khối kiến trúc nền tảng tạo nên một ứng dụng Android. Những Component này được ghép bởi AndroidManifest.xml, miêu tả mỗi thành phần và cách chúng tương tác với nhau.

Có 4 Component chính có thể được sử dụng bên trong một ứng dụng Android:

Component Miêu tả
Activities Chúng điều khiển UI và xử lý tương tác người dùng trên màn hình smartphone
Services Chúng xử lý các tiến trình background được gắn kết với một ứng dụng
Broadcast Receivers Chúng xử lý giao tiếp giữa Android OS và các ứng dụng
Content Providers Chúng xử lý dữ liệu và quản lý cơ sở dữ liệu
Activities trong Android

Một Activity biểu diễn một màn hình với một giao diện UI. Nói đơn giản, Activity thực hiện các hành động trên màn hình. Ví dụ, một ứng dụng email có thể thực hiện một activity mà hiển thị một danh sách các email mới, activity khác để soạn thảo một email, và activity khác để đọc email. Nếu một ứng dụng có nhiều hơn một activity, thì một trong số chúng sẽ được đánh dấu như là activity mà sẽ được hiển thị khi ứng dụng chạy.
Một activity được triển khai như là một lớp con của lớp Activity, như sau:

public class MainActivity extends Activity {

}

Services trong Android

Một service là một Component mà chạy trong Background để thực hiện các hoạt động. Ví dụ, một service có thể chơi nhạc nền trong khi người dùng là trong một ứng dụng khác, hoặc nó có thể lấy dữ liệu qua mạng mà không cần chặn tương tác người dùng với một activity.
Một service được triển khai như là một lớp con của lớp Service, như sau:

public class MyService extends Service {

}

Broadcast Receivers trong Android

Về cơ bản, Broadcast Receivers phản hồi các thông điệp từ ứng dụng khác hoặc từ hệ thống. Ví dụ, các ứng dụng cũng có thể khởi tạo các broadcast để báo cho các ứng dụng khác biết rằng có một số dữ liệu đã được tải về thiết bị và nó là có sẵn cho các ứng dụng này để sử dụng chúng. Vì thế, Broadcast Receiver sẽ thông dịch thông tin này và sẽ khởi tạo hành động thích hợp.
Một Broadcast Receiver được triển khai như là một lớp con của BroadcastReceiver và mỗi thông điệp được truyền như là một đối tượng Intent.

public class MyReceiver  extends  BroadcastReceiver {
   
   public void onReceive(context,intent){}

}

Content Providers trong Android

Thành phần Content Provider cung cấp dữ liệu từ một ứng dụng tới các ứng dụng khác tùy theo yêu cầu. Những yêu cầu này được xử lý bởi các phương thức của lớp ContentResolver. Dữ liệu có thể được lưu trữ trong hệ thống file, cơ sở dữ liệu hoặc bất cứ đâu.
Một Content Provider được triển khai như là một lớp con của lớp ContentProvider và phải triển khai một APIs chuẩn mà cho phép các ứng dụng khác thực hiện các transaction.


public class MyContentProvider extends  ContentProvider {
   
   public void onCreate(){}

}

Một số Component khác trong Android

Ngoài ra, còn có một số Component khác sẽ được sử dụng trong xây dựng các thực thể, tính logic của chúng và kết nối chúng với nhau. Chúng bao gồm:

Component Miêu tả
Fragments Biểu diễn một phần của giao diện UI trong một Activity
Views Các phần tử giao diện UI mà được vẽ trên màn hình bao gồm button, list, form, …
Layouts Cấu trúc thứ bậc của view mà điều khiển định dạng màn hình và bề mặt của các view
Intents Các thành phần kết nối các thông báo với nhau
Resources Các phần tử ngoại vi, như các chuỗi, hằng, và hình ảnh có thể vẽ
Manifest Chính là Configuration file cho ứng dụng



Bài viết này sẽ kết thúc ở đây. Ở bài sau mình sẽ hướng dẫn các bạn những bài thực hành đầu tiên về lập trình Android. Chúc các bạn thành công.

Thứ Hai, 1 tháng 5, 2017

Cấu trúc của hệ điều hành Android

Chào các bạn đây là bài đầu tiên trong series Android cơ bản, chúng ta sẽ cùng nhau tìm hiểu về cấu trúc hệ điều hành Android.

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 mà có thể đại khái phân chia thành 5 khu vực và 4 lớp chính. Hình dưới đây minh họa sơ đồ cấu trúc Android.

cấu trúc hệ điều hành android

Lớp Linux Kernel trong Android

Linux Kernel là lớp thấp nhất. Nó cung cấp các chức năng cơ bản như quản lý tiến trình, quản lý bộ nhớ, quản lý thiết bị như: Camera, bàn phím, màn hình, … Ngoài ra, nó còn quản lý mạng, driver của các thiết bị, điều này gỡ bỏ sự khó khăn về giao tiếp với các thiết bị ngoại vi.

Libraries trong Android

Phía trên Linux Kernel là tập hợp các bộ thư viện mã nguồn mở WebKit, bộ thư viện nổi tiếng libc, cơ sở dữ liệu SQLite hữu ích cho việc lưu trữ và chia sẻ dữ liệu, bộ thư viện thể phát, ghi âm về âm thanh, hoặc video. Thư viện SSL chịu trách nhiệm cho bảo mật Internet.

Android Libraries

Phần này gồm các thư viện dựa trên Java. Nó bao gồm các Framework Library giúp xây dựng, vẽ đồ họa và truy cập cơ sở dữ liệu trở nên dễ dàng hơn. Dưới đây là một số Android Library cốt lõi có sẵn cho lập trình viên Android: 

  1. android.app − Cung cấp truy cập tới mô hình ứng dụng và nó là nền móng cho tất cả ứng dụng Android.
  2. android.content − Việc truy cập nội dung, các thông điệp giữa các ứng dụng và các thành phần ứng dụng trở nên dễ dàng hơn.
  3. android.database − Được sử dụng để truy cập dữ liệu được công bố bởi Provider và bao gồm các lớp quản lý cơ sở dữ liệu SQLite.
  4. android.opengl − Một Java Interface cho OpenGL ES 3D thông qua API.
  5. android.os − Cung cấp cho các ứng dụng sự truy cập tới các dịch vụ chuẩn của hệ điều hành như thông báo, dịch vụ hệ thống và giao tiếp nội tiến trình.
  6. android.text − Được sử dụng để phục hồi và thao tác text trên một thiết bị hiển thị.
  7. android.view − Các khối kiến trúc nền tảng của ứng dụng UI.
  8. android.widget − Một tập hợp các UI được xây dựng trước như button, label, list view, layout manager, radio button, …
  9. android.webkit − Một tập hợp các lớp cho phép khả năng để trình duyệt trên web được xây dựng bên trong các ứng dụng.
Android Runtime

Đây là thành phần thứ 3 trong cấu trúc, thuộc về lớp 2 tính từ dưới lên. Phần này cung cấp một thành phần quan trọng gọi là Dalvik Virtual Machine là một máy ảo Java đặc biệt, được thiết kế tối ưu cho Android.

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

Android Runtime cũng cung cấp bộ thư viện cốt lõi, cho phép các lập trình viên Android sử dụng để viết các ứng dụng Android.

Application Framework

Lớp Application Framework cung cấp nhiều dịch vụ cấp cao hơn cho các ứng dụng trong các lớp Java. Các lập trình viên cũng được phép sử dụng các dịch vụ này trong các ứng dụng của họ.

Application Framework bao gồm các dịch vụ chính sau: 
  1. Activity Manager − Điều khiển các khía cạnh của vòng đời ứng dụng và Activity Stack.
  2. Content Providers − Cho phép các ứng dụng công bố và chia sẻ dữ liệu với các ứng dụng khác.
  3. Resource Manager − Cung cấp sự truy cập tới các resource được nhúng (không phải code) như chuỗi, thiết lập màu, UI layout.
  4. Notifications Manager − Cho phép các ứng dụng hiển thị thông báo tới người dùng.
  5. View System − Một tập hợp các view được sử dụng để tạo UI cho ứng dụng.
Applications

Bạn sẽ thấy tất cả các ứng dụng Android ở lớp trên cùng. Ứng dụng bạn viết sẽ được cài đặt vào lớp này. Ví dụ của những ứng dụng này là Contacts Books, Browser, Games, …

Hy vọng bài này sẽ giúp các bạn hiểu rõ về cấu trúc của hệ điều hành Android. Cám ơn các bạn đã đọc bài viết.


 

Thứ Tư, 26 tháng 4, 2017

Giới thiệu về series bài viết học lập trình android cơ bản

Chào các bạn, sắp tới mình sẽ viết một serires bài học về Android cơ bản, những bài viết trong serires này sẽ cung cấp cho các bạn những kiến thức cơ bản về lập trình ứng dụng Android. Mình muốn chia sẻ với phần nào kiến thức mình đã học được qua serires này. Tất nhiên series này sẽ không đủ để làm bạn lập trình một ứng dụng Android một cách chuyên nghiệp, nhưng nó là khởi đầu để các bạn có thể bước trên con đường lập trình chuyên nghiệp sau này. Nếu học chắc cơ bản, các bạn sẽ thấy mọi chuyện về sau sẽ trở nên dễ dàng hơn rất nhiều.

lập trình android cơ bản



Những bài viết trong series này là một bản mình biên tập lại của các bài học Android bên trang vietjack.com . Vì sao lại như vậy? Bởi vì mình thấy bộ khung bài viết của bên vietjack khá là ổn vì những bài viết họ đăng đều dựa trên trang tutorialspoint.com - một trang khá nổi tiếng về các series bài học lập trình. Nhưng sở dĩ mình muốn biên tập lại vì những bài viết này đã quá cũ rồi, một số kiến thức  không còn đúng với hiện tại hoặc hiện nó đã bị thay đổi nhiều. Chính vì vậy mình quyết định biên tập lại những bài viết này, đương nhiên những phần còn đúng mình vẫn sẽ giữ nguyên không thay đổi, bên cạnh đó sẽ bổ sung nhưng kiến thức sau hơn một chút để các bạn hiểu rõ hơn. Hy vọng các bạn sẽ có được những kiến thức hữu ích trong series này.

Thứ Hai, 6 tháng 2, 2017

Hình ảnh các sản phẩm hội thi LỚN LÊN CÙNG SÁCH các đơn vị Thành Phố





































Chung kết hội thi "Lớn Lên Cùng Sách" cấp Thành Phố

Ngày 11 tháng 01 năm 2017, Sở Giáo dục và đào tạo TP Hồ Chí Minh tổ chức Vòng Chung kết hội thi cấp Thành Phố lần 2 tại trường Chuyên Trần Đại Nghĩa, Các đơn vị THCS trong thành phố đều hưởng ứng tham gia sôi nổi, nhiều đơn vị quận huyện thực hiện đầu tư xây dựng qui mô khu trưng bày sản phẩm sáng tạo của học sinh tham gia hội thi. Khu vực Phòng Giáo dục Cần Giờ tuy không hoành tráng như các đơn vị khác, nhưng những sản phẩm sử dụng bằng nguyên liệu thải bỏ của học sinh Cần Giờ nói lên sự mộc mạc chất phát của người dân Cần Giờ chịu khó trong sáng tạo.
Kết quả hội thi em PHẠM NGỌC HÀ học sinh lớp 6 trường THCS Cần Thạnh đã đạt giải Khuyến khích và em LÊ NGUYỄN TƯỜNG VY học sinh lớp 9 trường THCS Doi Lầu đã được nhận phần quà hỗ trợ của Ban tổ chức hội thi














Thứ Ba, 17 tháng 1, 2017

HƯỚNG DẪN THIẾT KẾ TRANG BLOGGER

Nhầm đẩy mạnh ứng dụng công nghệ thông tin trong hoạt động thư viện, thực hiện trang thông tin điện tử riêng cho hoạt động thư viện của từng đơn vị để thu thập tổ chức các nguồn tư liệu tài nguyên điện tử hữu ích, tài liệu trực tuyến, thư viện điện tử..
 Ngày 14 tháng 12 năm 2016 Phòng giáo dục và Đào tạo cần Giờ đã phối hợp với tổ cộng tác viên  tổ chức tập huấn hướng dẫn các đơn vị thưc hiện thiết kế trang blogspot với mục đích giúp các nhân viên thư viện tạo trang thông tin riêng cho hoạt động thư viện, đồng thời tiến đến xây dựng văn hóa đọc cho giáo viên và học sinh