1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android

64 625 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 1,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhằm giúp các em hứng thú hơn trong việc học tập tiếng anh nên em đã quyết định xây dựng ứng dụng học tiếng anh trên điện thoại di động, nền tảng android, phần mềm ứng dụng cụ thể đối vớ

Trang 1

LỜI CẢM ƠN

Trong phạm vi khả năng cho phép, em đã rất cố gắng để hoàn thành đề tài một cách tốt nhất Song, chắc chắn sẽ không tránh khỏi những thiếu sót Em kính mong nhận được sự thông cảm và đóng góp ý kiến của thầy cô và các bạn

Em xin chân thành cảm ơn các thầy cô giáo trong Khoa Công Nghệ Thông Tin, trường đại học Công nghệ thông tin và truyền thông – Thái Nguyên, đặc biệt là

cô giáo Đào Thị Thu đã tận tình giúp đỡ, góp ý giúp em hoàn thành đồ án

Em xin chân thành cảm ơn!

Thái Nguyên, tháng 5 năm 2016

Sinh viên thực hiện

Nguyễn Thị Ngà

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đây là phần nghiên cứu và thể hiện đồ án tốt nghiệp của tôi, không sao chép các đồ án khác, nếu sai tôi xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của khoa và nhà trường đề ra

Thái Nguyên, tháng 5 năm 2016

Sinh viên thực hiện

Nguyễn Thị Ngà

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH ẢNH 5

LỜI NÓI ĐẦU 7

CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID VÀ LẬP TRÌNH ANDROID 8

1.1 Tổng quan về android 8

1.1.1 Giới thiệu Android 8

1.1.2 Kiến trúc của Android 10

1.1.3 Chu kỳ ứng dụng của Android 12

1.2.Lập trình Android cơ bản 16

1.2.1 Tổng quan về Java 16

1.2.2 Những khái niệm và vấn đề cơ bản trong Android 17

CHƯƠNG 2:KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 27

2.1 Khảo sát thực trạng 27

2.2 Ý tưởng và bài toán 30

2.3 Phân tích và thiết kế ứng dụng .31

2.3.1 Đặc tả hệ thống 31

2.3.2 Chức năng làm bài thi thử 32

2.3.3 Chức năng Học ngữ pháp 35

2.3.4 Chức năng Học phát âm 37

2.3.5 Chức năng Học từ vựng 39

2.3.6 Chức năng Xem tài liệu 41

2.3.7 Chức năng Xem thông tin 42

2.3.8 Chức năng thoát 44

2.3.9 Biểu đồ lớp 45

2.3.9Biểu đồ thành phần 48

2.3.11 Một số bảng cơ sở dữ liệu 49

Trang 4

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH CHO HỌC SINH

CẤP 3 50

3.1 Mô tả bài toán 50

3.2 Các bước cơ bản xây dựng chương trình 50

3.2.1 Res/Layout 50

3.2.2 SRC 52

3.3 Yêu cầu môi trường cài đặt .53

3.4 Thử nghiệm 54

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 63

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 64

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 -Cấu trúc stack hệ thống Android 10

Hình 1.2 Activity stack 13

Hình 1.3 – Các trạng thái chu kỳ sống 14

Hình 1.4- Các sự kiện trong activity 19

Hình 1.5- Service 20

Hình 2.1: Biểu đồ Use Case 31

Hình 2.2: Biểu đồ tuần tự Thi thử 33

Hình 2.3: Biểu đồ tuần tự tính điểm 34

Hình 2.4: Biểu đồ hoạt động Thi thử 35

Hình 2.5: Biểu đồ tuần tự Học ngữ pháp 36

Hình 2.6: Biểu đồ hoạt động Học ngữ pháp 37

Hình 2.7: Biểu đồ tuần tự Học phát âm 38

Hình 2.8: Biểu đồ hoạt động Học phát âm 39

Hình 2.9: Biểu đồ tuần tự Học từ vựng 40

Hình 2.10: Biểu đồ hoạt động Học từ vựng 41

Hình 2.11: Biểu đồ tuần tự Xem tài liệu .42

Hình 2.12: Biểu đồ hoạt động Xem tài liệu 42

Hình 2.13: Biểu đồ tuần tự Xem thông tin .43

Hình 2.14: Biểu đồ hoạt động Xem thông tin 44

Hình 2.15: Biểu đồ tuần tự thoát .45

Hình 2.16: Biểu đồ hoạt động thoát 45

Hình 2.17: Biểu đồ lớp tổng quát 46

Hình 2.18: Biểu đồ lớp thi thử 47

Hình 2.19: Biểu đồ lớp tài liệu 47

Hình 2.20: Biểu đồ lớp phát âm 47

Hình 2.21: Biểu đồ lớp từ vựng 47

Hình 2.22: Biểu đồ lớp thông tin 48

Hình 2.23: Biểu đồ lớp ngữ pháp 48

Hình 2.24: Biểu đồ lớp thoát 48

Hình 2.25: Biểu đồ thành phần 48

Trang 6

Hình 3.1 Giao diện chính 54

Hình 3.2 Giao diện thi thử 55

Hình 3.3 Giao diện ngữ pháp 56

Hình 3.4 Giao diện tài liệu 57

Hình 3.5 Giao diện phát âm 58

Hình 3.6 Giao diện từ vựng 59

Hình 3.7 Giao diện chủ đề động vật 60

Hình 3.8 Giao diện thông tin 61

Trang 7

LỜI NÓI ĐẦU

Hiện nay, Tiếng Anh được coi là ngôn ngữ quốc tế số một trên thế giới Hàng triệu người từ các nền văn hóa khác nhau đều nỗ lực học Tiếng Anh mỗi ngày

Ở Việt Nam, Tiếng Anh cũng đã chiếm được vị trí quan trọng kể từ khi đất nước bắt đầu thực hiện chính sách mở cửa hội nhập ra khu vực và thế giới Ở nhiều lĩnh vực khác nhau trong xã hội như kinh tế, chính trị, khoa học, du lịch, đều rất cần những người có trình độ Tiếng Anh giỏi Bởi thế, nhu cầu học ngoại ngữ ngày càng gia tăng trên khắp cả nước

Nhằm giúp các em hứng thú hơn trong việc học tập tiếng anh nên em đã quyết định xây dựng ứng dụng học tiếng anh trên điện thoại di động, nền tảng android, phần mềm ứng dụng cụ thể đối với đối tượng học sinh cấp 3

Trong thời gian hơn 2 tháng, cùng với sự nỗ lực của bản thân và sự giúp đỡ tận tình của thầy cô, bạn bè ứng dụng của em đã hoàn thành

