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

Báo cáo chuyên đề Lập trình hỗ trợ học và kiểm tra kiến thức Luật Giao thông đường bộ trên Android

29 458 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 29
Dung lượng 1,22 MB

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

Nội dung

Đi kèm với sự phát triển phần cứng trên thiết bị động thì cuộc chiến củacác nhà phát triển các hệ điều hành trên điện thoại di động cũng diễn ra hếtsức khốc liệt.. Các nhà phát triển viế

Trang 1

BÁO CÁO CHUYÊN ĐỀ

Hà Nội - 2016

Hà Nội- Năm 2015

Môn: Lập trình ứng dụng

LẬP TRÌNH HỖ TRỢ HỌC VÀ KIỂM TRA KIẾN THỨC LUẬT GIAO THÔNG ĐƯỜNG BỘ TRÊN ANDROID

NGUYỄN VĂN QUY – 11B4

Trang 2

BÁO CÁO CHUYÊN ĐỀ

Hà Nội - 2016

Hà Nội- Năm 2015

Môn: Lập trình ứng dụng

LẬP TRÌNH HỖ TRỢ HỌC VÀ KIỂM TRA KIẾN THỨC LUẬT GIAO THÔNG ĐƯỜNG BỘ TRÊN ANDROID

NGUYỄN VĂN QUY – 11B4

Trang 3

LỜI CẢM ƠN

Em xin chân thành cảm ơn ban chủ nhiệm khoa Công nghệ thông tin,các thầy cô giáo, gia đình và bạn bè đã động viên giúp đỡ em rất nhiều trongquá trình làm chuyên đề tốt nghiệp này Đặc biệt em xin bày tỏ lòng cảm ơnsâu sắc tới thầy giáo hướng dẫn T.S Dương Thăng Long về sự tận tình, tậntâm hướng dẫn em từ những ý tưởng đầu tiên cho đền lúc hoàn thành bàichuyên đề tốt nghiệp của mình

Em xin bày tỏ lòng biết ơn tới gia đình thân yêu, những người bạn thân

đã luôn tin tưởng, quan tâm, động viên, giúp đỡ em trong thời gian qua

Em rất mong nhận được sự đánh giá, bổ sung và những lời chỉ bảo củacác thầy cô đề em có thể tiếp tục nghiên cứu kĩ hơn về lĩnh vực này

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

Sinh viên: Nguyễn Văn Quy

Trang 4

M C L C ỤC LỤC ỤC LỤC

Chương 1: CƠ SỞ LÝ THUYẾT 1

1.1 Nền tảng di động 1

1.1.1 Android 2

1.1.2 Windows Phone 3

1.1.3 Sysbian 3

1.1.4 BlackBerry 4

1.2 Hệ điều hành Android 4

1.2.1 Giới thiệu 4

1.2.2 Kiến trúc 5

1.3 Ngôn ngữ lập trình JAVA 9

1.3.1 Giới thiệu 9

1.3.2 Đặc trưng 9

1.3.3 Các thế mạnh 12

1.3.4 Mô hình làm việc Xcode 13

Chương 2: PHÂN TÍCH BÀI TOÁN 15

2.1 Giới thiệu đề tài 15

2.1.1 Mô tả bài toán 15

2.1.2 Các chức năng 15

2.2 Cơ sở dữ liệu 15

Chương 3 ỨNG DỤNG 19

3.1 Nguồn dữ liệu 19

3.2 Giao diện 20

Hình 3.1 Giao diện của ứng dụng 20

TÀI LIỆU THAM KHẢO 23

Trang 5

DANH MỤC VIẾT TẮT

ST

T

Tên viết tắt Tên đầy đủ Dich ra tiếng việt

(Nếu là tiếng anh)

1 iOS Iphone Opera System Hệ điều hảnh trên nền

4 AWT Abstract Window Toolkit Công cụ trừu tượng

5 JNI Java Native Interface Giao diện Java

10 IDE Integrated Development

Environmen

Môi trường thiết kếhợp nhất

Trang 6

Chương 1: CƠ SỞ LÝ THUYẾT

1.1 Nền tảng di động

