ĐỀ TÀI: LẬP TRÌNH ANDROID
BÁO CÁO TIẾN ĐỘ LẬP TRÌNH MÁY TÍNH BỎ TÚI
Nhóm: Lập trình Android
Lớp: Đ7LTCNTT15
Sinh viên thực hiện:
• Lê Việt Anh & Nguyễn Anh Hoàng : Tổng quan về Android
• Dương Văn Tùng , Lại Thế Thành : Tìm hiểu về phần mềm Eclipse và
SDK manages
• Nguyễn Hữu Thương, Nguyễn Minh Vương,Nguyễn Ngọc Cương : Phần
tích thiết kế hệ thống
• Phạm Chí Hổ, Nguyễn Thạc Anh Quân, Nguyễn Đức Sơn, : Thực hiện
lập trình và thiết kế giao diện và Code các chức năng hiển thị
• Hà Ngọc Duy, Nguyễn Hữu Nghĩa: test ( tìm lỗi chương trình)
Chương I: Tìm hiểu tổng quan về Android
1. Hệ điều hành Android
1.1 Android là gì?
Android là một bộ phần mềm cho các thiết bị di động bao gồm một hệ
điều hành, middleware và các ứng dụng thiết yếu. Bộ Android SDK cung cấp
các công cụ và API cần thiết để phát triển các ứng dụng trên nền tảng Android
bằng ngôn ngữ lập trình Java.
1.2 Các thành phần và tính năng:
Framework phát triển ứng dụng cho phép tái sử dụng và thay thế các
thành phần.
Máy ảo Java Dalvik được tối ưu hóa cho các thiết bị di động.
Trình duyệt tích hợp dựa trên engine WebKit mã nguồn mở.
Hệ thống đồ họa tối ưu hóa được hỗ trợ bởi một thư viện đồ họa 2D,
3D đặc biệt dựa trên đặc tả kỹ thuật của OpenGL ES 1.0 (tùy chọn phần cứng
tăng tốc đồ họa).
SQLite dùng cho việc lưu trữ cấu trúc dữ liệu.
Hỗ trợ các định dạng video, audio và hình ảnh phổ biến.(MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF).
Một Activity Manager quản lý vòng đời của các ứng dụng và cung cấp một
backstack navigation thông dụng
1.6 Hệ thống thư viện
Android bao gồm một hệ thống thư viện C / C + +, được sử dụng bởi các
thành phần khác nhau của hệ thống Android. Các nhà phán triển truy cập những
tính năng cung cấp bởi các thư viện tiếp thông qua Framework ứng dụng
Android. Một số các thư viện chính được liệt kê dưới đây:
Hệ thống thư viện C - kế thừa các hệ thống thư viện chuẩn C (LIBC)
theo giấy phép BSD, điều chỉnh tương thích các thiết bị nhúng trên nền Linux.
Media Libraries - dựa trên OpenCORE của PacketVideo; hỗ trợ thu và
phát nhiều định dạng audio, video và hình ảnh tĩnh phổ biến bao gồm: MPEG4,
H.264, MP3, AAC, AMR, JPG, và PNG
Surface Manager - quản lý quyền truy cập vào phần hiển thị giao diện cả
2D và 3D . Hỗ trợ đa ứng dụng.
LibWebCore - trình duyệt web trên một engine hiện đại, có hỗ trợ cho cả
trình duyệt web của Android lẫn các View nhúng.
SGL - các engine đồ họa 2D nền bên dưới.
Thư viện 3D - một kế thừa dựa trên OpenGL ES 1.0 API; các thư viện,
hoặc sử dụng phần cứng tăng tốc 3D (nếu có) hoặc bao gồm, tối ưu hóa 3D trên
phần mềm.
Freetype - bitmap và vector font.
SQLite - một engine cơ sở dữ liệu quan hệ mạnh mẽ và nhẹ phục vụ cho tất cả
các ứng dụng.
1.7 Android Runtime
Android bao gồm một tập các thư viện lõi cung cấp hầu hết các chức
năng sẵn có trong thư viện của ngôn ngữ lập trình Java.
Mỗi ứng dụng Android chạy trong tiến trình riêng của mình, với thực thể
riêng của máy ảo Dalvik. Dalvik đã được viết để một thiết bị có thể chạy nhiều
máy ảo một cách hiệu quả. Máy ảo Dalvik thực thi file trong định dạng
Executable Dalvik (dex). Định dạng được tối ưu hóa bộ nhớ giảm thiểu
+ 1 Button cho sự kiện (.)
+ 1 EditText dùng hiển thị các phép tính và kết quả tính
+ 1 Button thực hiện kết quả(=)
b. Phân tích
- Đối với 10 Button thể hiện số từ 0->9. Khi người dùng click
vào một số bất kỳ thì sẽ hiển thị ra số người dùng đã click vào.
- Tiếp đến 4 Button thể hiện cho các phép tính (+,-,*,/). Khi muốn
công hoặc nhân chia hai chuỗi với nhau. Người dùng phải nhập
số từ 0->9 sau đó lại nhập phép tính thể hiện các dưới dạng
button. Xong lại nhập chuỗi số muôn thực hiện và cuối cùng ấn
button bằng và đưa kết quả ra Edit Text.
- Button xóa: Khi người dùng nhập sai số hoặc phép tính thì
muốn xóa chỉ cần click vào button (Clear). Và nhập lại
- Dấu (.) thể hiện số thực khi người dùng chia lấy số thực.
VD: ½= 0,5 và có thể thực hiện ngược lai 0.5+0.5=1
- EditText dùng hiển thị các con số và phép tính người dùng đã
nhập và Trong đó EditText cũng thể hiện kết quả mà vừa tính
- Button (=) dùng thực hiện các các phép toán (+,-,*,/) và đưa ra
kết quả.
2. Thiết kế giao diện
Bước 1: Thiết kế các button
Bước 2: Chạy test chương trình thiết kế
class="bi x5 y7e w2 he"
Bước 3: Chạy chương trình thiết kế hoàn thiện
Chương III: Viết code cho chương trình
1.Code giao diện Button
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main__may_tinh);
Button btnclear= (Button)findViewById(R.id.btnclear);
btntru.setOnClickListener(this);
btnnhan.setOnClickListener(this);
btnchia.setOnClickListener(this);
btnclear.setOnClickListener(this);
}
2.Code sự kiện Button hiển thị
publicvoid onClick(View v) {
// TODO Auto-generated method stub
int id=v.getId();
if(id==R.id.btnclear)
{
txthienthi.setText("");
}
if(id==R.id.btn0)
{
String hienthi=txthienthi.getText()+"0";
txthienthi.setText(hienthi);
}
if(id==R.id.btn1)
{
String hienthi=txthienthi.getText()+"1";
txthienthi.setText(hienthi);
}
if(id==R.id.btn2)
{
String hienthi=txthienthi.getText()+"2";
txthienthi.setText(hienthi);
}
if(id==R.id.btn3)
{
String hienthi=txthienthi.getText()+"9";
txthienthi.setText(hienthi);
}
if(id==R.id.btncham)
{
if(txthienthi.getText().toString().equals(""))
{
String hienthi=txthienthi.getText()+".";
txthienthi.setText(hienthi);
}
}
if(id==R.id.btncong)
{
String hienthi=txthienthi.getText()+"+";
txthienthi.setText(hienthi);
}
if(id==R.id.btntru)
{
String hienthi=txthienthi.getText()+"-";
txthienthi.setText(hienthi);
}
if(id==R.id.btnnhan)
{
String hienthi=txthienthi.getText()+"*";
txthienthi.setText(hienthi);
}
if(id==R.id.btnchia)
{
String hienthi=txthienthi.getText()+"/";
txthienthi.setText(hienthi);