[ Video ] Lập trình mobile trên Google Android


Google Android là một nền tảng mã mở trên Java được thiết kế cho thiết bị di động, đang thu hút được nhiều hãng mobile lớn sản xuất thiết bị trên nền tảng này, cùng một cộng động các nhà phát triển đông đảo trên toàn thế giới cùng xây dựng các ứng dụng trên đó. Với mục đích mang lại kiến thức về nền tảng đang rất được quan tâm này, Hôm nay mình xin giới thiệu đến các bạn khóa học Lập Trình Trên Google Android của Anh Đinh Chí Thành.

Không chỉ những nhà lập trình chuyên nghiệp mới biết đến Google! Đã từ lâu, cái tên Google trở nên quen thuộc với bất kỳ ai trên thế giới với các dịch vụ, sản phẩm nổi tiếng của mình như Google Search, Gmail, GDocs…Với những người yêu thích công nghệ di động thì Google Android, 1 nền tảng lập trình ứng dụng cho các thiết bị di động mới ra mắt của Google, là một trong những nền tảng thu hút nhất. Với sự ra đời liên tiếp các dòng điện thoại di động thông minh (smart phone) trên nền tảng Android từ các hãng sản xuất điện thoại danh tiếng nhất thế giới như Nokia, HTC, Samsung, LG, Sony Ericssons, Motorola…, Google Android ngày càng đóng một vai trò quan trọng hơn trong lĩnh vực thiết bị di động.

Google Android, được phát triển bởi Google, dựa trên nền tảng Java, là một nền tảng mã mở và thiết kế cho thiết bị di động, đến nay đã thu hút được không những rất nhiều hãng công nghệ lớn trong việc tạo ra các thiết bị chạy trên nền tảng này, mà còn tạo được một cộng đồng các nhà phát triển đông đảo trên toàn thế giới cùng nhau xây dựng các ứng dụng trên đó.

Bài 1 – Giới thiệu về lập trình trên Mobile và lập trình trên Android: Giới thiệu về các dòng thiết bị di động và các nền tảng phần mền hiện có, đặc thù của ứng dụng mobile, sự ra đời của Google Android

Bài 2 – Lập trình với Android SDK(Phần I/GUI/ Active – Intent): C
ách sử dụng môi trường phát triển cho Google Android (Eclipse + ADT). Giới thiệu về cấu trúc một chương trình trên Android

Bài 3 – Lập trình với Android SDK (Phần I/GUI/ Layout – Views):
Làm việc với các lớp GUI như Layout, View, Dialog, Toast. Xử lý tương tác người dùng

Bài 4 – Lập trình với Android SDK (Phần I/GUI/ Graphic 2D – 3D): Giới thiệu các thư viên đồ họa, cách lập trình 2D, 3D, tương tác đồ họa với người dùng

Bài 5 – Lập trình với Android SDK (Phần II/Data/ Sqlite – saveconfig): Lưu trữ dữ liệu trên thiết bị di động bằng Android

Bài 6 – Lập trình với Android SDK (Phần III/Net/ http – https – tcp/ip):
Lập trình ứng dụng Internet trên Android

Bài 7 – Lập trình với Android SDK (Phần III/System/ service – content provider):
Lập trình hệ thống trên Android

Bài 8
- Lập trình với Android SDK(Phần III/System/ Thread – Handle): Làm việc với Thread trên Android


Bài 1: Giới thiệu về lập trình trên Mobile và lập trình trên Android

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.


  • Application framework enabling reuse and replacement of components
  • Dalvik virtual machine optimized for mobile devices
  • Integrated browser based on the open source WebKit engine
  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  • SQLite for structured data storage
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  • Camera, GPS, compass, and accelerometer (hardware dependent)
  • Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
Tài liệu bài 1


Bài 2 – Lập trình với Android SDK(Phần I/GUI/ Active – Intent)

Bài 2: Lập trình với Android SDK(Phần I/GUI/ Active – Intent)

An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map. Each activity is given a window in which to draw its user interface. The window typically fills the screen, but may be smaller than the screen and float on top of other windows.

An application usually consists of multiple activities that are loosely bound to each other. Typically, one activity in an application is specified as the “main” activity, which is presented to the user when launching the application for the first time. Each activity can then start another activity in order to perform different actions. Each time a new activity starts, the previous activity is stopped, but the system preserves the activity in a stack (the “back stack”). When a new activity starts, it is pushed onto the back stack and takes user focus. The back stack abides to the basic “last in, first out” queue mechanism, so, when the user is done with the current activity and presses the BACK key, it is popped from the stack (and destroyed) and the previous activity resumes. (The back stack is discussed more in the Tasks and Back Stack document.)

When an activity is stopped because a new activity starts, it is notified of this change in state through the activity’s lifecycle callback methods. There are several callback methods that an activity might receive, due to a change in its state—whether the system is creating it, stopping it, resuming it, or destroying it—and each callback provides you the opportunity to perform specific work that’s appropriate to that state change. For instance, when stopped, your activity should release any large objects, such as network or database connections. When the activity resumes, you can reacquire the necessary resources and resume actions that were interrupted. These state transitions are all part of the activity lifecycle.