Ngày này, thị trường di động đang pháttriển mạnh mẽ chưa từng thấy với vôvàng các nhãn hiệu, kiểu dáng, tínhnăng Đã biến chiếc điện thoại thànhmột thiết bị giải trí đa phương tiện khôngthể thiếu Với lợi thế nhỏ gọn, được mọingười sử dụng đem theo mọi lúc mọinơi, nhưng cũng vì nhỏ gọn như vậycũng là một bất lợi về xử lý và tốc độ

Để đảm bảo một chiếc điện thoại thông minh hoạt động tốt thì nó cần có một hệđiều hành quản lý thiết bị

Đi kèm với sự phát triển phần cứng trên thiết bị động thì cuộc chiến củacác nhà phát triển các hệ điều hành trên điện thoại di động cũng diễn ra hếtsức khốc liệt Hiện nay, các nền tảng di động lớn được biết đến như sauNền tảng di động iOS với điện thoại di động thông minh iPhone, với thiết

kế đẹp, thời trang, cảm ứng mượt mà, màn hình đẹp và sắc nét cùng với tài

năng của "thánh" Steve Jobs đã khiến cho iPhone trở thành hiện tượng trên

mọi thị trường, đặc biệt là ở Mỹ Doanh số bán ra của iPhone tăng dần quacác năm, và dần dần thống lĩnh thị trường của nhiều nước iPhone dù mỗinăm chỉ ra một phiên bản mới nhưng sức nóng đủ lan tỏa khắp làng di động,

do đó, iOS vẫn chưa bao giờ "già"

iOS là hệ điều hành "đóng" hoạt động trên iPhone, iPad, iPod iOS đã

quyết định rất nhiều đối với sự thành công của Apple, với giao diện bóngbẩy, đẹp mắt, và dễ sử dụng Tất cả chỉ là chạm và vuốt để thực thi Cùngvới chính sách hợp lý để thu hút các lập trình viên viết ứng dụng, kho ứng

Trang 7

dụng Appstore ngày càng lớn khiến cho người dùng càng thêm thích thú,mọi nhu cầu của từng người đều có thể được đáp ứng Cũng như việc Applecũng tung ra cập nhật, vá các lỗi liên tục khi phát hiện, khiến cho iOS ngàycàng trở nên "thông minh" hơn, an toàn hơn.

Nhưng nếu gọi iOS là thống trị năm 2012 thì điều đó cũng là chưa thể VìiOS chỉ được cài giới hạn trên thiết bị của Apple gồm những thiết bị nhưiPhone, iPad, iPod Thị phần của thiết bị Apple trên thế giới nói chung làkhông lớn, số liệu các bạn thấy trên các báo đa số chỉ thống kê tại Mỹ,nhưng đã gọi là thống trị thì phải là thống trị trên thị trường di động toàn thếgiới

1.1.1 Android

Mặc dù sinh sau đẻ muộn, nhưng Android đang có những bước tiến thầntốc, trong thời gian ngắn đã đạt được nhiều điều khiến mọi hệ điều hành diđộng mơ ước: khoảng 700.000 điện thoại Android được kích hoạt mỗi ngày.Khi mà iOS ngày càng bành trướng mà Symbian lại không đủ sức để cạnhtranh Các lập trình viên, các nhà sản xuất điện thoại chú ý đến Android Hệđiều hành di động mở được Google phát triển dựa trên nền tảng Linux

Android ngày càng lớn mạnh về số lượng và chất lượng bởi sự linh hoạt từnền tảng Google, phù hợp với cả smartphone tầm thấp lẫn giá cao Hàng loạtcác nhà sản xuất điện thoại di động sử dụng Android làm hệ điều hành chínhcho các sản phẩm của mình Như HTC, Samsung, LG, Motorola, SonyEricsson Từ điện thoại, cho đến máy tính bảng của các hãng này đều dùng

hệ điều hành Android Các nhà lập trình viết ứng dụng ngày càng nhiều trênAndroid Market Kho ứng dụng đang cạnh tranh trực tiếp với AppStore củaApple Chính vì điều này mà đã khiến Android ngày càng bành trướng trênthị trường khắp các châu lục, và đến năm 2012, Android sẽ là hệ điều hànhthống trị

Trang 8