Mục tiêu nghiên cứu: Tổng hợp, vận dụng các kiến thức đã học, tìm hiểu để

khảo sát, phân tích, thiết kế và xây dựng ứng dụng học tiếng anh cho học sinh cấp 3

Công việc cần giải quyết:

 Tìm hiểu và khảo sát thực tế để thu thập thông tin, tài liệu… lấy cơ sở để thiết kế phần mềm

 Dựa vào các kiến thức chuyên ngành để xây dựng phần mềm đảm bảo đủ các yêu cầu đặt ra

Nội dung chính của đề tài bao gồm:

 Chương 1: Tổng quan hệ điều hành Android và lập trình Android

 Chương 2: Khảo sát và phân tích thiết kế hệ thống

 Chương 3:Xây dựng chương trình

Trang 8

CHƯƠNG 1:

TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID VÀ LẬP TRÌNH ANDROID

1.1 Tổng quan về android

1.1.1 Giới thiệu Android

1.1.1.1 Sơ lược về Android

Android là một hệ điều hành di động dựa trên một phiên bản sửa đổi của linux Được phát triển vào năm 2005 với một dự án cùng tên “Android” Như một phần chiến lược của mình để lấn sâu vào lĩnh vực di động Google Android đã mua

về toàn bộ quá trình phát triển cũng như đội phát triển nó

Google Android muốn mở và miễn phí, vì vậy hầu hết các mã android được được đưa ra dưới dạng mã nguồn mở Apache License, điều này có nghĩa là bất cứ ai muốn sử dụng android đều có thể phát triển bằng cách tải về mã nguồn android đầy

đủ Hơn nữa các nhà cung cấp (thường là những nhà phát triển phần cứng) có thể thêm phần mở rộng và tùy biến cho android để phân biệt sản phẩm của họ với sản phẩm của những người khác Điều này đơn giản là làm cho mô hình phát triển android rất hấp dẫn và do đó khơi dậy sự quan tâm của nhiều nhà cung cấp

Ưu điểm chính của việc áp dụng android là nó cung cấp một cách tiếp cận thống nhất để phát triển ứng dụng Các nhà phát triển chỉ cần phát triển cho android

và các ứng dụng của họ có thể chạy trên nhiều thiết bị khác nhau, miễn là các thiết

bị được hỗ trợ bằng cách sử dụng android Trong thế giới smartphone ứng dụng là một phần quan trọng nhất của chuỗi thành công Do đó các nhà sản xuất thiết bị coi android như là hy vọng tốt nhất để thách thức sự tấn công của Iphone

1.1.1.2 Android SDK

Một công cụ không thể thiếu đó là Android Software Development Kit, được viết tắt là SDK Đây là một công cụ phát triển phần mềm mà cụ thể phát triển ứng dụng cho Android OS, được Google xây dựng đi kèm với hệ điều hành Android Vào tháng 10 năm 2008, cùng với việc công khai mã nguồn của Android OS, Google cũng giới thiệu và hướng dẫn cụ thể về SDK cho toàn bộ các nhà phát triển trên toàn thế giới với mục đích khuyến khích và hỗ trợ họ cùng tham gia phát triển các ứng dụng trên Android Để download Android SDK bạn có thể truy cập địa chỉ

Trang 9

sau: http://developer.android.com , tại đây Google cũng đưa ra nhiều mã nguồn mẫu

và những project có sẵn để người dùng có thể nghiên cứu dễ dàng hơn

Tương ứng với mỗi phiên bản của hệ điều hành Android thì cũng có một phiên bản SDK đi kèm

Hiện nay thì đã có thêm các phiên bản cao 4.3, 4.4

Trang 10

1.1.2 Kiến trúc của Android

Mô hình sau thể hiện một cách tổng quát các thành phần của hệ điều hành Android Mỗi một phần sẽ được đặc tả một cách chi tiết dưới đây

Hình 1.1 -Cấu trúc stack hệ thống Android 1.1.2.1 Applications (tầng ứng dụng)

Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts, browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều được viết bằng Java

1.1.2.2 Application framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái, và nhiều, nhiều hơn nữa

Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thể xuất bản khả năng của mình

và ứng dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ) Cơ chế này cho phép các thành phần tương tự sẽ được thay thế bởi người sử dụng

Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:

Trang 11

Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết

kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,…

Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng đó

Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải

là mã nguồn, chẳng hạn như: localized strings, graphics, and layout files

Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các custom alerts trong status bar

Activity Maanager được dùng để quản lý chu trình sống của ứng dụng và điều hướng các activity

1.1.2.3 Library

Android bao gồm một tập hợp các thư viên C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android Điều này được thể hiện thông qua nền tảng ứng dụng Android Một số các thư viện cơ bản được liệt kê dưới đây:

System C library: a BSD-derived triển khai các thư viện hệ thống ngôn ngữ

C chuẩn, được nhúng vào các thiết bị dựa trên hệ điều hành Linux

Media Libraries – Dựa trên PacketVideo's OpenCORE; thư viện này hỗ trợ

cho việc chơi nhạc, quay phim, chụp hình theo các định dạng file MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG

Surface Manager – Quản lý truy cập đến các hệ thống con hiển thị cũng

như các lớp đồ họa 2D, 3D từ tầng ứng dụng

LibWebCore – Thư viện được dùng để tạo nên thành phần webview trong

Android và có thể nhúng được vào nhiều ứng dụng

SGL – Thư viện hỗ trợ đồ hoạ 2D

3D libraries – Thư viện đồ họa 3D

FreeType - bitmap and vector font rendering

SQLite – Một cơ sở dữ liệu nhỏ được dùng cho các thiết bị cầm tay có bộ

nhớ hạn chế SQLite không có quan hệ như các cơ sở dữ liệu khác

Trang 12

1.1.2.4 Android Runtime (môi trường thực thi)

Android bao gồm một tập hợp các thư viện cơ bản cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Tất cả các ứng dụng Android đều chạy trong tiến trình riêng Máy ảo Dalvik đã được viết để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tối thiểu VM là dựa trên register-based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java

để chuyển đổi thành các định dạng dex Các VM Dalvik dựa vào nhân Linux cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp

1.1.2.5 Linux kernel (nhân Linux)

Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như bảo mật quản lý bộ nhớ, quản lý tiến trình, các tầng network, và các mô hình điều khiển Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lại của phần mềm stack

1.1.3 Chu kỳ ứng dụng của Android

Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho ứng dụng khi mã lệnh cần được thực thi và sẽ còn chạy cho đến khi:

