TRƯỜNG ĐH THỦ DẦU MỘTKHOA KỸ THUẬT CÔNG NGHỆ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc PHIẾU ĐÁNH GIÁ PROJECT Đánh giá quá trình thực hiện, báo cáo văn bản và sản
Trang 1VIỆN KỸ THUẬT CÔNG NGHỆ -
LẬP TRÌNH ANDROID
Đề tài:
THIẾT KẾ APP DI ĐỘNG LUYỆN THI TRẮC NGHIỆM
MÔN TIẾNG ANH
GVHD: Ths NGUYỄN HỮU VĨNH SVTH: NGUYỄN THỊ MỸ CÚC
BÙI THỊ KIM VÀNG MSSV: 1924801030048 CAO ĐOÀN NHƯ TUẤN MSSV : 1924801030290
Tháng 08/2021
Trang 22
VIỆN KỸ THUẬT CÔNG NGHỆ -
BÁO CÁO ĐỒ ÁN LẬP TRÌNH ANDROID
Đề tài:
THIẾT KẾ APP ĐỘNG LUYỆN THI TRẮC NGHIỆM
MÔN TIẾNG ANH
GVHD: Ths NGUYỄN HỮU VĨNH SVTH: NGUYỄN THỊ MỸ CÚC
BÙI THỊ KIM VÀNG MSSV: 1924801030048 CAO ĐOÀN NHƯ TUẤN MSSV : 1924801030290
Tháng 08/2021
Trang 3TRƯỜNG ĐH THỦ DẦU MỘT
KHOA KỸ THUẬT CÔNG NGHỆ
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
PHIẾU ĐÁNH GIÁ PROJECT (Đánh giá quá trình thực hiện, báo cáo văn bản và sản phẩm)Học phần PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG:
Họ và tên sinh viên (MSSV):
Khá 75%
Trung bình 50%
Kém 0%
Thái độ
tham gia
tích cực
Nêu ý tưởng 05
Tích cực tìm kiếm và chủ động đưa ra ý tưởng mang tính mới
Tìm kiếm và đưa ra được ý tưởng khá tốt
Chọn ý tưởng trong số được đề nghị
Không quan tâm lựa chọn ý tưởng
Lập kế hoạch thực hiện
05
Hoàn toàn hợp lý, không cần điều chỉnh
Khá hợp lý, điều chỉnh chút
ít theo góp ý
Chưa hợp lý, có điều chỉnh theo góp ý
Không hợp
lý và không điều chỉnh theo góp ý
bị
10
Chuẩn bị tốt mọi điều kiện cho việc thực hiện project,
có thể khởi động ngay
Chuẩn bị được
đa số điều kiện cho việc thực hiện, có thể khởi động và
bổ sung sau
Chuẩn bị được một số điều kiện cho việc thực hiện nhưng cần
bổ sung thêm mới có thể khởi động
Không chuẩn bị được điều kiện nào
Giai đoạn 10
Thực hiện hoàn toàn
Thực hiện khá đúng phương pháp, sai sót
Thực hiện tương đối đúng phương pháp, sai sót quan
Thực hiện không đúng
Trang 4thực hiện
đúng phương pháp
nhỏ và có sửa chữa
trọng và có sửa chữa
phương pháp, sai sót không sửa chữa
10 Triển khai đúng kế hoạch
Triển khai khá đúng kế hoạch,
có chậm trễ nhưng không gây ảnh hưởng
Triển khai tương đối đúng kế hoạch, có chậm trễ gây ảnh hưởng nhưng khắc phục được
Triển khai chậm trễ, gây ảnh hưởng không khắc phục được Mức
độ đạt được mục tiêu thành phần
- V ề phương pháp họ ập, suy nghĩ, xử c t lý v ấn đề :
- V ki n th c, k ề ế ứ ỹ năng, thái độ:
- Khác:
Trang 5- Phương pháp cả ến: i ti
- Nơi có thể cung c p s h ấ ự ỗ trợ : TÊN H VÀ CH KÝ XÁC NH N C A GV Ọ Ữ Ậ Ủ : Nguyễn Hữu Vĩnh
Phần 2: Đánh giá cá nhân làm việc nhóm Làm việc nhóm
Hướng d n: Nhóm h p th o luẫ ọ ả ận đánh giá lẫn nhau K ết quả này sẽ được sử dụng để qui đổi t ừ điểm của nhóm thành điểm c a m i cá nhân, tu theo % mủ ỗ ỳ ỗi cá nhân đạt được
1) Thành viên có tham gia họp đầy đủ: 40%
2 (Tên họ): Bùi Thị Kim Vàng Điểm làm vi c nhóm (%): ệ
3 (Tên họ): Cao Đoàn Như Tuấn Điểm làm vi c nhóm (%): ệ
TÊN H VÀ CH KÝ XÁC NHỌ Ữ ẬN CỦ A CÁC THÀNH VIÊN TRONG NHÓM:
Trang 6(phần này do GV ghi và lưu
riêng để theo dõi, tư vấn cho cá
nhân SV, không ph bi ổ ến cho
Trang 7- V ki n th c, k ề ế ứ ỹ năng, thái độ :
- Khác:
- Phương pháp cả ến: i ti
- Nơi có thể cung cấp sự hỗ trợ:
Trang 8LỜI CẢM ƠN
Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng sản phẩm của công nghệ Đi cùng với sự phát triển của ngành công nghệ thông tin là sự ra đời ngày càng nhiều thiết bị điện tử, smartphone Nhu cầu của con người về việc sử dụng và giải trí trên các thiết bị
di động cũng ngày càng cao và đa dạng Một trong những bộ phận ứng dụng công nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngày của mọi người trong cuộc sống Vì vậy em đã lựa chọn đề tài “Thiết kế app di động luyện thi trắc nghiệm môn Tiếng Anh” để làm
đồ án với ý nghĩa mang tính thực tế
Với mong muốn người dùng có thể ôn lại những kiến thức mình đã học một cách tốt nhất, những kiến thức quan trọng và sẽ làm bài đạt kết quả cao trong các kỳ thi
Trong thời gian làm đồ án nhóm em đã gặp không ít khó khăn,nhưng nhờ sự giúp đỡ hướng dẫn tận tình của thầy, mà nhóm chúng em đã hoàn thành báo cáo ở mức độ nhất định
Em xin chân thành cảm ơn thầy!
Trang 9MỤC L C Ụ
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI VÀ CƠ SỞ LÝ THUYẾT 12
I.TỔNG QUAN VỀ ĐỀ TÀI: 12
1.1 MỤC TIÊU ĐỀ TÀI 12
1.1.1 Lý do chọn đề tài 12
1.1.2 Mục tiêu đề tài 12
1.1.3 Giới han phạm vi nghiêm cứu 13
1.1.4 Ý nghĩa khoa học thực tiễn 13
CHƯƠNG 2.CƠ SỞ LÝ THUYẾT : 14
1.1 G IỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 14
1.1.1 Anroiid là gì ? 14
1.1.2 Lịch sử phát triển 14
1.1.3 Kiến trúc hệ điều hành Android 14
1.2.CÁC THÀNH PHẦN GIAO DIỆN TRONG ANDROID 15
1.2.1 View 15
1.2.2 ViewGroup 16
1.2.3.Button 17
1.2.4.ImageView 17
1.2.5 ListView 17
1.2.6 TextView 18
1.2.7 EditText 18
1.2.8.CheckBox 19
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 20
2.1PHÂN LOẠI 20
2.2BIỂU ĐỒ USE CASE 21
2.3 Đặc tả UC cho một số chức năng : 24
2.4 Vẽ sơ đồ đặc tả cho từng chức năng 26
2.5 Sơ đồ lớp 30
CHƯƠNG 3: KỸ THUẬT XÂY DỰNG BỘ ĐÊ TRẮC NGHIỆM TIẾNG ANH 31
3.1.XÂY DỰNG BỘ ĐỀ TRẮC NGHIỆM TIẾNG ANH 31
3.2.KỸ THUẬT LẬT TRANG CÂU HỎI 33
3.3KỸ THUẬT TÍNH THỜI GIAN TRẮC NGHIỆM 31
3.4KỸ THUẬT TÍNH ĐIỂM TRẮC NGHIỆM 32
CHƯƠNG 4: THIẾT KẾ GIAO DIỆN 32
4.1 G IAO DIỆN CHƯƠNG TRÌNH 32
CHƯƠNG 5: KẾT LUẬN 46
4.1.ĐỀ TÀI ĐẠT ĐƯỢC MỘT SỐ KẾT QUẢ SAU 46
4.2.HẠN CHẾ 46
4.3.HƯỚNG PHÁT TRIỂN 46
Trang 10TÀI LIỆU THAM KHẢO 47
DANH MỤC BẢNG Bảng 2.1.1: Yêu cầu chức năng ………15
Bảng 2.1.2: Yêu cầu phi chức năng ……… 15
Bảng 2.3.1: UC Cập nhật thông tin……… 18
Bảng 2.3.2: UC quản lí điểm……… 18
Bảng 2.3.3: UC Xem lý thuyết……… …18
Bảng 2.3.4: UC quản lí bài thi ……… …19
DANH MỤC HÌNH Hình 2.2.1 Biểu đồ UC tổng quan ………17
Hình 2.2.2 UC cập nhật thông tin………18
Hình 2.2.3 UC Quản lý điểm………18
Hình 2.2.4 UC Xem lý thuyết……… 18
Hình 2.2.5 UC Quản lý bài thi……….19
Hình 2.4.1 Sơ đồ hoạt động Đăng nhập ……….22
Hình 2.4.2 Sơ đồ hoạt động Đăng Kí……… 23
Hình 2.4.3 Sơ đồ hoạt động quản lý bài thi………23
Hình 2.4.4 Sơ đồ hoạt động Xem lý thuyết………24
Hình 2.4.5 Sơ đồ hoạt động quản lý điểm ………25
Hình 2.4.7 Sơ đồ Lớp……… …26
Hình 3.1.1 Cấu trúc bộ đề tiếng anh file Excel ……… 28
Hình 3.1.2 Tìm và thay thế……… 28
Hình 3.1.3 Dữ liệu sau khi thêm vào SQLite ……… 29
Hình 4.1.1: Giao diện màn hình chính……….32
Hình 4.1.2: Giao diện Menu……… 33
Hình 4.1.3: Giao diện chọn đề……… …34
Hình 4.1.4: Giao diện chọn đáp án……… 35
Hình 4.1.5: Giao diện đáp án đã chọn………36
Hình 4.1.6: Giao diện đáp án Sai ………37
Trang 11Hình 4.1.7: Giao diện đáp án đúng……… 38
Hình 4.1.8: Giao diện xem điểm và sô câu đúng sai……… 39
Hình 4.1.9: Giao diện lưu điểm………40
Hình 4.1.10: Giao diện tìm câu hỏi………41
Hình 4.1.11: Giao diện câu hỏi đã tìm……… 42
Hình 4.1.12: Giao diện danh sách điểm………43
Hình 4.1.13: Giao diện cập nhật thông tin………44
Hình 4.1.14: Giao diện thay đổi mật khẩu………45
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI VÀ CƠ SỞ LÝ THUYẾT
I.Tổng quan về đề tài:
1.1 Mục tiêu đề tài
1.1.1 Lý do chọn đề tài
Những năm gần đây, hình thức thi tr c nghi m r t ph bi n và ng ắ ệ ấ ổ ế ày càng được ưa chuộng hơn Nó giúp kiểm tra được kiến thức tổng quát thuộc nhiều khía cạnh, cũng như thời gian chấm thi nhanh hơn.Bởi vậy nhu cầu của mọi người về ôn luyện trắc nghiệm cũng tăng cao,ngày càng có nhiều người tìm đến nh ng ph n m n thi tr c nghiữ ầ ề ắ ệm Đó chính là lý do chúng
em chọn đề tài này
Với s phát tri n nhanh chóng c a khoa h c công nghự ể ủ ọ ệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cu c s ng cộ ố ủa con ngườ ởi b i các ng d ng s n ph m cứ ụ ả ẩ ủa công nghệ Đi cùng vớ ựi s phát triển c a ngành công ngh thông tin là s ra đời ngày càng ủ ệ ựnhiều thiết bị điện thoại di động, smartphone Nhu c u cầ ủa con ngườ ề ệi v vi c s d ng và giử ụ ải trí trên các thi t b ế ị di động cũng ngày càng cao và đa dạng M t trong nh ng b ph n ộ ữ ộ ậ ứng d ng ụcông nghệ thông tin chính là thay đổi và giúp đỡ vi c sinh ho t hàng ngày c a mệ ạ ủ ọi người trong cuộc s ng Vì vố ậy em đã lựa chọn đề tài “Thiết k ế app di động luyện thi tr c nghi m môn Ti ng ắ ệ ếAnh” để làm đồ án với ý nghĩa thực tế Mong muốn người dùng có thể dễ dàng ôn luyện, tra cứu tài liệu tiếng Anh một cách nhanh chóng, tiện l i mợ ọi lúc mọi nơi mà vừa tiết ki m thệ ời gian và chi phí
1.1.2 M ục tiêu đề tài
- Xây d ng giao di n Menu, giao di n test bài tr c nghi m ự ệ ệ ắ ệ
- Thi t k giao di n cho phép x lý các chế ế ệ ử ức năng chính
- Thi t k giao diế ế ện chương trình chính thực hi n các công việ ệc:
+ T ng h p các câu h i v i các m c th i gian 15 -ổ ợ ỏ ớ ố ờ 20 phút…
+ Ki m tra nhể ững câu đã trả ời – chưa trả lời l
+ T ự chấm điểm khi thời gian kết thúc -> Hi n th k t qu ể ị ế ả
+ Người làm bài xem bài mình làm, thay đổi đáp án nếu mình thấy là sai -> Xem kết
quả -> Lưu điểm -> Xóa điểm -> Thoát
+ Xem danh sách điểm những người làm bài có lưu điểm lại (các bài Test qua)
Trang 131.1.3 Gi i han ph m vi nghiêm c u ớ ạ ứ
Sử dụng ngôn ngữ Java, máy ảo Android Emulator, phần mền Android Studio, cơ sở dữ liệu SQLite, Firebase
1.1.4 Ý nghĩa khoa học thực tiễn
Phần mềm luyện thi trắc nghiệm môn Tiếng Anh giúp các bạn ôn lại kiến thứ tiết kiệm được c, thời gian ôn tập, tra cứu tài liệu, hơn nữa có thể học mọi lúc mọi nơi chỉ cần một chiếc smartphone có kết nối Internet
Trang 14Chương 2.Cơ sở lý thuy t : ế
1.1 Gi i thi u h ớ ệ ệ điều hành Android
1.1.1 Anroiid là gì ?
Android là một hệ điều hành dựa trên nền tảng Linnux được thiết kế dành cho các thiết
bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu,
Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên
bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động
Android chiếm 75% thị phần điện thoại thông mính trên toàn thế giới vào thời điểm quý 2 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh
Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động
Vào năm 2010, Google ra mắt loạt thiết bị Nexus một dòng sản phẩm bao gồm điện thoại thông minh Nexus đầu tiên
Năm 2014, Google thông báo Android Wear, hệ điều hành cho các thiết bị đeo được
Trang 15Android.View - Các thành phần cơ bản trong việc xây dựng người dùng của ứng dụng Android.widget - Tập các thành phần giao diện người dùng đã được xây dựng sẵn như các nút, các nhãn, list view
1.2 Các thành ph n giao di n trong Android ầ ệ
1.2.1 View
View là gì? View đơn giản là một thành phần hiển thị trên màn hình
• Một cái nút (Button) là một View
• Một cái thanh kéo (SeekBar) cũng là một “View”: Vậy chúng ta có thể phán chắc nịch luôn: Cái gì hiển thị trên màn hình thì nó là View
Trong Android có rất nhiều loại View, phù hợp nhiều nhu cầu Bản thân lập trình viên cũng
có thể tự tạo ra view của riêng mình bằng cách code các lớp Javaextendstừ lớp View Tí nữa
ở cuối bài biết đâu sẽ có ví dụ, hí hí Một số loại View tiêu biểu là (mình lấy ví dụ ở bản
Android 6.0 mới):
• TextView: Hiển thị chữ Có thể thay đổi nội dung chữ, màu sắc, kích cỡ, kiểu
đậm/gạch chân,…
• Button: Nút Có thể thay đổi độ rộng, cao, màu nền nút, kiểu viền, đổ bóng,…
• Switch: Công tắc Có 2 chế độ gạt qua gạt lại như chơi điện tử, nhưng mà chỉ trái phải thôi
-• EditText: Trường nhập văn bản Là một ô nhập văn bản Văn bản ở EditText có thể là
1 hay nhiều dòng, có thể cài đặt đầu vào chỉ được nhập số, nhập chữ hay nhập dạng mật khẩu
• SeekBar: Thanh kéo Sử dụng khi người dùng muốn thao tác gì đó về biên độ / độ lớn
bằng tay Các View có những thuộc tính khác nhau, gọi là các attributes Ví dụ
như EditText thì có attributes là maxLength (số ký tự tối đa) và maxLines (số dòng tối
đa) TextView thì có fontSize (cỡ chữ) và inputType (kiểu nhập: số / chữ / email,…).Tuy nhiên các View đều có một số attributes chung như:
Trang 16• Layout_width: Độ dài chiều ngang của View Có thể là con số cụ thể hoặc là
wrap_content (Bao đủ nội dung bên trong thì thôi), hay match_parent (bằng với chiều ngang của View chứa nó)
• Layout_height: Độ dài chiều dọc của View Có thể là con số cụ thể hoặc là
wrap_content (Bao đủ nội dung bên trong thì thôi), hay match_parent (bằng với chiều dọc của View chứa nó)
• ID: Cái này rất quan trọng, mỗi một View trong một layout đều được gắn với một định danh (id) này để gắn chức năng với code Java ở trong Sẽ được đề cập kỹ hơn ở phần sau
1.2.2 ViewGroup
ViewGroup là một lớp con của View và nó sẽ hoạt động như một lớp cơ sở
cho layouts và layouts parameters ViewGroup sẽ cung cấp một bộ chứa (container) vô
hình để chứa các View hoặc ViewGroup khác và để xác định các thuộc tính layout
Ví dụ: Linear Layout là ViewGroup chứa các UI control như button, textview, v.v và các layout khác
Sau đây là một số lớp con phổ biến của ViewGroup thường được sử dụng trong Android
Về cơ bản các thành phần của View và View Group sẽ được trình bày trong series này mình
đã liệt kê ở trên
Trang 171.2.3.Button
Button là view được sử dụng khá nhiều trong android, hầu như sử dụng ở mọi nơi cùng với EditText, TextView Button có chức năng là làm nhiệm vụ nào đó khi mà người dùng click trong phương thức onClick
Một số thuộc tính của Button
android:id: Xác định id cho Button
android:text: Xác định văn bản sẽ hiển thị lên Button
android:textColor: Xác định màu văn bản của Button
android:background: Xác định màu nền của Button
Để thực hiện những khối lệnh khi chúng ta click vào button, chúng ta làm như sau:
Bước 1: Lấy về đối tượng Buton thông qua id được khai báo button ở file xml
Button btnClick = (Button)findViewById(R.id.btn_click);
Bước 2: Set bộ lắng nghe sự kiện cho Button thông qua phương thức setOnClickListener và handle các công việc cần xữ lý trong phương thức onClick
Một số thuộc tính phổ biến của ImageView
android:id: ID là duy nhất để nhận diện Layout
Trang 18android:divider: Nó có thể vẽ hoặc tô màu giữa các item trong danh sách
android:dividerHeight: Nó xác định chiều cao của dải phân cách Điều này có thể là px, dp,
sp, in hoặc mm
android:entries: Chỉ định tham chiếu đến một tài nguyên mảng sẽ điền vào ListView
android:footerDividersEnabled: Khi được đặt thành false, ListView sẽ không vẽ dải phân cách trước mỗi chế độ xem chân trang Giá trị mặc định là true
android:headerDividersEnabled: Khi được đặt thành false, ListView sẽ không vẽ dải phân cách sau mỗi chế độ xem tiêu đề Giá trị mặc định là true
1.2.6 TextView
TextView là view sử dụng để hiển thị text màn hình TextView được định nghĩa bởi
android:textColor: Xác định màu chử của TextView
android:textSize: Xác định size chử của TextView
android:textStyle: Xác định style chữ TextView, có ba giá trị là normal, bold (in
đậm), ilalic (nghiêng)
android:background: Xác định màu nền TextView
android:drawableLeft: Xác định drawable (với những người mới bắt đầu thì có thể xem như
là hình ảnh) nằm bên trái text
Một số thuộc tính của EditText
android:text: Xác định text hiển thị lên EditText
android:textColor: Xác định màu của text
android:textSize: Xác định kích thước của text
Trang 19android:textStyle: Xác định style của text gồm các giá trị italic (nghiêng), bold (in
đậm), normal (kiểu thường)
android:inputType: Xác định phương thức nhập của Edittext, có các giá trị như
sau: text, numbe textPassword, phone, r, textUrl…
1.2.8.CheckBox
Android:checked thiết lập trạng thái checked, unchecked với giá trị "true" hay "false"
android:button để gán Drawable vào View (vẽ trạng thái cho CheckBox, RadioButton ) android:buttonTint để gán màu Tint
Trang 20CHƯƠNG 2: PHÂN TÍCH THIẾT K H Ế Ệ THỐNG
2.1 Phân lo i ạ
• Yêu c u chầ ức năng
1 Chức năng cập nhật thông tin Cập nhật các thông tin người dùng liên
quan đến họ tên, địa chỉ mail
2 Chức năng Xem lý thuyết Tra cứu lý thuyết về các thì, dấu hiệu nhận
biết cơ bản trong Tiếng Anh,…
3 Chức năng Quản lý điểm Lưu và xem lại điểm thi sau mỗi bài kiểm
tra
4 Chức năng Quản lý bài thi Quản lý số câu đúng, sai, thời gian làm bài
và tổng điểm Bảng 2.1.1: Yêu cầu chức năng
• Yêu c u phi chầ ức năng
1 Giao diện thân thiện với người dùng Màu sắc tươi tắn tạo cảm
giác thoải mái cho người
sử dụng
2 Bảo đảm tính toàn vẹn cho dữ liệu Dữ liệu hóa đơn sẽ được
khôi phục nguyên vẹn khi xảy ra sự cố
3 Khả năng xử lý phản hồi nhanh Độ chậm trể phải thấp từ
khi sự kiện được sinh ra từ
cú click chuột của người dùng
4 Khả năng cập nhật dữ liệu nhanh chóng Dữ liệu được chỉnh
sửa/thêm mới phải được cập nhật nhanh chóng
Bảng 2.1.2: Yêu cầu phi chức năng
Trang 211.1.3 Gi i han ph m vi nghiêm c u ớ ạ ứ
Sử dụng ngôn ngữ Java, máy ảo Android Emulator, phần mền Android Studio, cơ sở dữ liệu SQLite, Firebase
1.1.4 Ý nghĩa khoa học thực tiễn
Phần mềm luyện thi trắc nghiệm môn Tiếng Anh giúp các bạn ôn lại kiến thứ tiết kiệm được c, thời gian ôn tập, tra cứu tài liệu, hơn nữa có thể học mọi lúc mọi nơi chỉ cần một chiếc smartphone có kết nối Internet
Trang 221
Trang 23Chương 2.Cơ sở lý thuy t : ế
1.1 Gi i thi u h ớ ệ ệ điề u hành Android
1.1.1 Anroiid là gì ?
Android là một hệ điều hành dựa trên nền tảng Linnux được thiết kế dành cho các thiết
bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu,
Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên
bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động
Android chiếm 75% thị phần điện thoại thông mính trên toàn thế giới vào thời điểm quý 2 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh
Trang 25Android.View - Các thành phần cơ bản trong việc xây dựng người dùng của ứng dụng Android.widget - Tập các thành phần giao diện người dùng đã được xây dựng sẵn như các nút, các nhãn, list view
1.2 Các thành ph n giao di n trong Android ầ ệ
1.2.1 View
• Một cái nút (Button) là một View.
• Một cái thanh kéo (SeekBar) cũng là một “View”: Vậy chúng ta có thể phán chắc nịch luôn: Cái gì hiển thị trên màn hình thì nó là View
Trong Android có rất nhiều loại View , phù hợp nhiều nhu cầu Bản thân lập trình viên cũng
có thể tự tạo ra view của riêng mình bằng cách code các lớp Java extends từ lớp View Tí nữa
ở cuối bài biết đâu sẽ có ví dụ, hí hí Một số loại View tiêu biểu là (mình lấy ví dụ ở bản
Android 6.0 mới):
• TextView : Hiển thị chữ Có thể thay đổi nội dung chữ, màu sắc, kích cỡ, kiểu
đậm/gạch chân,…
• Button : Nút Có thể thay đổi độ rộng, cao, màu nền nút, kiểu viền, đổ bóng,…
• Switch : Công tắc Có 2 chế độ gạt qua gạt lại như chơi điện tử, nhưng mà chỉ trái phải thôi.
-• EditText : Trường nhập văn bản Là một ô nhập văn bản Văn bản ở EditText có thể là
1 hay nhiều dòng, có thể cài đặt đầu vào chỉ được nhập số, nhập chữ hay nhập dạng mật khẩu.
• SeekBar : Thanh kéo Sử dụng khi người dùng muốn thao tác gì đó về biên độ / độ lớn bằng tay Các View có những thuộc tính khác nhau, gọi là các attributes Ví dụ
Trang 26• Layout_width : Độ dài chiều ngang của View Có thể là con số cụ thể hoặc là
wrap_content (Bao đủ nội dung bên trong thì thôi), hay match_parent (bằng với chiều ngang của View chứa nó).
Trang 271
danh (id) này để gắn chức năng với code Java ở trong Sẽ được đề cập kỹ hơn ở phần sau.
1.2.2 ViewGroup
ViewGroup là một lớp con của View và nó sẽ hoạt động như một lớp cơ sở
cho layouts và layouts parameters ViewGroup sẽ cung cấp một bộ chứa (container) vô
hình để chứa các View hoặc ViewGroup khác và để xác định các thuộc tính layout
Ví dụ: Linear Layout là ViewGroup chứa các UI control như button, textview, v.v và các layout khác
Sau đây là một số lớp con phổ biến của ViewGroup thường được sử dụng trong Android.
Về cơ bản các thành phần của View và View Group sẽ được trình bày trong series này mình
đã liệt kê ở trên