Nhưng các bạn có thể thấy, dường như Android đang ở trên đỉnh cao củamình Chính vì có quá nhiều thiết bị, mỗi thiết bị có cấu hình riêng, nhà sảnxuất tùy biến riêng và việc có quá nhiều ứng dụng, nhưng lại không theo mộtchuẩn cụ thể nào Khiến Android ngày càng bị phân mảnh và rời rạc.

Android được cập nhật quá thường xuyên, dẫn đến tình trạng trên thịtrường có nhiều phiên bản cùng tồn tại, được phát hành song song với nhau.Google đang dần muốn kiểm soát và hạn chế sự phân mảnh, nhưng đồngthời cũng làm mất dần tính "mở" vốn là triết lý cơ bản của Android

1.1.2 Windows Phone

Sau sự kiện Microsoft hợp tác cùng Nokia Nokia sẽ chạy hệ điều hànhWindows Phone trên các smartphone của mình song song với Symbian vàMeeGo Với lợi thế là nhà sản xuất điện thoại chiếm thị phần cao trên thếgiới Windows Phone bắt đầu khiến các hệ điều hành di động khác lo lắng

Windows Phone 7 không có gì giống Windows Mobile Hệ điều hành

mới này có một diện mạo hoàn mới, hợp thời, với giao diện Metro đầy mới

lạ, gần giống như một tờ tạp chí, và cực kỳ dễ sử dụng mặc dù cách xử lýmọi việc rất khác Windows Phone 7 cũng đã tạo ra một sức hấp dẫn mớicho làng công nghệ Kho ứng dụng Marketplace tuy có khiêm tốn nhưng rấtnhiều phần mềm hữu ích và được kiểm soát bởi Microsoft

1.1.3 Sysbian

Symbian, hệ điều hành di động được đánh giá là thân thiện, dễ sử dụng.Symbian rất mạnh đối với các dòng điện thoại sử dụng màn hình cứng, bànphím T9 cơ bản Và kho ứng dụng của Symbian trong 10 năm qua khôngphải là ít Những ứng dụng này đáp ứng không nhỏ trong công việc, đờisống hằng ngày của mọi người

Trang 9

Từ bản Symbian^3, giao diện đã thay đổi rất nhiều Nhưng chưa rõ rệt cholắm Cho đến bản Symbian Anna, Symbian Belle toàn bộ đã khác: Biểutượng trau chuốt hơn, giao diện mượt mà hơn, loại bỏ nhiều thứ không cầnthiết Mọi sự cố gắng của Symbian khi thuộc về Nokia có vẻ như đang có sựtiến bộ rõ rệt Có điều năm 2012 không phải là năm của Symbian khi chínhNokia cũng đang xuống dốc.

1.1.4 BlackBerry

Là dòng máy Smartphone cao cấp và nổi tiếng trên thế giới do hãngResearch In Motion cung cấp Ngoài những tính năng thông thường, điểmtạo nên sự khác biệt của máy BlackBerry là kiểu thiết kế rất đặc trưng; pintốt và hơn cả là dịch vụ Push Mail nổi tiếng và thương hiệu BlackBerry đượcxây dựng rất thành công

BlackBery OS 6 được RIM công bố tại sự kiện Wireless EnterpriseSymposium (diễn ra từ 27 đến 29/4 tại Mỹ) RIM chưa đưa ra chi tiết về hệđiều hành mới, ngoài một đoạn video quảng cáo khá ấn tượng Theo nhữngthông tin đầu tiên, nhiều cải tiến từ giao diện, màn hình Home mới, menupop-up, khả năng chuyển dịch, trình duyệt web mới dựa trên nền tảngWebKit tương thích HTML5 Ngoài ra, BlackBerry OS 6 hỗ trợ khả năngđiều khiển trên màn hình cảm ứng đa điểm tốt hơn

1.2 Hệ điều hành Android

1.2.1 Giới thiệu

Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trênmột số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nềntảng Linux Trước đây, Android được phát triển bởi công ty liên hợpAndroid ( sau đó được Google mua lại vào năm 2005)

Trang 10

Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự

ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập củaliên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng,phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điệnthoại di động trong tương lai

1.2.2.2 Tầng Applycation Famework

Trang 11