Nó không phụ thuộc

Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác

Một sự khác thường và đặc tính cơ bản của Android là thời gian sống của tiến trình ứng dụng không được điều khiển trực tiếp bới chính nó Thay vào đó, nó được xác định bởi hệ thống qua một kết hợp của:

Những phần của ứng dụng mà hệ thống biết đang chạy

Những phần quan trọng như thế nào đối với người dùng

Bao nhiêu vùng nhớ chiếm lĩnh trong hệ thống

1.1.3.1 Chu kỳ sống thành phần

Các thành phần ứng dụng có một chu kỳ sống, tức là mỗi thành phần từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc Giữa đó, đôi lúc chúng có thể là active( trạng thái hoạt động) hoặc inactive (không hoạt động), hoặc là trong trường hợp Activies nó có thể visible (ẩn) hoặc invisible (hiển thị)

Trang 13

1.1.3.2 Activity Stack

Bên trong hệ thống các activity được quản lý như một activity stack Khi một Activity mới được bắt đầu, nó được đặt ở đỉnh của stack và trở thành activity đang chạy activity trước sẽ ở bên dưới activity mới và sẽ không thấy trong suốt quá trình activity mới tồn tại

Nếu người dùng nhấn nút Back thì activity kết tiếp của stack sẽ di duyển lên

và trở thành active

Hình 1.2 Activity stack

Chu kỳ sống một ứng dụng Android Activity/Inactivity Visiable/Invisible Start

End

Trang 14

1.1.3.3 Các trạng thái của chu kỳ sống

Hình 1.3 – Các trạng thái chu kỳ sống

Một Activity chủ yếu có 3 chu kỳ chính sau:

Active hoặc running: Khi Activity là được chạy trên màn hình Activity này tập trung vào những thao tác của người dùng trên ứng dụng

Paused: Activity là được tạm dừng (paused) khi mất tiêu điểm (focus) nhưng người dùng vẫn trông thấy Có nghĩa là một Activity mới ở trên nó nhưng không bao phủ đầy màn hình Một Activity tạm dừng là còn sống nhưng có thể bị kết thúc bởi hệ thống trong trường hợp thiếu vùng nhớ

Stopped: Nếu nó hoàn toàn bao phủ bởi Activity khác Nó vẫn còn trạng thái và thông tin thành viên trong nó Người dùng không thấy nó và thường bị loại bỏ trong trường hợp hệ thống cần vùng nhớ cho tác vụ khác

1.1.3.4 Chu kỳ sống của ứng dụng

Trong một ứng dụng Android có chứa nhiều thành phần và mỗi thành phần đều có một chu trình sống riêng Và ứng dụng chỉ được gọi là kết thúc khi tất cả các thành phần trong ứng dụng kết thúc Activity là một thành phần cho phép người dùng giao tiếp với ứng dụng Tuy nhiên, khi tất cả các Activity kết thúc và người dùng không còn giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã kết thúc Bởi vì ngoài Activity là thành phần có khả năng tương tác người

Trang 15

dùng thì còn có các thành phần không có khả năng tương tác với người dùng như là Service, Broadcast receiver Có nghĩa là những thành phần không tương tác người dùng có thể chạy background dưới sự giám sát của hệ điều hành cho đến khi người dùng tự tắt chúng

1.1.3.5 Các sự kiện trong chu kỳ sống của ứng dụng

Nếu một Activity được tạm dừng hoặc dừng hẳn, hệ thống có thể bỏ thông tin khác của nó từ vùng nhớ bởi việc finish() (gọi hàm finish() của nó), hoặc đơn giản giết tiến trình của nó Khi nó được hiển thị lần nữa với người dùng, nó phải được hoàn toàn restart và phục hồi lại trạng thái trước Khi một Activity chuyển qua chuyển lại giữa các trạng thái, nó phải báo việc chuyển của nó bằng việc gọi hàm transition

1.void onCreate(Bundle savedInstanceState) 5 void onPause()

Bảng các sự kiện trong chu kỳ sống của ứng dụng Android

Tất cả các phương thức là những móc nối mà bạn có thể override để làm tương thich công việc trong ứng dụng khi thay đổi trạng thái Tất cả các Activity bắt buộc phải có onCreate() để khởi tạo ứng dụng Nhiều Activity sẽ cũng hiện thực onPause() để xác nhận việc thay đổi dữ liệu và mặt khác chuẩn bị dừng hoạt động với người dùng

1.1.3.6 Thời gian sống của ứng dụng

Bảy phương thức chuyển tiếp định nghĩa trong chu kỳ sống của một Activity Thời gian sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến trạng thái cuối cùng gọi onDestroy() Một Activity khởi tạo toàn bộ trạng thái toàn cục trong onCreate(), và giải phóng các tài nguyên đang tồn tại trong onDestroy()

1.1.3.7 Thời gian hiển thị của Activity

Thời gian hiển thị của một activity diễn ra giữa lần gọi một onStart() cho đến khi gọi onStop() Trong suốt khoảng thời gian này người dùng có thể thấy activity trên màn hình và có thể tương tác với ứng dụng

Trang 16

mô hình hướng thủ tục Theo cách tiếp cận này một chương trình được xem như là một dãy là bước tuần tự Các ngôn ngữ lập trình cấu trúc như C sử dụng mô hình này Tuy nhiên, vấn đề đối với cách tiếp cận này là kích thước lớn và tính phức tạp của chương trình Cách tiếp cận thứ hai được gọi là lập trình hướng đối tượng Lập trình hướng đối tượng tổ chức một chương trình theo xoay quanh dữ liệu của nó và một tập các giao tiếp được định nghĩa tác động đến dữ liệu đó

2.2.1.2 Sự trừu tượng hóa

Một thành phần cơ bản của lập trình hướng đối tượng là sự trừu tượng hóa Con người quản lý tính phức tạp thông qua sự trừu tượng hóa Ví dụ, ta không nghĩ

về chiếc xe hơi như một tập bao gồm hàng ngàn chi tiết riêng biệt Ta xem nó là một đối tượng cụ thể với các đặc điểm riêng của nó Sự trừu tượng hóa này cho phép ta sử dụng chiếc xe hơi mà không bị rối rắm bởi sự phức tạp của các thành phần tạo nên chiếc xe