The rest of this document discusses the basics of how to build and use an activity, including a complete discussion of how the activity lifecycle works, so you can properly manage the transition between various activity states



Bài 3: Lập trình với Android SDK (Phần I/GUI/ Layout – Views)

In an Android application, the user interface is built using View and ViewGroup objects. There are many types of views and view groups, each of which is a descendant of the View class.

View objects are the basic units of user interface expression on the Android platform. The View class serves as the base for subclasses called “widgets,” which offer fully implemented UI objects, like text fields and buttons. The ViewGroup class serves as the base for subclasses called “layouts,” which offer different kinds of layout architecture, like linear, tabular and relative.

A View object is a data structure whose properties store the layout parameters and content for a specific rectangular area of the screen. A View object handles its own measurement, layout, drawing, focus change, scrolling, and key/gesture interactions for the rectangular area of the screen in which it resides. As an object in the user interface, a View is also a point of interaction for the user and the receiver of the interaction events.



Bài 4 – Lập trình với Android SDK (Phần I/GUI/ Graphic 2D – 3D)

Android graphics are powered by a custom 2D graphics library, and the framework provides support for high performance 3D graphics in the form of OpenGL ES and RenderScript. The most common 2D graphics APIs can be found in the drawable package. OpenGL APIs are available from the Khronos OpenGL ES and theandroid.opengl packages. The RenderScript APIs are available in the android.renderscriptpackage.

When starting a project, it’s important to consider exactly what your graphical demands will be. Varying graphical tasks are best accomplished with varying techniques. For example, graphics and animations for a rather static application should be implemented much differently than graphics and animations for an interactive game or 3D rendering.

Here, we’ll discuss a few of the options you have for drawing graphics on Android, and which tasks they’re best suited for.

If you’re specifically looking for information on drawing 3D graphics, this page won’t help a lot. However, the information below about how to Draw with a Canvas (and the section on SurfaceView), will give you a quick idea of how you should draw to the View hierarchy. For more information on Android’s 3D graphics APIs, see the 3D with OpenGL and RenderScript documents

Tài liệu bài 4

Phần 1

Phần 2

Phần 3:

Phần 4:

Phần 5:


Bài 5 – Lập trình với Android SDK (Phần II/Data/ Sqlite – saveconfig)

Android provides several options for you to save persistent application data. The solution you choose depends on your specific needs, such as whether the data should be private to your application or accessible to other applications (and the user) and how much space your data requires.

Your data storage options are the following:

Shared Preferences
Store private primitive data in key-value pairs.
Internal Storage
Store private data on the device memory.
External Storage
Store public data on the shared external storage.
SQLite Databases
Store structured data in a private database.
Network Connection
Store data on the web with your own network server.
Android provides a way for you to expose even your private data to other applications — with a content provider. A content provider is an optional component that exposes read/write access to your application data, subject to whatever restrictions you want to impose. For more information about using content providers, see the Content Providers documentation.

Tài liệu bài 5



Bài 6 – Lập trình với Android SDK (Phần III/Net/ http – https – tcp/ip)

The Android platform includes support for the Bluetooth network stack, which allows a device to wirelessly exchange data with other Bluetooth devices. The application framework provides access to the Bluetooth functionality through the Android Bluetooth APIs. These APIs let applications wirelessly connect to other Bluetooth devices, enabling point-to-point and multipoint wireless features.

Using the Bluetooth APIs, an Android application can perform the following:

Scan for other Bluetooth devices
Query the local Bluetooth adapter for paired Bluetooth devices
Establish RFCOMM channels
Connect to other devices through service discovery
Transfer data to and from other devices
Manage multiple connections
Tài liệu bài 6:


Bài 7 – Lập trình với Android SDK (Phần III/System/ service – content provider)

Android provides an API that supports the Session Initiation Protocol (SIP). This lets you add SIP-based internet telephony features to your applications. Android includes a full SIP protocol stack and integrated call management services that let applications easily set up outgoing and incoming voice calls, without having to manage sessions, transport-level communication, or audio record or playback directly.

Here are examples of the types of applications that might use the SIP API:

Video conferencing.
Instant messaging.

Tài liệu bài 7:



When an application component starts and the application does not have any other components running, the Android system starts a new Linux process for the application with a single thread of execution. By default, all components of the same application run in the same process and thread (called the “main” thread). If an application component starts and there already exists a process for that application (because another component from the application exists), then the component is started within that process and uses the same thread of execution. However, you can arrange for different components in your application to run in separate processes, and you can create additional threads for any process.

Tài liệu bài 8:
xây nhà trọn gói quảng ngãi xây nhà trọn gói tại quảng ngãi chuyển nhà tại quảng ngãi