Tầng này của hệ điều hành Android cung cấp một nền tảng phát triểnứng dụng mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo racác ứng dụng vô cùng sáng tạo và phong phú Các nhà phát triển ứng dụngđược tự do sử dụng các tính năng cao cấp của thiết bị phần cứng như:thông tin định vị địa lý, khả năng chạy dịch vụ dưới nền, thiết lập đồng hồbáo thức, thêm notification vào status bar của màn hình thiết bị…

Người phát triển ứng dụng được phép sử dụng đầy đủ bộ API được dùngtrong các ứng dụng tích hợp sẳn của Android Kiến trúc ứng dụng củaAndroid được thiết kế nhằm mục đích đơn giản hóa việc tái sử dụng cáccomponent Qua đó bất kì ứng dụng nào cũng có thể công bố các tính năng

mà nó muốn chia sẻ cho các ứng dụng khác (VD: Ứng dụng email cómuốn các ứng dụng khác có thể sử dụng tính năng gởi mail của nó).Phương pháp tương tự cho phép các thành phần có thể được thay thế bởingười sử dụng

Tầng này bao gồm một tập các services và thành phần sau:

1. Một tập phong phú và có thể mở rộng bao gồm các đối tượng View đượcdùng để xây dựng ứng dụng như: list, grid, text box, button và thậm chí là mộttrình duyệt web có thể nhúng vào ứng dụng

2. 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 hoặc chia sẽ dữ liệu của chúng

3. Resource Manager: Cung cấp khả năng truy xuất các tài nguyên

non-code như hình ảnh hoặc file layout

4. Notification Manager: Cung cấp khả năng hiển thị custom alert trên

thanh status bar

5. Activity Manager: Giúp quản lý vòng đời của một ứng dụng.

1.2.2.3 Tầng Library

Trang 12

System C library: một thể hiện được xây dựng từ BSD của bộ thư viện

hệ thống C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bịchạy trên nền Linux

Media libraries: Bộ thư viện hổ trợ trình diễn và ghi các định dạng âm

than và hình ảnh phổ biến

Surface manager: Quản lý hiển thị nội dung 2D và 3D.

LibWebCore: Một web browser engine hiện đại được sử dụng trong

trình duyệt của Android lần trong trình duyệt nhúng web view được sửdụng trong ứng dụng

SGL: Engine hổ trợ đồ họa 2D.

3D libraries: Một thể hiện được xây dựng dựa trên các APIs của

OpenGL ES 1.0 Những thư viện này sử dụng các tăng tốc 3D bằng phầncứng lẫn phần mềm để tối ưu hóa hiển thị 3D

FreeType: Bitmap and vector font rendering.

SQLite: Một DBMS nhỏ gọn và mạnh mẽ.

1.2.2.4 Android Runtime

Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõi cungcấ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ậptrình Java Mọi ứng dụng của Android chạy trên một tiến trình của riêng nócùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvik thực tế là mộtbiến thể của máy ảo Java được sửa đổi, bổ sung các công nghệ đặc trưngcủa thiết bị di động Nó được xây dựng với mục đích làm cho các thiết bị

di động có thể chạy nhiều máy ảo một cách hiệu quả Trước khi thực thi,bất kì ứng dụng Android nào cũng được convert thành file thực thi vớiđịnh dạng nén Dalvik Executable (.dex) Định dạng này được thiết kế đểphù hợp với các thiết bị hạn chế về bộ nhớ cũng như tốc độ xử lý Ngoài ramáy ảo Dalvik sử dụng bộ nhân Linux để cung cấp các tính năng nhưthread, low-level memory management

1.2.2.5 Linux Ken

Trang 13

Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho nhữngdịch vụ hệ thống cốt lõi như: security, memory management, processmanagement, network stack, driver model Bộ nhân này làm nhiệm vụ nhưmột lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng.

Hình 1.2 Mô hình hợp tác giữa máy ảo Dalvik và Navite codeJNI: Java Native Interface (Tương tự khái niệm ApplicationProgramming Interface)

Java Native Interface: là một bộ framework cho phép mã lệnh viếtbằng Java chạy trên máy ảo java có thể gọi hoặc được gọi bởi một ứng

dụng viết bằng native code (Ứng dụng được viết cho một phần cứng cụ

thể và trên một hệ điều hành cụ thể) hoặc những bộ thư viện viết bằng C,C++ hoặc Assembly

