Mục lục
Introduction to Android
- Mobile operating systems’ market share worldwide from 01/2012 to12/2019
- Developed by Open Handset Alliance, led by Google.
What’s Android?
- Android is an operating system for mobile devices such as smartphones and tablet computers. It is developed by the Open Handset Alliance led by Google.
- Android has beaten Apple iOS, being the leading mobile operating system from first quarter of 2011.
- Version: Android 1.0, 1.1 to 1.5 (Cupcake), 1.6 (Donut), 2.0/2.1 (Eclair), 2.2 (Froyo), 2.3 (Gingerbread), to 3.0 (Honeycomb), 4.0 (Ice Cream Sandwich), 5.0/5.1 (Lollipop), 6.0 (Marshmallow), 7.0/7.1 (Nougat), 8.0/8.1 (Oreo), 9.0 (Pie), 10-11.
Open handset alliance
Liên minh gồm trên 80 công ty cùng xây dựng nền tảng mobile mới (Android).
History of Android
Android Architecture
Linux Kernel
- Android dựa trên Linux version 2.6 gồm các dịch vụ hệ thống cơ bản như bảo mật, quản lý bộ nhớ, quản lý tiến trình, network và driver.
- Nhân linux là tầng trừu tượng giữa phần cứng và software stack.
Libraries
- Android bao gồm tập hợp các thư viện C/C++ sử dụng bởi các thành phần khác nhau của Android System.
- Nhà phát triển khai thác thư viện này thông qua Android application framework. Một số thư viện cơ bản được liệt kê ở dưới.
Applications
Các phiên bản Android bao gồm các ứng dụng cơ bản như email, sms, calendar, map, contact,… Tất cả ứng dụng được viết bằng ngôn ngữ lập trình Java.
Môi trường phát triển Android
- Android Development Tools (ADT) plugin cho Eclipse để phát triển Android. Cho phép tạo và gỡ lỗi ứng dụng Android dễ dàng và nhanh chóng.
- Google đang phát triển IDE mới cho Android có tên là Android studio IDE. Phiên bản hiện tại là Android Studio 4.0.1 (Tính đến tháng 19/7/2020).
Yêu cầu hệ thống
Hệ điều hành Windows
- Microsoft® Windows® 8/7/Vista (32- or 64-bit)
- 2 GB RAM minimum, 4 GB RAM recommended
- 400 MB hard disk space
- At least 1 GB for Android SDK, emulator system images, and caches
- 1280 x 800 minimum screen resolution
- Java Development Kit (JDK) 7
- Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality
Hệ điều hành Mac OS X
- Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
- 2 GB RAM minimum, 4 GB RAM recommended
- 400 MB hard disk space
- At least 1 GB for Android SDK, emulator system images, and caches
- 1280 x 800 minimum screen resolution
- Java Runtime Environment (JRE) 6
- Java Development Kit (JDK) 7
Hệ điều hành Linux (Ubuntu® 14.04)
- GNOME or KDE desktop
- GNU C Library (glibc) 2.15 or later
- 2 GB RAM minimum, 4 GB RAM recommended
- 400 MB hard disk space
- At least 1 GB for Android SDK, emulator system images, and caches
- 1280 x 800 minimum screen resolution
- Oracle® Java Development Kit (JDK) 7
- 64-bit distribution capable of running 32-bit applications
Download về cài đặt
Tạo project bằng Android Studio
Khởi động Android Studio
Chọn Start a new New Project.
Chọn Empty Activity => Chọn Next. (Nhập Name; Package name; Chỉ định thư mục lưu project tại Save Location; Chọn Min API Level). Nhấn chọn Finish.
Cấu trúc Project
AndroidManifest.xml
Nơi khai báo các Activity trong ứng dụng. Quy định Activity nào thực thi đầu tiên:
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
MainActivity
- Mỗi activity tương ứng với một form.
- Là nơi viết code bằng java.
- Câu lệnh setContentView(R.layout.activity_main); dùng để chỉ định layout.
package com.example.thaynhuom; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
Khu vực res/mipmap
Một trong các vấn đề mà tôi thỉnh thoảng bắt gặp khi sử dụng ứng dụng Andorid là tôi thấy các ảnh mờ, nhòe, hoặc giãn không chuẩn. Các giải pháp cho vấn đề này là tạo ra một thư mục mipmap cho mỗi mật độ (density) điểm ảnh mà Android hỗ trợ, và để các hình ảnh thu nhỏ một cách chính xác. Có 6 dẫy mật độ khác nhau (đo theo số điểm ảnh trên 1 inch) mà Android hỗ trợ:
- ldpi: Dành cho các màn hình độ phân giải thấp; xấp sỉ 120dpi
- mdpi: Dành cho các màn hình độ phân giải trung bình (trên HVGA truyền thống) ; xấp sỉ 160dpi
- hdpi: Dành cho các màn hình phân giải cao; xấp sỉ 240dpi
- xhdpi: Dành cho các màn hình phân giải cao hơn nữa; xấp sỉ 320dpi. Đã được thêm vào trong API Level 8
- nodpi: Cái này có thể được sử dụng cho tài nguyên bitmap mà bạn không muốn được thu nhỏ để phù hợp với mật độ thiết bị
- tvdpi: Có một số màn hình độ phân giải nằm giữa mdpi và hdpi; xấp sỉ 213dpi. Nó không được coi là nhóm phân giải chính. Nó chủ yếu dành cho TV và hầu hết các ứng dụng không cần cung cấp nguồn mdpi và hdpi, hệ thống sẽ tự co giãn phù hợp. Tiêu chuẩn này được giới thiệu trong API Level 13.
build.gradle (Module: app) trong Gradle Scripts
- Quy định phiên bản SDK.
- Khai báo thư viện sử dụng.
apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { applicationId "com.example.thaynhuom" minSdkVersion 19 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' }
Biên dịch và chạy App
Tạo thiết bị ảo (Emulator) => Chọn AVD Manager.
- Chọn Create Virtual Device…
- Lựa chọn thiết bị -> Next.
- Lựa chọn phiên bản Android -> Next -> Finish.
- Thiết bị ảo (emulator)
Bài tập thực hành
- Tải và cài đặt JDK và Android Studio.
- Tạo 1 project trên Android Studio hiển thị: MSSV, Họ tên, tên Trường sinh viên viên đang học và nội dung lời chào đầu tiên bạn dành cho lập trình Android.