Một cách hữu hiệu để quản lý sự trừu tượng hóa là sử dụng sự phân lớp Điều này cho phép ta phân tầng sự phức tạp của hệ thống, chia nhỏ thành các phần có thể quản lý được Ví dụ, xe hơi được xem là một đối tượng Chi tiết hơn, xe hơi bao gồm nhiều hệ thống con như: tay lái, ghế ngồi, dàn âm thanh Giàn âm thanh bao gồm máy nghe CD, băng đĩa …

Trang 17

2.2.1.3 Ba yếu tố cơ bản của lập trình hướng đối tượng

a) Tính đóng gói

Đây là cơ chế kết hợp giữa mã lệnh với dữ liệu mà nó xử lý, và tránh bị ảnh hưởng bởi sự can thiệp từ bên ngoài Tính đóng gói được xem như là một lớp vỏ bọc bảo vệ mã lệnh và dữ liệu tránh khỏi sự truy cập tùy tiện từ các mã lệnh khác Việc truy cập được điều khiển một cách chặt chẽ thông các các thủ tục đã được định nghĩa

b) Tính kế thừa

Tính kế thừa là quá trình mà một đối tượng nhận được các tính chất từ một đối tượng khác Thông thường, mỗi đối tượng cần được định nghĩa tất cả các tính chất của nó Tuy nhiên, bằng cách sử dụng sự kế thừa, mỗi đối tượng chỉ cần được định nghĩa các tính chất riêng biệt của nó, các tính chất chung được định nghĩa ở trong đối tượng mà nó kế thừa

c) Tính đa hình

Đây là đặc điểm cho phép một hình thức giao tiếp có thể được sử dụng cho nhiều hành động có tính chất giống nhau Việc thực thi hành động cụ thể nào đó tùy thuộc vào tình huống xảy ra Điều này làm giảm tính phức tạp của chương trình

 Kết hợp tính đóng gói, tính kế thừa và tính đa hình

Sự kết hợp các yếu tố này tạo ra một môi trường lập trình tốt hơn so với mô hình lập trình hướng thủ tục Tính kế thừa giúp cho việc sử dụng lại mã lệnh đã được cài đặt và kiểm tra trước đó Tính đóng gói cho phép bạn thay đổi sự cài đặt

mà không phải quan tâm nhiều đến mã lệnh, bạn chỉ cần quan tâm đến sự giao tiếp với các lớp đã có Tính đa hình cho phép bạn viết các chương trình rõ ràng, hợp lý,

Trang 18

đặt Mặc dù chúng làm việc cùng nhau để tạo thành một giao diện người dùng, mỗi activity độc lập với những cái khác Mỗi activity là một lớp con của lớp cơ sở Activity

Một ứng dụng có thể gồm chỉ một activity hay nhiều activity Thông thường,

một trong số các activity được đánh dấu như là activity đầu tiên phải được trình

diễn tới người dùng khi ứng dụng được khởi động Chuyển từ một activity sang activity khác được hoàn thành bằng cách cho activity hiện thời khởi động activity

kế tiếp

Mỗi activity được đưa ra một cửa sổ mặc định để vẽ vào Thông thường, cửa

sổ sẽ lấp đầy màn hình, nhưng nó có thể nhỏ hơn màn hình và nằm trên các cửa sổ khác Một activity có thể sử dụng cửa sổ bổ sung - ví dụ như một pop-up dialog gọi cho một đáp ứng người dùng ở giữa của activity, hay một cửa sổ biểu diễn những cho người dùng với thông tin quan trọng khi họ chọn một item cụ thể trên màn hình

Nội dung trực quan của cửa sổ được cung cấp bởi một cây phân cấp các đối tượng view dẫn xuất từ lớp View Mỗi view điều khiển một khoảng hình chữ nhật

cụ thể bên trong cửa sổ View cha chứa và tổ chức bố cục các view con Các view lá

vẽ trong hình chữ nhật mà chúng điều khiển và đáp ứng lại các hành động người dùng trực tiếp ở khoảng trống này Do đó, các view là nơi mà các tương tác của activity với người dùng diễn ra Ví dụ một view có thể hiển thị một hình ảnh nhỏ và khởi tạo một hoạt động khi người dùng nhấn vào hình ảnh đó Android có một số view đã xây dựng sẵn mà bạn có thể sử dụng – gồm có các buttons, text fields, scroll bars, menu items, check boxes …

Một cây phân cấp view được đặt trong một cửa sổ của activity bằng phương thức Activity.setContentView() Content view là đối tượng View ở gốc của cây

phân cấp

Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời

của một hoạt động Class Activity định nghĩa các sự kiện sau đây

 onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên

 onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng

 onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng

 onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt động trước đó

Trang 19

 onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng

 onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằng tay hoặc bằng hệ thống để bảo tồn bộ nhớ)

 onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một lần nữa

Hình 1.4- Các sự kiện trong activity 1.2.2.2 Service

Một service không có giao diện trực quan, nó chạy trên nền trong một khoảng thời gian không xác định Ví dụ một service có thể chơi nhạc nền, hay nó nạp dữ liệu trên mạng hay tính toán cái gì đó và cung cấp kết quả cho activity cần đến nó Mỗi service mở rộng từ lớp cơ sở Service

Một ví dụ cổ điển là media player chơi các bài hát từ một danh sách Ứng

dụng player có thể có một hay hai activity cho phép người dùng chọn bài hát và bắt

Trang 20

đầu chơi Tuy nhiên, music playback không tự nó được xử lý bởi một activity bởi vì người dùng sẽ mong muốn chơi tiếp nhạc khi họ rời khỏi player và làm cái gì đó khác Để tiếp tục chơi nhạc, media player activity có thể khởi động một service chạy trên nền Hệ thống sẽ giữ cho music playback service chạy thậm chí khi activity khởi động nó rời khỏi màn hình

Trong khi kết nối, bạn có thể giao tiếp với dịch vụ thông qua giao diện mà service đó trưng ra Ví dụ như trong music service, giao diện này có thể cho phép người dùng pause, rewind, stop và restart lại playback

Giống như các activity và các thành phần khác khác, service chạy trong thread chính của tiến trình ứng dụng Vì thế chúng không thể chặn những thành phần khác hay giao diện người dùng, chúng thường tạo ra các thead khác cho các nhiệm vụ hao tốn thời gian

Hình 1.5- Service 1.2.2.3 Broadcast Receive

Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận

và đáp lại các thông báo broadcast Nhiều broadcast khởi đầu trong mã hệ thống

- ví dụ như thông báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người

Trang 21

dùng đã thay đổi ngôn ngữ … Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụng khác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử dụng chúng Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thông báo nào mà nó cho là quan trọng Tất cả các receiver mở rộng từ lớp cơ sở BroadcastReceiver.

