CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI VÀ CƠ SỞ LÝ THUYẾT I.Tổng quan về đề tài: 1. Mục tiêu đề tài 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í. 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ả lời – chưa trả lời + 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) + Tìm kiếm câu hỏi 12 1. 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. Ý 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ức, tiết kiệm đượ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. Giới thiệ u hệ điều hành Android 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.2 Lị ch sử phát triển Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger).
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó thành một bộ phận trực thuộc Google. Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, 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.3 Kiế n trúc hệ điều hành Android Các thư viện Android: đây là các thư viện dựa trên Java phục vụ cho việc phát triển Android: Android.app - Cung cấp quyền truy cập vào ứng dụng và là nền tảng của tất cả ứng dụng Android.content - Cung cấp quyền truy cập nội dung, truyền tải thông điệp giữa các ứng dụng hay các thành phần của ứng dụng.database - Được sử dụng để truy cập dữ liệu của content provider và cơ sở dữ liệu SQLite.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.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.
Các thành phần giao diện trong Android 1.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 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ụ 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ư: 15 • 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.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à 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.
• Linear Layout • Relative Layout • Table Layout • Frame Layout • Web View • List View • Grid View Lớp con của View và ViewGroup đều đóng vai trò quan trọng để tạo ra layout trong ứng dụng 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.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.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 btnClick.setOnClickListener(new View.ImageView ImageView là một view sử dụng rất nhiều trong ứng dụng android, ImageView sử dụng để hiển thị hình ảnh. Một số thuộc tính phổ biến của ImageView android:id: Xác định id. android:src: Xác định source hình ảnh hoặc drawable 1. ListView ListView trong Android là một view group, hiển thị các item theo một danh sách có thể cuộn được theo chiều thẳng đứng.
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 17 android: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.
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. Tương tự chúng ta có các thuộc tính android:drawableRight, android:drawableTop , android:drawableBottom nằm bên phải, trên, dưới text.EditText EditText là view dùng để lấy giá trị từ người dùng nhập vào. EditText được định nghĩa bởi thẻ <EditText> trong xml.