Bằng cách sử dụng JNI, Android cho phép các ứng dụng chạy trên máy

ảo Dalvik có thể sử dụng những phương thức được viết bằng các ngôn ngữcấp thấp như: C, C++, Assembly Qua đó các nhà phát triển ứng dụng có thể xây dựng ứng dụng dựa trên các bộ thư viện viết bằng C, C++,

Assembly nhằm tăng tốc độ thực thi của ứng dụng hoặc sử dụng những tính năng mức thấp mà ngôn ngữ Java không hổ trợ Tuy nhiên người phát

Trang 14

triển ứng dụng cần phải cân nhắc sự gia tăng độ phức tạp của ứng dụng khiquyết định sử dụng các bộ thư viện này.

1.3 Ngôn ngữ lập trình JAVA

1.3.1 Giới thiệu

Java là một công nghệ xây dựng cácứng dụng phần mềm có vị trí rất lớn trongnhững năm cuối thế kỉ 20, đầu thế kỉ 21

Nó được coi là công nghệ mang tính cáchmạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạythống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần

Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trongnội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các

bộ xử lý bên trong máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tửdân dụng khác Không chỉ là một ngôn ngữ, Java còn là một nền tảngphát triển và triển khai ứng dụng trong đó máy ảo Java

Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bảnJava Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí để các nhàphát triển có thể tải về, học Java, xây dựng các ứng dụng Java và triểnkhai chúng trên các hệ điều hành có hỗ trợ Java Ban đầu, Java chủ yếudùng để phát triển các Applet, các ứng dụng nhúng vào trình duyệt, gópphần làm sinh động các trang web tĩnh vốn hết sức tẻ nhạt hồi đó Tuynhiên, cùng với sự phát triển của công nghệ thông tin và nhu cầu của xãhội, Java Applet đã dần mất đi vị trí của nó và thay vào đó, các công ty,cộng đồng ủng hộ Java đã phát triển nó theo một hướng khác

1.3.2 Đặc trưng

6. Đơn giản

Trang 15

Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học vàquen thuộc với đa số người lập trình Do vậy Java loại bỏ các đặc trưngphức tạp của C và C++ như thao tác con trỏ, thao tác định nghĩa chồngtoán tử (operator overloading),… Java không sử dụng lệnh “goto” cũngnhư file header (.h) Cấu trúc “struct” và “union” cũng đượcloại bỏ khỏiJava.

7. Hướng đối tượng

Java được thiết kế xoay quanh mô hình hướng đối tượng Vì vậytrong Java, tiêu điểm là dữ liệu và các phương pháp thao tác lên dữ liệu

đó Dữ liệu và các phương pháp mô tả trạng thái và cách ứng xử của mộtđối tượng trong Java

8. Độc lập phần cứng và hệ điều hành

Đây là khả năng một chương trình được viết tại một máy nhưng cóthể chạy được bất kỳ đâu Chúng được thể hiện ở mức mã nguồnvà mứcnhị phân

Tính độc lập ở mức nhị phân, một chương trình đã biên dịch có thểchạy trên nhiều nền (phần cứng, hệ điều hành) khác mà không cần dịchlại mã nguồn Tuy vậy cần có phần mềm máy ảo Java (JVM) hoạt độngnhư một trình thông dịch tại máy thực thi

Môi trường phát triển của Java được chia làm hai phần: Trình biêndịch và trình thông dịch Không như C hay C++, trình biên dịch của Javachuyển mã nguồn thành dạng bytecode độc lập với phần cứng mà có thểchạy trên bất kỳ CPU nào

Nhưng để thực thi chương trình dưới dạng bytecode, tại mỗi máy cầnphải có trình thông dịch của Java hay còn gọi là máy ảo Java Máy ảoJava chuyển bytecode thành mã lệnh mà CPU thực thi được

Mạnh mẽ

Ngày đăng: 29/04/2016, 16:17

HÌNH ẢNH LIÊN QUAN

Hình 3.3 các mức xử phạt moto - Báo cáo chuyên đề Lập trình hỗ trợ học và kiểm tra kiến thức Luật Giao thông đường bộ trên Android
Hình 3.3 các mức xử phạt moto (Trang 28)

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