1.2.2.4 Content provider

Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng cho các ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ sở dữ liệu SQLite, hay trong một cách khác nào đó Content provider mở rộng lớp cơ sở ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép các ứng dụng khác đạt được và lưu trữ dữ liệu của kiểu

mà nó điều khiển Tuy nhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng một đối tượng ContentResolver và gọi các phương thức của

nó Một ContentResolver có thể nói chuyện với bất cứ content provider nào, chúng cộng tác với provider để quản lý giao tiếp liên tiến trình

1.2.2.5 Manifest File

Trước khi Android có thể khởi động một thành phần ứng dụng, nó phải biết rằng thành phần đó tồn tại Vì vậy, ứng dụng khai báo những thành phần của mình trong một manifest file được gắn vào Android package, file apk này cũng giữ chứa mã của ứng dụng và các tài nguyên

Manifest file là một file XML có cấu trúc và thường được đặt tên là AndroidManifest.xml cho mọi ứng dụng Nó thực hiện một số bổ sung để khai báo các thành phần của ứng dụng, như là nêu tên các thư viện ứng dụng cần đến,

và xác định các quyền hạn của ứng dụng muốn được cấp

Ví dụ như nó khai báo các Activity trong chương trình của chúng ta, khi khởi động chương trình thì Activity nào sẽ được thực hiện đầu tiên, các quyền truy cập Internet, SDCard, hay các vấn đề về gửi nhận tin nhắn, cuộc gọi

1.2.2.6 Giao diện người dùng trong Android

Trong một ứng dụng Android, giao diện người dùng được xây dựng bằng cách sử dụng View và ViewGroup đối tượng Có nhiều loại quan điểm và các

Trang 22

nhóm view, mỗi một trong số đó là hậu duệ của lớp View View objects là các đơn vị cơ bản của biểu hiện giao diện người dùng trên nền tảng Android Các class xem như là cơ sở phục vụ cho class con được gọi là "widget", trong đó cung cấp đầy đủ các đối tượng thực hiện giao diện, giống như các lĩnh vực văn bản và nút Class ViewGroup phục vụ như là cơ sở cho lớp con được gọi là " layouts", cung cấp các loại khác nhau của kiến trúc bố trí, như linear, tabular và relative

LinearLayout được trình bày theo 2 cách: Horizontal - nằm ngang hoặc Vertical - thẳng đứng

 RetaliveLayout

Layout này cho phép bố trí các widget theo một trục đối xứng ngang hay dọc Để đặt được đúng vị trí thì các widget cần được xác định một mối ràng buộc nào đó với các widget khác Các ràng buộc này là các ràng buộc trái, phải, trên, dưới so với một widget hoặc so với layout parent

 TableLayout

Layout này được sử dụng khi cần thiết kế một table chứa dữ liệu cần bố trí các widget theo các dòng và cột

Trang 23

 GridView

Khi muốn hiển thị dữ liệu của mình theo một dạng lưới nào đó thì android cung cấp 1 control đó là GridView GridView trong android dữ liệu được đưa vào thông qua các mảng 1 chiều và dựa vào số cột của GridView để ngắt số hàng và cột

TextView có tác dụng là để hiển thị văn bản

Trong đoạn mã trên, android:text="" dùng để ghi đoạn text muốn thể hiện, Android:textColor ="" để định dạng màu chữ, Android:textSize ="" kích cỡ chữ, Android:gravity="" dùng để căn chỉnh cho đoạn text

 RadioButton

Radiobutton là một control cho phép ta lựa chọn duy nhất một đối tượng trong cùng một group

1.2.2.9 Bắt sự kiện trong Android

Một khi bạn đã thêm một số Views/widgets đến giao diện, có thể bạn muốn biết về sự tương tác của người dùng với họ, vì vậy bạn có thể thực hiện hành động

Để được thông báo về UI events người dùng, bạn cần phải làm một trong hai điều: Xác định một sự kiện nghe và đăng ký nó với các View Khác thường hơn không, đây là cách bạn sẽ lắng nghe cho các sự kiện Các class View có chứa một tập hợp

các giao diện lồng nhau đặt tên On<something>Listener, đều có một phương pháp

gọi lại được gọi là On<something>()

Ví dụ: View.OnClickListener (để xử lý "nhấp chuột" trên một View), View.OnTouchListener ( để xử lý các sự kiện màn hình cảm ứng trong một View),

Trang 24

và View.OnKeyListener (để xử lý thiết bị ép quan trọng trong một View) Vì vậy nếu bạn muốn View của bạn được thông báo khi nó là " clicked" (chẳng hạn như

khi một nút được chọn), thực hiện và xác định OnClickListener của nó gọi method onClick() (nơi bạn thực hiện các hành động sau khi nhấp chuột), và đăng ký nó vào

xem với setOnClickListener()

1.2.2.10 Menu

Menu đơn có một phần quan trọng của giao diện người dùng trong một ứng dụng Menus cung cấp một giao diện đáng tin cậy cho thấy rằng các chức năng ứng dụng và cài đặt Trong trình đơn ứng dụng phổ biến nhất là tiết lộ bằng cách bấm phím MENU trên thiết bị Tuy nhiên, bạn cũng có thể thêm Context Menus, có thể hiển thị khi người sử dụng máy nhấn và nắm giữ phím trên một mục Thực đơn cũng được hệ thống phân cấp cấu trúc bằng cách sử dụng một xem, nhưng bạn không xác định cấu trúc này cho mình

1.2.2.11 Adapter

Thỉnh thoảng bạn sẽ muốn populate một view group với một số thông tin mà không thể hard-coded được, thay vào đó, bạn muốn bind để xem một nguồn dữ liệu bên ngoài Để làm điều này, bạn sử dụng một AdapterView xem như là view group của bạn và View con được khởi tạo và populated với dữ liệu từ Adapter Các đối tượng AdapterView là một implementation của ViewGroup xác định những view con của nó dựa trên một đối tượng Adapter nhất định Adapter các hành vi như là chuyển phát nhanh giữa các nguồn dữ liệu của bạn (có lẽ là một mảng của chuỗi bên ngoài) và AdapterView, hiển thị nó trong đó Có một số hiện thực của class Adapter, cho nhiệm vụ cụ thể, chẳng hạn như CursorAdapter việc đọc dữ liệu cơ sở

dữ liệu từ một Cursor, hoặc một ArrayAdapter đọc từ một mảng tùy ý Để tìm hiểu thêm về cách sử dụng một adapter cho populate views của bạn, hãy đọc đóng vào

dữ liệu với AdapterView

1.2.2.12 SQLite

Trong android thì hệ cơ sở dữ liệu được sử dụng là SQLite Database, đây là

hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng dụng (Mozilla, Firefox

Trang 25

sử dụng SQLite để lưu trữ các dữ liệu về cấu hình, iPhone cũng sử dụng cơ sở dữ liệu là SQLite)

Trong Android, cơ sở dữ liệu mà chúng ta tạo cho một ứng dụng thì chỉ ứng dụng đó có quyền truy cập và sử dụng cơ sở dữ liệu đó, các ứng dụng khác thì không

Trong các ứng dụng thực tế, phải chú ý đến việc chia sẻ dữ liệu Ví dụ như người dùng này không thể truy cập xem dữ liệu người khác được

Chú ý: phải gắn cờ khi muốn đăng kí việc viết dữ liệu vào data

 Gói android.database.sqlite chứa các lớp sqlite cụ thể

 Tạo và cập nhật cơ sở dữ liệu với SQLite OpenHelper

Để tạo và cập nhật cơ sở dữ liệu trong ứng dụng android của bạn, tạo 1 lớp con của lớp SQLiteOpenHelper Trong cấu trúc lớp con của bạn, bạn gọi phương thức Super() của SQLiteOpenHelper ghi tên cơ sở dữ liệu và phiên bản cơ sở dữ liệu hiện hành

Ở trong lớp này, cần phải Override các phương thức sau để tạo và cập nhật

cơ sở dữ liệu của bạn

 onCreate() – Để quản lý việc tạo Cơ sở dữ liệu

 onUpgrade() – Để quản lý version của cơ sở dữ liệu

 SQLiteDatabase

 SQLiteDatabase là lớp cơ bản để làm việc với SQLite Database ở trong android, cung cấp các phương thức để mở (open), truy vấn (query), cập nhật (update) và đóng (close) cơ sở dữ liệu

 Cụ thể SQLiteDatabase cung cấp các phương thức insert(), update() and delete()

Trang 26

 Ngoài ra nó còn cung cấp phương thức execSQL() cho phép thực hiện trực tiếp câu lệnh SQL

 ContentValues có thể được dùng để chèn và cập nhật các mục (entries) cơ

o query() cung cấp một giao diện cấu trúc để xác định các truy vấn SQL

 SQLiteQueryBuilder là một lớp tiện lợi giúp xây dựng các truy vấn SQL

Trang 27

CHƯƠNG 2:

KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Khảo sát thực trạng

 Tầm quan trọng của việc học tiếng anh đối với học sinh cấp 3 hiện nay

 Tiếng Anh thật sự rất quan trọng để bạn có thể đi xa và học hỏi

Một con số đáng cho bạn quan tâm đó là tiếng Anh chính là ngôn ngữ chính thức của hơn 53 quốc gia và vùng lãnh thổ, và là ngôn ngữ chính thức của khối E.U

và là ngôn ngữ thứ 3 được nhiều người sử dụng nhất chỉ sau tiếng Trung Quốc và Tây Ban Nha (do sự chênh lệch về dân số các quốc gia sử dụng) Đặc biệt nếu các bạn có nhu cầu muốn đi du học, và các nước ở khối liên minh Châu Âu luôn là sự

ưu tiên hàng đầu cho bạn bởi điều kiện sống và các trường học danh tiếng, thì tiếng Anh là một ngôn ngữ bạn không bao giờ có thể bỏ qua

Ngoài ra, Tiếng Anh là một ngôn ngữ đẹp, gắn liền với nhiều nét văn hóa đặc sắc từ những quốc gia sử dụng nó Nếu bạn cảm thấy mình thực sự yêu thích và đam mê tiếng Anh thì tôi tin chắc rằng bạn sẽ sớm thành thạo ngôn ngữ này

 Học tiếng Anh là để cải thiện bản thân, cải thiện cuộc sống và tương lai của chính mình

Các nhà tuyển dụng sẽ muốn lựa chọn một ứng viên có khả năng tiếng Anh tốt, thay vì một ứng viên không thể sử dụng hoặc sử dụng rất tệ ngoại ngữ này Khi bạn ra trường và mong muốn được làm việc ở một công ty tốt, có mức lương khá và môi trường ổn định, nhà tuyển dụng sẽ yêu cầu gì ở bạn: chắc chắn không thể bỏ qua yêu cầu: biết sử dụng tiếng Anh Kể cả khi bạn làm cho một công ty Nhật, hay

đa quốc gia nào khác, nếu bạn biết tiếng Anh, và tốt hơn là sử dụng thành thạo, bạn vẫn sẽ được ưu tiên

Hoặc giả như bạn muốn đi du học thì nhất thiết bạn phải học tiếng Anh để có thể theo được nội dung chương trình đào tạo Như đã nói ở trên, Multi Language vẫn muốn bổ sung rằng: để phục vụ nhu cầu học hành ở các nước tiến bộ trên thế giới, dù rằng bạn chọn một quốc gia không sử dụng tiếng Anh, thì khi bạn biết thứ ngôn ngữ này, bạn vẫn có thể sống và làm việc đầy tự tin ở một quốc gia hoàn toàn

xa lạ

Trang 28

 Học tiếng Anh cũng là điều kiện quan trọng để bạn có thể tiếp cận, cập nhật những nguồn tri thức từ khắp thế giới

Có tới hơn 1 tỷ trang Web sử dụng tiếng Anh Thật kinh ngạc khi chỉ cần học một ngôn ngữ là có thể khai thác hầu hết kho tri thức ấy Những phần mềm thông dụng nhất trên thế giới, những mạng xã hội nổi tiếng nhất, những cổng thông tin phong phú nhất, những ví điện tử được ưa chuộng nhất, tất cả đều được viết bằng tiếng Anh

Hãy xem mạng lưới truyền hình quốc tế như kênh CNN và BBC Họ phát tin tức nhanh chóng hơn, chuyên nghiệp hơn các mạng lưới truyền hình quốc gia khác

Và bạn có thể xem các kênh này trên khắp thế giới Ở bất cứ đâu, bạn cũng có thể

dễ dàng tìm thấy một người dân nói tiếng Anh

 Thúc đẩy sự nghiệp

Thể hiện “kiến thức tiếng Anh tuyệt vời” trên CV (lý lịch) của bạn Nhận

được việc làm mơ ước và kiếm được nhiều tiền hơn Hãy có sự lựa chọn khôn ngoan, dù cho công việc của bạn không yêu cầu kĩ năng sử dụng tiếng Anh thành thạo, nhưng nếu bạn chứng tỏ mình là một nhân viên chuyên nghiệp, không khó để sếp của bạn cất nhắc bạn lên vị trí cao hơn

Nghiên cứu khoa học máy tính Đọc các bài báo chuyên môn kỹ thuật không mấy khó khăn Hoặc viết những bài báo của riêng bạn! Chỉ với những cuốn sách, những tài liệu chuyên đề được viết bởi thứ tiếng thông dụng trên thế giới, bạn mới biết đến sự hữu ích của kho tri thức rộng lớn, được toàn thế giới công nhận

Trở thành nhà khoa học tài giỏi hơn Hãy liên lạc với các nhà khoa học ở những nước khác, tham gia các hội nghị quốc tế, thăm các trung tâm học thuật nước ngoài Tìm hiểu những phát kiến mới thông qua sách báo, tạp chí Bạn không muốn mình trở thành chú ếch ngồi đáy giếng phải không? Hãy vươn lên bằng một cách đơn giản nhất, đưa mình đến với cộng đồng

 Giúp bạn năng động trong môi trường xã hội, tự tin trong giao tiếp và luôn muốn khám phá những nền văn hóa của các nước trên thế giới

Học Tiếng Anh hiện nay đã trở thành thứ ngôn ngữ toàn cầu Giữa hàng chục, hàng trăm thứ ngôn ngữ khác nhau, thế giới đã lựa chọn tiếng Anh như phương tiện để mọi người có thể hiểu được nhau Theo số liệu từ Wikipedia, 53

Trang 29

quốc gia sử dụng tiếng Anh làm ngôn ngữ chính thức Các sự kiện quốc tế như Olympic, các tổ chức toàn cầu, các công ty đa quốc gia… cũng đều coi tiếng Anh là ngôn ngữ giao tiếp thông dụng Để không trở thành một vị khách, một người bạn

“không thể giao tiếp”, bạn cần phải học để sử dụng tiếng Anh Nhất là khi Việt Nam, quốc gia của chúng ta đã gia nhập kinh tế thế giới, bạn sẽ không muốn mình phải lắc đầu lắc tay khi một người bạn nước ngoài tươi cười hỏi đường bạn chứ?

 Nguyên nhân học sinh học kém Tiếng Anh:

- Về phía học sinh:

 Nhiều học sinh học thấy Tiếng Anh là môn học khó, học không vào nên có tâm lý sợ học môn Tiếng Anh, chỉ học đối phó ở trên lớp, về nhà không chịu học Môn Tiếng Anh đòi hỏi người học phải chịu khó, đầu tư nhiều thời gian, phải có phương pháp Thế nhưng học sinh hầu như chỉ tập trung vào học 1 số môn thi đại học, ít chú ý trau dồi môn Tiếng Anh hoặc có tâm lý “ khi nào lên đại học sẽ hay”

 Điều kiện học tập bộ môn tiếng Anh với các em học sinh miền núi còn thiếu thốn rất nhiều: sách giáo khoa tham khảo, từ điển, băng đài…

- Về chương trình sách giáo khoa:

Chương trình SGK mới rất hay song độ khó cũng cao hơn, đối với những học sinh đã mất gốc thì không thể theo được Mặt khác, chương trình có sự tích hợp, liên thông với các môn văn hóa khác, đòi hỏi học sinh có 1 trình độ văn hóa nhất định mới đáp ứng được yêu cầu Vì vậy, nhiều học sinh không kham nổi chương trình SGK Tiếng Anh mới Mặt khác học sinh phải học quá nhiều môn, rồi còn học thêm, do vậy mà thời gian dành cho môn Tiếng Anh càng bị san sẻ

- Về phía giáo viên:

Giáo viên tuy có nhiều cố gắng trong việc vận dụng phương pháp giảng dạy theo hướng tích cực hóa các hoạt động của học sinh, nhưng giáo viên chỉ có thể áp dụng được với 1 số bài, 1 số tiết dạy và 1 số bộ phận học sinh Nguyên nhân là 1 phần là do nội dung chương trình sách giáo khoa quá tải, sĩ số đông trong 1 lớp, sức học của học sinh còn hạn chế, 1 phần do một số giáo viên còn ít chịu khó đầu tư vào các tiết dạy, ít quan tâm tìm tòi những phương pháp giảng dạy phù hợp với từng đối tượng học sinh nên chất lượng và hiệu quả dạy học của bộ môn chưa thực sự như mong muốn Nhiều hoạt động dạy học tích cực chỉ mới được sử dụng có tính hình

Trang 30

thức chưa được đầu tư, chuẩn bị đúng mức và triển khai đúng quy trình nên chưa đạt hiệu quả cao Các đối tượng học sinh yếu chưa được quan tâm đúng mức để tạo điều kiện cho các em vươn lên

 Tại sao cần xây dựng phần mềm hỗ trợ học Tiếng Anh cho học sinh cấp 3?

Đối với Việt Nam, một nước đang đứng trước thời đại phát triển, mở rộng ra với cánh cửa toàn cầu hoá, bạn có thấy tầm quan trọng trong việc học tiếng Anh Với các bạn học sinh, sinh viên, những thế hệ tương lai của đất nước, việc học tiếng Anh lại càng trở nên cần thiết hơn bao giờ hết

Hiểu được điều đó, nên hệ thống giáo dục của Việt Nam đã đưa tiếng Anh là môn học bắt buộc trên ghế nhà trường từ những năm tiểu học Tiếng Anh cũng là môn thi tốt nghiệp bắt buộc các cấp Nhưng thực trạng học tiếng Anh ở Việt Nam vẫn còn là vấn đề đau đầu của các nhà làm giáo dục cũng như cha mẹ học sinh muốn con e mình giỏi tiếng Anh Làm thế nào để tìm được một phương pháp học tiếng Anh chuẩn, giúp các bạn tiến bộ nhanh

Theo ước tính thì hiện nay đa số học sinh cấp 3 hiện nay đều dùng điện thoại

di động thông minh vậy tại sao các bạn không dành mỗi ngày 2-3 tiếng đồng hồ để học Tiếng Anh, thay vào đó là dùng thời gian đó chơi game hay lướt facebook, và

từ nhu cầu đó cần phải xây dựng một phần mềm hỗ trợ học Tiếng Anh nói chung và cho học sinh cấp 3 nói riêng

2.2 Ý tưởng và bài toán

Tên đề tài: Xây dựng ứng dụng học tiếng Anh cho học sinh cấp 3

Hiện nay trên thế giới cũng như tại Việt Nam, điện thoại di động đang được sử dụng ngày càng nhiều Chiếc điện thoại di động tuy nhỏ bé nhưng hết sức tiện lợi, ngoài chức năng liên lạc, nó còn là một phương tiện phục vụ cho giải trí rất lý thú Do

đó, điện thoại di động ngày càng khẳng định vị trí của nó trong cuộc sống của chúng

ta Các điện thoại di động hiện này có thể chạy rất nhiều phần mềm, phần lớn các ứng dụng này là trò chơi, chương trình nghe nhạc, chụp ảnh Hơn thế nữa, ngày càng xuất hiện nhiều dòng điện thoại thông minh như smartphone với các nền hệ điều hành như: android, window phone, IOS với các sản phẩm phần mềm đa dạng, tiện dụng

Trang 31

vẫn luôn được đánh giá cao đối với nhưng người dùng Chính vì thế thị trường phần mềm điện thoại đang dần dần phát triển và ngày càng trở lên hấp dẫn

Song song với các ứng dụng giải trí, các ứng dụng về học tập cũng rất cần thiết, được sử dụng nhiều Với ý tưởng xây dựng một ứng dụng cho phép người sử dụng điện thoại có thể học các cấu trúc ngữ pháp, từ vựng theo chủ đề, ôn luyện các bài trắc nghiệm tiếng anh trên chính chiếc điện thoại của mình, nên em chọn hướng xây dựng phát triển ứng dụng trên nền hệ điều hành Android

- Bài toán ứng dụng:

+Đầu vào: Các dạng bài tập tiếng anh, cấu trúc ngữ pháp của học sinh cấp 3 +Đầu ra: Phần mềm luyện thi tiếng anh với dữ liệu đã cho trước như dạng text …

- Yêu cầu cần đạt được :

 Cho phép các em học sinh làm bài thi thử có tính thời gian

 Cho phép các em học sinh học ngữ pháp theo các chủ đề

 Cho phép các em học sinh học từ vựng theo chủ đề

 Cho phép các em học sinh nghe, học cách phát âm từ, đoạn văn bản

 Hoàn thiện chương trình

2.3 Phân tích và thiết kế ứng dụng

2.3.1 Đặc tả hệ thống

 Biểu đồ Use Case

+ Tác nhân: User (các em học sinh)

Hình 2.1: Biểu đồ Use Case

Trang 32

 Xem hệ thống đáp án câu hỏi trắc nghiệm

 Xem thông tin ứng dụng

2.3.2 Chức năng làm bài thi thử

Mục đích: Luyện làm các bài tập dạng trắc nghiệm

Tác nhân: User

Mô tả chung: Khi User bắt đầu vào ứng dụng và chọn nút “Thi Thử”, ứng

dụng hiển thị khối lớp học để người dùng chọn, sau khi người dùng chọn khôi lớp thì ứng dụng hiển thị câu hỏi, thời gian làm bài và đáp án để User làm bài

5 Thực hiện chọn bài thi

2 Hiển thị khối lớp để chọn bài thi

4 Hiển thị nội dung bài thi

Các thông tin đầu vào:

Thông tin đầu ra: kết quả bài luyện thi của User

Ngày đăng: 09/12/2016, 01:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đoàn Văn Ban (2005), Lập trình hướng đối tượng với Java, Nhà xuất bản khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Lập trình hướng đối tượng với Java
Tác giả: Đoàn Văn Ban
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
Năm: 2005
[2] Nguyễn Văn Ba (2003), Phân tích và thiết kế hệ thống thông tin, NXB ĐHQG Hà Nội Sách, tạp chí
Tiêu đề: Phân tích và thiết kế hệ thống thông tin
Tác giả: Nguyễn Văn Ba
Nhà XB: NXB ĐHQG Hà Nội
Năm: 2003
[4] Thạc Bình Cường (2009) , Giáo trình phân tích và thiết kế hệ thống thông tin , Trường Đại học Bách khoa Hà NộiTiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình phân tích và thiết kế hệ thống thông tin
[5] Mark L.Murphy, Beginning Android, copyrighted Material [6] Android Developers http://developer.android.com Sách, tạp chí
Tiêu đề: Beginning Android
[7] Android Tag StackOverFlow http://stackoverflow.com Link

HÌNH ẢNH LIÊN QUAN

Hình 1.2 Activity stack - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 1.2 Activity stack (Trang 13)
Hình 1.3 – Các trạng thái chu kỳ sống - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 1.3 – Các trạng thái chu kỳ sống (Trang 14)
Hình 1.4- Các sự kiện trong activity  1.2.2.2 Service - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 1.4 Các sự kiện trong activity 1.2.2.2 Service (Trang 19)
Hình 2.2: Biểu đồ tuần tự Thi thử - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.2 Biểu đồ tuần tự Thi thử (Trang 33)
Hình 2.3: Biểu đồ tuần tự tính điểm - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.3 Biểu đồ tuần tự tính điểm (Trang 34)
Hình 2.5: Biểu đồ tuần tự Học ngữ pháp - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.5 Biểu đồ tuần tự Học ngữ pháp (Trang 36)
Hình 2.7: Biểu đồ tuần tự Học phát âm. - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.7 Biểu đồ tuần tự Học phát âm (Trang 38)
Hình 2.8: Biểu đồ hoạt động Học phát âm  2.3.5 Chức năng Học từ vựng - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.8 Biểu đồ hoạt động Học phát âm 2.3.5 Chức năng Học từ vựng (Trang 39)
Hình 2.9: Biểu đồ tuần tự Học từ vựng - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.9 Biểu đồ tuần tự Học từ vựng (Trang 40)
Hình 2.10: Biểu đồ hoạt động Học từ vựng  2.3.6 Chức năng Xem tài liệu - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.10 Biểu đồ hoạt động Học từ vựng 2.3.6 Chức năng Xem tài liệu (Trang 41)
Hình 2.18: Biểu đồ lớp thi thử - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 2.18 Biểu đồ lớp thi thử (Trang 47)
Hình 3.2 Giao diện thi thử - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 3.2 Giao diện thi thử (Trang 55)
Hình 3.6 Giao diện từ vựng - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 3.6 Giao diện từ vựng (Trang 59)
Hình 3.7 Giao diện chủ đề động vật - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 3.7 Giao diện chủ đề động vật (Trang 60)
Hình 3.8 Giao diện thông tin - Xây dựng phần mềm học tiếng anh cho học sinh cấp 3 trên hệ điều hành android
Hình 3.8 Giao diện thông tin (Trang 61)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w