1. Trang chủ
  2. » Công Nghệ Thông Tin

Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android

91 503 2

Đ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 91
Dung lượng 3,32 MB

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

Nội dung

Tài liệu luận văn nghiên cứu và phát triển ứng dụng quảng cáo và mua bán sách trên nền Android.Giới thiệu về hệ điều hành android, SDK, ngôn ngữ lập trình java, các phương pháp tiến cận.Cấu trúc json, cơ chế truyền dữ liệu.Phân tích thiết kế hệ thông mua bán sách, mô hình ERD, mô hình DFD, ...Xây dựng ứng dụng mua bán sách trên nền android, hình ảnh minh họa.

Trang 1

KHOA LIÊN THÔNG VÀ LIÊN KẾT ĐÀO TẠO

LUẬN VĂN KỸ SƯ CÔNG NGHỆ THÔNG TIN

Trang 2

ngành học phù hợp với năng lực của mình và hạnh phúc hơn nữa là ra trường cầmtấm bằng tốt nghiệp xin được việc làm đúng với ngành mình học Đểthực hiện đượcđều đó thì trước tiên mỗi một người sinh viên đều trãi qua một quá trình học tập vàrèn luyện không thiếu phần gian nan và khó khăn, hơn thế trong suốt quá trình đóbản thân em cũng nhận được không ít sự giúp đỡ động viên rất nhiều từ gia đình,thầy cô và bạn bè Với lòng tri ân sâu sắc, em xin gửi đến các quý thầy cô khoaCông Nghệ Thông Tin, khoa Tại Chức Liên Thông và Liên Kết Đào Tạo củatrường Đại Học Cửu Long đã tận tụy truyền đạt kiến thức, hỗ trợ em trong suốt quátrình học tập, đồng cảm ơn tới gia đình và bạn bè là động lực, là chỗ dựa tin thầncho em hoàn thiện hơn con đường học tập của mình Đặt biệt em xin chân thànhbiết ơn thầy Viên Thanh Nhã là người đã tận tình hướng dẫn và giúp đỡ em trongsuốt thời gian hoàn thiện luận văn tốt nghiệp này.

Trong quá trình học tập và cuối cùng là khoảng thời gian hoàn thành luậnvăn tốt nghiệp, bản thân em cũng không tránh khỏi những sai lầm, thiếu sót do kiếnthức còn giới hạn và kinh nghiệm thực tiễn chưa có, nên rất mong được sự đồngthuận và đóng góp ý kiến của quý Thầy cô giúp em khắc phục những thiếu sót còntồn tại, để bản thân ngày một hoàn thiện hơn về kiến thức cũng như kinh nghiệm

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

Vĩnh Long, ngày tháng 05 năm 2014

Sinh viên thực hiện

Hà Hoài Nam

Trang 3

Vĩnh Long,ngày … tháng05 năm 201

Giáo viên hướng dẫn

Trang 4

Vĩnh Long, ngày … tháng 05 năm 201

Giáo viên phản biện

Trang 5

LỜI MỞ ĐẦU 1 Chương I: TỔNG QUAN 3

1.2 Mục tiêu và phạm vi đề tài 3

1.3.1 Phương pháp nghiên cứu 4

1.3.3 Các bước thực hiện đề tài 4

2.1 Khái niệm về Android6 2.1.1 Android khác với các hệ điều hành chạy trên thiết bị di động khác6

Trang 6

3.3.2 Các đặc trưng của Java 20

3.4.1 Hệ quản trị cơ sở dữ liệu MySQL23

3.4.2 Phần mềm XAMPP 24

3.5.2 Các định dạng của JSON 25 3.6 Cơ sở phân tích thiết kế hệ thống 28

4.1 Yêu cầu của hệ thống 29

4.6 Thiết kế cơ sở dữ liệu 48

4.6.2 Mô tả chi tiết bảng 49

Trang 7

4.7.3 Xóa một sách 56

4.7.5 Đặt mua sách 58 Chương V: THIẾT KẾ GIAO DIỆN 59

Trang 8

5.3.4 Giao diện quản lý user 76 5.3.5 Dialog đăng nhập quản trị 77 5.4 Giao diện quảng cáo 77

Trang 9

Hình 2.1:Kiến trúc Android 10

Hình 3.1:Kiến trúc Eclipse 12

Hình 3.2: Tạo một project mới 16

Hình 3.3: Cửa sổ AVD Manager 17

Hình 3.4: Cửa sổ Create new Android Virtual Device 18

Hình 3.4: Máy ảo Android Emulator 19

Hình 3.5:Ngôn ngữ lập trình Java 19

Hình 3.6: Json dạng object 25

Hình 3.7: Json dạng array 26

Hình 3.8: Json dạng value 26

Hình 3.9: Json dạng string 27

Hình 3.10: Json dạng number 27

Hình 4.1: Mô hình chức năng của ứng dụng 32

Hình 4.2: Sơ đồ tổng thể mức ngữ cảnh 33

Hình 4.3: Sơ đồ phân rã mức 1 34

Hình 4.4: Mô hình DFD cho phương thức đăng nhập khách hàng 35

Hình 4.5: Mô hình DFD cho phương thức tìm kiếm 36

Hình 4.6: Mô hình DFD cho phương thức đặt hàng 37

Hình 4.7: Mô hình DFD cho phương thức thêm sách 37

Hình 4.8: Mô hình DFD cho phương thức xóa sách 38

Hình 4.9: Mô hình ERD ở mức quan niệm 42

Hình 4.10: Mô hình ERD ở mức vật lý 43

Hình 4.11: Mối quan hệ ThuocTL 44

Hình 4.12: Mối quan hệ Viet 44

Hình 4.13: Mối quan hệ ThuocNXB 45

Trang 10

Hình 4.16: Mối quan hệ CuaKH 47

Hình 4.17: Mối quan hệ CuaDDH 48

Hình 4.18: Lưu đồ đăng nhập 54

Hình 4.19: Lưu đồ thêm sách mới 56

Hình 4.20: Lưu đồ xóa một sách 56

Hình 4.21: Lưu đồ tìm kiếm sách 57

Hình 4.22: Lưu đồ đặt mua sách 59

Hình 5.1: Giao diện chính của ứng dụng 60

Hình 5.2: Giao diện khách hàng trước và sau khi đăng nhập 61

Hình 5.3: Giao diện giỏ hàng 62

Hình 5.4: Hiện dialog thay đổi 62

Hình 5.5: Khách hàng nhập thông tin đặt mua sách 63

Hình 5.6: Xem hóa đơn 64

Hình 5.7: Cập nhật thông tin cá nhân 64

Hình 5.8: Đăng ký khách hàng 65

Hình 5.9: Hộp thoại đăng nhập 66

Hình 5.10: Hộp thoại đổi mật khẩu khách hàng 66

Hình 5.11: Giao diện cửa hàng 67

Hình 5.12: Giao diện chi tiết sách 68

Hình 5.13: Tìm kiếm sách theo từ khóa 68

Hình 5.14: Tìm kiếm sách theo nhà xuất bản 69

Hình 5.15: Chọn một nhà xuất bản 69

Hình 5.16: Tìm kiếm theo tác giả 70

Hình 5.17:Chọn một tác giả 70

Hình 5.18: Giao diện quản trị 71

Trang 11

Hình 5.21: Giao diện quản lý nhà xuất bản 73

Hình 5.22: Giao diện quản lý tác giả 74

Hình 5.23:Giao diện quản lý thể loại 74

Hình 5.24:Giao diện quản lý đơn đặt hàng 75

Hình 5.25:Giao diện quản lý khách hàng 75

Hình 5.26: Hộp thoại đổi mật khẩu người quản trị 76

Hình 5.27: Quản lý user 76

Hình 5.28: Hộp thoại đăng nhập quản trị 77

Hình 5.29: Giao diện quảng cáo 77

Trang 12

LỜI MỞ ĐẦU

Ngày nay, thiết bị di động trở thành một thành phần không thể thiếu đối vớithế giới Ngoài những tính năng nghe gọi, mobile còn ẩn chứa 1 thế giới tiềm ẩnthông qua lướt web Trong năm 2011 chúng ta chứng kiến sự bùng nổ của các thiết

kế web tương thích với điện thoại thông minh Với sự phát triển mạnh mẽ củaHTML5 và CSS3 giúp cho việc thiết kế rất linh hoạt Chúng ta thử dự đoán vài xuhướng thiết kế website trên mobile trong những năm tới là hết sức mạnh mẽ

Phần lớn các doanh nghiệp sẽ thiên về lựa chọn website phiên bản di động vìkhách có thể vào website của họ trên thiết bị điện thoại di động mà không cần càiđặt ứng dụng để vào website

Bản chất của việc dùng điện thoại là để kết nối, vì thế các trang web sử dụngtrên mobile đều tìm cách liên kết các mạng xã hội, kết nối Facebook, Linking,Following trên Twitter Các chủ doanh nghiệp không muốn bỏ lỡ cơ hội kết nối vớikhách hàng của họ hàng ngày, hàng giờ

Rất nhiều trang mobile website cung cấp một trang giới thiệu hoặc một trang

mở màn (opening page) chứa nhãn hiệu trên một hình nền lớn Đây là cách tốt đểthu hút sự quan tâm của người dùng, giúp họ nhớ về nhãn hiệu của trang web

Hiện nay hệ điều hành Android là một trong những phần mềm hệ thống dànhcho mobile đang rất được ưa chuộng và là tâm điểm của đa số các hãng sản xuấtsmart phone bởi tính uyển chuyển và được chú ý phát triển liên tục của nó, vớinhững phiên bản mới mẽ, giao diện ưa thích, thân thiện với người dùng, dự đoán nó

sẽ là đầu tàu cho cuộc cách mạng chạy đua về hệ điều hành smart phone trongtương lai

Nắm bắt được xu thế phát triển đó, cùng với nhu cầu chia sẽ thông tin quasách báo, tài liệu với mọi người là rất cần thiết, chúng em được sự hướng dẫn củathầy đã bắt tay vào việc tìm hiểu “xây dựng ứng dụng quảng cáo và mua bán sáchqua mạng trên nền Android” để thiết thực hoá nhu cầu mua bán sách vở, tài liệu củamọi người Hy vọng trong quá trình tìm hiểu và xây dựng chúng em sẽ đạt được

Trang 13

những kết quả nhất định, góp một phần nhỏ nào đó vào nền công nghệ ứng dụngmobile đang phát triển như vũ bão hiện nay

Trang 14

Chương I: TỔNG QUAN

1.1 Đặt vấn đề

Hoạt động mua bán trực tuyến đã trở nên khá phổ biến hiện nay, các websitethương mại xuất hiện càng nhiều nhằm đáng ứng nhu cầu mua sắm tại nhà củakhách hàng, tuy nhiên sẽ thật sự thuận tiện hơn khi hoạt động đặt mua và thanh toánđược thực hiện ngay tại trên chiếc smart phone của chúng ta, khá là dể dàng nếu cómột ứng dụng được cài đặt sẵn trên smart phone có thể truy cập và chọn mua sảnphẩm ưng ý với chúng ta mọi lúc, mọi nơi Xuất phát từ nhu cầu trên, việc tìm kiếmnhanh và đặt mua một quyển sách trong thời buổi thông tin và tri thức hiện nay làrất cần thiết, đã thúc đẩy em “XÂY DỰNG ỨNG DỤNG QUẢNG CÁO VÀ MUABÁN SÁCH QUA MẠNG TRÊN NỀN ANDROID” Ứng dụng với các chức năngtìm kiếm, trích lọc và đặt mua nhanh chóng giúp chúng ta có thể mua sách ngay khiđang sử dụng điện thoại Hệ điều hành Android được em lựa chọn để phát triển ứngdụng vì tính phổ biến và uyển chuyển của nó được ngày càng nhiều người sử dụng

sẽ hứa hẹn tương lai cho các ứng dụng tương tự phát triển

1.2 Mục tiêu và phạm vi đề tài

1.2.1 Mục tiêu

Xây dựng một hệ thống quảng cáo và mua bán sách qua mạng trên nềnAndroid chủ yếu là giới thiệu sách của cửa hàng với khách hàng Khách hàng có thểxem, tìm kiếm các thông tin về sách một cách trực quan và có thể đặt mua trực tiếpcác loại sách trên mạng mà không cần đến cửa hàng bán sách Sách của cửa hàngphải được phân loại theo chuẩn mực giúp khách hàng tiện việc tra cứu và tìm kiếm,phải có trang dành cho nhân viên nhập xuất, theo dõi đơn đặt hàng và lập hóa đơncho khách hàng

1.2.2 Phạm vi đề tài

- Về chức năng:

+ Ứng dụng đáp ứng nhu cầu xem, tìm kiếm, đặt mua sách của khách hàng.+ Quản trị dữ liệu ngay trên ứng dụng với các chức năng thêm, sửa, xóa dữliệu đối với người quản trị

Trang 15

1.3 Phương pháp nghiên cứu vấn đề

1.3.1 Phương pháp nghiên cứu

Dùng phương pháp hướng đối tượng để tiếp cận vấn đề rõ hơn, tạo khung nhìn tổng thể của vấn đề

1.3.2 Giải quyết vấn đề

Mô hình hóa các bộ phận

Phân tích ra mô hình tổng quát cho từng bộ phận

Thiết kế:

- Dùng MySQL và XAMPP 1.7.7 để thiết kế cơ sở dữ liệu

- Thiết kế giao diện bằng Bộ Android SDK và Photo Shop

- Ngôn ngữ lập trình: Java for android, PHP

- Công cụ báo cáo: MS Word 2007, MS Power Point 2007

1.3.3Các bước thực hiện đề tài

Trang 16

- Viết báo cáo.

 Giai đoạn 2:

Xây dựng ứng dụng với các chức năng hoàn chỉnh và viết báo cáo chính thức

Trang 17

Chương II: GIỚI THIỆU VỀ ANDROID

2.1 Khái niệm về Android

Android là nền tảng phần mềm dành cho các thiết bị di động và những phầnmềm trung gian (MiddleWare) phát triển trên nền mã nguồn mở Linux OS (Kernel2.6) Một cách định nghĩa không quá chuyên môn thì có thể coi Android là một nềntảng cho thiết bị di động của Google(gồm hệ điều hành, middleware và một số ứngdụng cơ bản) Android đang đương đầu với các hệ điều hành dành cho các thiết bị

di động khác như Windows Phone, Symbian, ISO, Black Berry, …

Nói một cách nôm na rằng Android là một hệ điều hành chạy trên thiết bị di động,giống như Windows, Linux hay Mac chạy trên máy tính

2.1.1 Android khác với các hệ điều hành chạy trên thiết bị di động khác

Android thu hút được chú ý của giới công nghệ toàn cầu khi là đứa con củaGoogle sử dụng giấy phép mã nguồn mở Đó là một sản phẩm kết tinh từ ý tưởngcủa Khối Liên Minh thiết bị cầm tay mở do Google dẫn đầu, gồm 34 thành viên vớicác công ty hàng đầu về công nghệ và di động toàn cầu như Qualcomm, Intel,Motorola, Texas Instruments và LG Electronics, các nhà bạn như T-mobile, SprintsNextel, NTT DoCoMo và China Mobile

Các nhà phát triển có thể sử dụng miễn phí bộ Kit Android Software Development

để xây dwungj các ứng dụng của mình

2.1.2 Đặt tính mở của Android

Android được xây dựng cho phép các nhà phát triển có thể tạo ra các ứngdụng hấp dẫn, tận dụng hết tất cả các tính năng của một chiếc điện thoại đã cungcấp Nó được xây dựng để thực sự mở Ví dụ, một ứng dụng có thể gọi bất kỳ chứcnăng lõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằngcách sử dụng máy ảnh, cho phép nhà phát triển có thể tạo ra nhiều ứng dụng phongphú hơn cho người dùng Android được xây dựng trên mã nguồn mở Linux Kernel,

nó sử dụng một máy ảo tùy chỉnh, được thiết kế tối ưu hóa bộ nhớ và tài nguyênphần cứng trong một môi trường di động

Trang 18

Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứngdụng của bên thứ ba Tất cả được xây dựng có thể truy cập bằng khả năng của mộtthiết bị di động cung cấp cho người sử dụng với một dãy rộng các ứng dụng và dịch

vụ Với các thiết bị xây dựng trênAndroid, người dùng có thể hoàn toàn thích ứngvới điện thoại đến lợi ích của họ Với Android, một nhà phát triển có thể xây dựngcho phép người dùng xem vị trí bạn bè của họ và được cảnh báo khi họ đang cótrong vùng phụ cận và cảnh báo cho họ một cơ hội để kết nối

Android cung cấp truy cập đến một loạt các công cụthưviện hữu ích và cóthể được sử dụng để xây dựng các ứng dụng phong phú Ví dụ, Android cho phépcác thiết bị giao tiếp với nhau tạo điều kiện cho đồng đẳng rich-to-peer trong ứngdụng xã hội Ngoài ra, Android bao gồm một tập hợp đầy đủ các công cụ đã đượcxây dựng công phu, với việc cung cấp nền tảng phát triển, với năng suất cao và cáinhìn sâu vào các ứng dụng

2.2 Kiến trúc Android

“Understanding Android” là cách mà ta tiếp cận lập trình Android và thấuhiểu kiến trúc hệ thống của nó Chúng ta có thể không cần hiểu rõ cấu trúc của một

Hệ điều hành nhưng chúng ta vẫn có thể lập trình một ứng dụng trên Hệ điều hành

đó, đây là điều mà nhà sản xuất muốn khi release SDK với một framework có sẵncủa họ Như chúng ta biết điều này cũng có mặt tốt và xấu Framework là một tầngcao cấp dành cho lập trình viên, nó đều có giới hạn của nó, chúng ta có thể chỉ cóthể lập trình những ứng dụng phổ biến nhưng không nên tiến tới những ứng dụngcao cấp đi sâu vào hệ thống của HDH Theo cách của mình, trước khi bắt đầu họcAndroid, chúng ta nên nghiên cứu qua bản thân HDH Android, chúng ta không cầnphải hiểu rõ nó như thể nào, mục đích quan trọng nhất của chúng ta là có cái nhìnchung và toàn diện nhất về Android

Trang 19

Native Libraries, Linux Kernel, Mỗi tầng làm việc đều nhờ sự giúp đỡ của tầngbên dưới

2.2.2 Tầng Linux Kernel

Đây là nhân của HDH Android, mọi xử lý của hệ thống đều phải thông quatầng này.Linux Kernel cung cấp các trình điều khiển thiết bị phần cứng (driver)như: camera, USB, Wifi, Bluetooth, Display, Power Management, …Android dựatrên Linux phiên bản 2.6 lựa chọn các tính năng cốt lõi như bảo mật, quản lý bộnhớ, quản lý tiến trình, mạng stack và các trình điều khiển phần cứng Kernel hoạtđộng như một lớp trừu tượng giữa phần cứng và phần mềm còn lại của hệ thống

 Surface Manager - quản lý việc hiển thị và kết hợp đồ họa 2D và 3D

 LibWebCore - Android dùng lại webkit engine cho việc render trình duyệtmặc định của HDH Android browser và cho dạng web nhúng (như HTMLnhúng)

Mỗi ứng dụng Android chạy trên một proccess riêng của Dalvik VM

(máy ảo) Dalvik được viết để chạy nhiều máy ảo cùng một lúc một cách hiệu quảtrên cùng một thiết bị

Trang 20

Máy ảo Dalvik thực thi các file mang định dạng dex (Dalvik Excutable),định dạng này là định dạng đã được tối ưu hóa để chỉ chiếm một vùng nhớ vừa đủxài và nhỏ nhất có thể VM chạy các class (đã được compile trước đó bởi 1trình biêndịch ngôn ngữ Java), sở dĩ VM chạy được các class này là nhờ chương trình DX

tool đã convert các class sang định dạng dex

2.2.5 TầngApplication Framework

Đây là tầng mà Google xây dựng cho các developer để phát triển các ứngdụng của họ trên Android, chỉ bằng cách gọi các API có sẵn mà Google đã viết để

sử dụng các tính năng của phần cứng mà không cần hiểu cấu trúc bên dưới

Bằng cách cung cấp một nền tảng phát triển mở, Android cho các nhà pháttriể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 thức, thêm các thông báo để các thanh trạng thái, vànhiều, nhiều hơn nữa

Tất cả các ứng dụng thường gồm một bộ các dịch vụ và hệ thống cơ bản sau:

 View UI dùng để xây dựng layout của ứng dụng bao gồm: list view, textfield, button, dialog, form

 Content Providers cho phép các ứng dụng có thể truy cập dữ liệu từ các ứngdụng khác (như ứng dụng của ta có thể lấy thông tin Contacts của điện thoạiAndroid), hoặc để chia sẻ dữ liệu của riêng ứng dụng

 Resource Manager cung cấp cách thức truy cập đến non-code resources nhưcác asset, graphic, image, music, video

 Notification Manager cho phép tất cả các ứng dụng hiển thị thông báo củamình trên HDH

 Activity Manager quản lý vòng đời của các ứng dụng

Ở góc nhìn của người dùng ta có thêm tầng application (là ứng dụng dochúng ta viết), sau đây là sơ đồ tổng quát:

Trang 21

Hình 2.1:Kiến trúc Android

Trang 22

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

3.1 Giới thiệu

Nội dung lý thuyết được sử dụng trong quá trình phát triển đề tài:

- Trong chương này sẽ giới thiệu các công cụ lập trình cho Android(Android Development Tools) Chúng ta sẽ dần làm quen với Eclipse vàAndroid Development Tool plug-in, thông qua Android SDK và công cụcủa nó, máy ảo Emulator(tạm dịch là trình giả lập giao diện của Androidtrên PC)

- Ngôn ngữ lập trình Java dùng để lập trình phía client, đặc trưng, ưunhược điểm của Java

- Tổng quan về hệ quản trị cơ sở dữ liệu mã nguồn mở MySQL và ứngdụng XAMPP cung cấp môi trường làm việc với MySQL

- Ngôn ngữ lập trình PHP dùng để lập trình phía server

- Lý thuyết về JSON trong giao tiếp dữ liệu Client và Server

- Phân tích và thiết kế hệ thống, phương pháp phân tích và thiết kế hệthống cho ứng dụng mua quảng cáo và mua bán sách qua mạng trên nềnAndroid

Trang 23

phần mềm khách dưới dạng Plug-in, bản thân JDT cũng có thể được coi như là mộtPlug-in làm cho Eclipse như là một Java IDE (IntegratedDevelopmentEnviroment)

Kiến trúc Eclipse

Hình 3.1:Kiến trúc Eclipse

- The Platform runtime :

Công việc chính của Platform runtime là phát xem plug-in nào đang cótrong thư mục plug-in của Eclipse Mỗi Plug-in đều có 1 tập tin Manifest liệt kênhững kết nối mà plug-in cần.Plug-in chỉ được tải vào Eclipse mỗi khi thực sự cầnthiết để giảm lượng tài nguyên yêu cầu và thời gian khởi tạo

- The workspace :

• Workspace chịu trách nhiệm quản lý tài nguyên người dùng được

tồ chức dưới dạng Project

Mỗi Project là một thư mục con trong thư mục Workspace

• Workspace bảo quản cấp thấp lịch sử những sự thay đổi tài nguyên,tránh thất thoát tài nguyên người dùng

• Workspace đồng thời chịu trách nhiệm thông báo những công cụ cấnthiết cho việc thay đổi tài nguyên

Trang 24

- The Workbench :

Workbench là giao diện đồ họa người dùng của Eclipse, gồm có StandardWidget Toolkit (SWT) và JFace Eclipse không hòan toàn bắt buộc phải sử dụngSWT hay Jface để lập trình giao diện, bạn vẫn có thể sử dụng AWT hay SWINGcủa Java thông qua việc cài đặt các Plug-ins

Android SDK, viết tắt của Android Software Development Kit, có thể gọi là

“công cụ phát triển phần mềm” mà cụ thể ở đây là phát triển ứng dụng cho Android

OS Đến đây thì chắc các chúng ta cũng đã hiểu đơn giản Google Adroid SDK là bộcông cụ được chính Google xây dựng và phát hành miễn phí đến giới Developer để

họ dễ dàng xây dựng và phát triển các ứng dụng chạy được trên Android OS

 Gói API toàn diện cho các dịch vụ nền tảng ví dụ như GPS

 Truy cập toàn bộ phần cứng điều khiển đa phương tiện như chơi nhạc,ghi âm hay sử dụng microphone và camera

 Chia sẻ dữ liệu trong kho dữ liệu

Trang 25

 Tích hợp trình duyệt dựa trên bộ WebKit (mã nguồn mở)

 P2P hổ trợ sử dung Google Talk

 Hỗ trợ tốt đồ họa 3D nhờ sử dụng OpenGL ES

Android SDK cần phải được cài đặt để xây dựng các ứng dụng Android.Android SDK bao gồm tài liệu tích hợp HTML_base lõi chính của Javadoc để thểhiện các gói và lớp trong Java

- Cài đặt và thiết lập môi trường

• Bước 1:Download Eclipse

Download Eclipse 3.5 tại địa chỉ http://www.eclipse.org/downloads/

Sau khi download về rồi giải nén là có thể dùng được Eclipse

• Bước 2 : Cài đặt ADT plug-in

Mở eclipse lên, bấm vào Help à Install new software

Click Local chỉ tới thư mục bạn lưu ADT Plugin ,và đặt tên cho nó.Click next cho tới khi cài đặt xong

• Bước 3 : Cài đặt Android SDK

Tải Android SDKtại địa chỉ

Bấm chọn Installed pakages

- Tạo một dự án Android

Từ Eclipse, chọn File > New > Project Một thư mục có tên là Android sẽ

có mặt trong hộp thoại nếu trình cắm thêm ADT cho Eclipse đã được cài đặt thành

Trang 26

công Mở rộng thư mục đó sẽ cung cấp tùy chọn cho một dự án Android mới Chọn nó và nhấn Next.

Eclipse sẽ nhắc điền các chi tiết sau đây vào trong một biểu mẫu:

Project name (Tên dự án)— Đây là tên của dự án của bạn và có thể là cái tên

nào đó như "HelloWorld" chẳng hạn

Application name (Tên ứng dụng)— Đây là tên sẽ xuất hiện ở khắp mọi nơi

trong thiết bị Android của bạn, cùng với các biểu tượng trong trình đơn, trong cácphím tắt và trên thanh tiêu đề khi bạn chạy ứng dụng của mình Đây cũng có thể làcái tên nào đó như là "Hello Android."

Package name (Tên gói)—com.example.helloandroid hoặc vùng tên riêng

của bạn Tên gói theo cùng các quy tắc như các tên gói trong ngôn ngữ Java

Create activity (Tạo hoạt động)— Ở đây, với mục đích minh họa, ta có thể

gọi nó là SaySomething (Nói gì đó) Đây là tên cho lớp sẽ được ADT (Các công cụphát triển Android) tạo ra Đây sẽ là một lớp con của lớp Activity của Android Mộthoạt động đơn giản là một lớp có thể chạy và thực hiện một số công việc Nó có thể

có một giao diện người dùng Một ứng dụng có thể chứa một hoặc nhiều hoạt động.Thông thường chúng có mối quan hệ 1:1 với các màn hình có trong một ứng dụng.Một ứng dụng di chuyển từ một hoạt động này sang một hoạt động khác bằng cáchgọi một phương thức có tên là startActivity() hay startSubActivity()

Min SDK version (Phiên bản SDK tối thiểu)— Điều này quy định mức API

tối thiểu theo yêu cầu của ứng dụng của bạn Phiên bản mới nhất là 7

Trang 27

Hình 3.2:Tạo một project mới

3.2.3 Máy ảo Android Emulator (AVD)

Android Emulator là trình giả lập thiết bị Android được tích hợp sẵntrong Android SDK khi chúng ta tải về Trình giả lập này hỗ trợ đầy đủ các tínhnăng cho phép chạy ứng dụng Android mà không cần thiết bị thật (ngoại trừ cácdịch vụ trả phí, OpenGL, )

Tạo một máy ảo Android Emulator:

Chạy AVD Manager.exe, tập tin này nằm trong thư mục android-sdk Màn

hình Android Virtual Device Manager xuất hiện:

Trang 28

Hình 3.3:Cửa sổ AVD Manager

Chúng ta cũng có thể khởi động AVD Manager từ Eclipse: menu AVD Manager

Window-Chọn nút New… để tạo một AVD mới Màn hình Create new Android

Virtual Device (AVD) xuất hiện

Trang 29

Hình 3.4:Cửa sổ Create new Android Virtual Device

+ AVD Name: Tên của AVD+ Device: Thiết bị AVD sẽ mô phỏng+ Target: Chỉ định version cho AVD+ CPU/ABI: Bộ vi xử lý giả lập cho AVD+ Skin: Chỉ định Skin, size của màn hình AVD sẽ phụ thuộc vào Skin được chọn

+ Front Camera, Back Camera: Camera giả lập+ Memory Options: Tùy chỉnh về bộ nhớ+ Internal Storage: Thiết lập bộ nhớ nội để lưu trữ + SD Card: Chỉ định size cho thẻ nhớ ngoài của AVD+ Emulation Options: Snapshot: Cho phép lưu lại trạng thái máy ảo khi thoát Use Host GPU: sử dụng GPU của máy tính để hổ trợ việc vẽ

Trang 30

Sau khi thiết lập xong, chúng ta sẽ quay trở lại màn hình Android Virtual Device Manager Trong màn hình này, chúng ta chọn Start… để khởi động AVD.

Hình 3.4:Máy ảo Android Emulator

3.3 Ngôn ngữ lập trình Java

3.3.1 Java là gì

Hình 3.5:Ngôn ngữ lập trình Java

Trang 31

Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng

6 năm 1995 Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp Java được xây dựng trên nền tảng của C và C++ Do vậy nó sử dụngcác cú pháp của C và các đặc trưng hướng đối tượng của C++

Java là ngôn ngữ lập trình hướng đối tượng, do vậy không thể dùng Java để viết một chương trình hướng chức năng Java có thể giải quyết hầu hết các công việc mà các ngôn ngữ khác có thể làm được

Java là ngôn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn được biên dịch bằng công cụ JAVAC để chuyển thành dạng ByteCode Sau đó được thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch Mục tiêu của các

nhà thiết kế Java là cho phép người lập trình viết chương trình một lần nhưng có thểchạy trên bất cứ phần cứng cụ thể

Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên

Internet Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành Nó không chỉ dùng để viết các ứng dụng chạy đơn lẻ hay trong mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại di động,PDA, …

3.3.2 Các đặc trưng của Java

Đơn giản: 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ưng phức tạpcủa C và C++ như thao tác con trỏ, thao tác định nghĩa chồng toán tử (operatoroverloading),… Java không sử dụng lệnh “goto” cũng như file header (.h) Cấu trúc

“struct” và “union” cũng đượcloại bỏ khỏi Java

Hướng đối tượng: Java được thiết kế xoay quanh mô hình hướng đối tượng.

Vì vậy trong 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ượngtrong Java

Trang 32

Độ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ức nhị 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ênnhiều nền (phần cứng, hệ điều hành) khác mà không cần dịch lại mã nguồn Tuyvậy cần có phần mềm máy ảo Java (JVM) hoạt động như một trình thông dịch tạimá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ên dịch vàtrình thông dịch Không như C hay C++, trình biên dịch của Java chuyển mã nguồnthà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ần phải cótrình thông dịch của Java hay còn gọi là máy ảo Java Máy ảo Java chuyển bytecodethành mã lệnh mà CPU thực thi được

Mạnh mẽ: Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu Phải khai báo

kiểu dữ liệu tường minh khi viết chương trình Java kiểm tra lúcbiên dịch và cảtrong thời gian thông dịch vì vậy Java loại bỏ một một số loạilỗi lập trình nhất định.Java không sử dụng con trỏ và các phép toán con trỏ Java kiểm tra tất cả các truynhập đến mảng, chuỗi khi thực thi để đảm bảo rằng các truy nhập đó không ra ngoàigiới hạn kích thước Java kiểm tra sự chuyển đổi kiểu dữ liệu từ dạng này sang dạngkhác lúc thực thi Cơ chế bẫy lỗi của Java giúp đơn giản hóa qúa trình xử lý lỗi vàhồi phục sau lỗi

Bảo mật: Viruses là nguyên nhân gây ra sự lo lắng trong việc sử dụng máy

tính Trước khi có Java, các lập trình viên phải quét virus các tệp trước khi tải vềhay thực hiện chúng Thông thường việc này cũng không loại trừ hoàn toàn virus.Ngoài ra chương trình khi thực thi có khả năng tìm kiếm và đọc các thông tin nhạycảm trên máy của người sử dụng mà người sử dụng không hề hay biết

Java cung cấp một môi trường quản lý thực thi chương trình Nó cho rằngkhông có một đoạn mã nào là an toàn cả Và vì vậy Java không chỉ là ngôn ngữ lập

Trang 33

trình thuần tuý mà còn cung cấp nhiều mức để kiểm soát tính an toàn khi thực thichương trình.

Ở mức đầu tiên, dữ liệu và các phương thức được đóng gói bên trong lớp.Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp Java không hỗtrợ con trỏ vì vậy không cho phép truy xuất bộ nhớ trực tiếp Nó cũng ngăn chặnkhông cho truy xuất thông tin bên ngoài kích thước của mảng bằng kỹ thuật tràn vàcũng cung cấp kỹ thuật dọn rác trong bộ nhớ Các đặc trưng này tạo cho Java antoàn tối đa và cókhả năng cơ động cao

Trong lớp thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, vàtuân theo các nguyên tắc của Java

Lớp thứ ba được đảm bảo bởi trình thông dịch Chúng kiểm tra xembytecode có đảm bảo các qui tắc an toàn trước khi thực thi

Lớp thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạmgiới hạn truy xuất trước khi nạp vào hệ thống

Phân tán: Java có thể dùng để xây dựng các ứng dụng có thể làm việc trên

nhiều phần cứng, hệ điều hành và giao diện đồ họa Java được thiết kế hỗ trợ chocác ứng dụng chạy trên mạng Vì vậy chúng được sử dụng rộng rãi như là công cụphát triển trên Internet, nơi sử dụng nhiều nền tảng khác nhau

Đa luồng: Chương trình Java đa luồng(Multithreading) để thực thi các công

việc đồng thời Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng Đặc tính hỗtrợ đa này này cho phép xây dựng các ứng dụng trên mạngchạy hiệu quả

Động :Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi

trường mở Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát

và truy nhập đối tượng lúc chạỵ Điều nàycho phép khả năng liên kết động mã

Trang 34

3.4Hệ quản trị cở sở dữ liệu MySQL và XAMPP

3.4.1 Hệ quản trị cơ sở dữ liệu MySQL

Giới thiệu:

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong nhómLAMP (Linux – Apache -MySQL – PHP) đối lập với Microsoft (Windows, IIS,SQL Server, ASP/ASP.NET), vì MySQL được tích hợp sử dụng chung với apache,PHP nên nó phổ biến nhất thế giới Vì MySQL ổn định và dễ sử dụng(đối với tui thì

ko chắc.), có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệthống lớn các hàm tiện ích rất mạnh(vì được nhiều người hỗ trợ mã nguồn mở mà)

và Mysql cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQLchính vì thế nên MySQL được sử dụng và hỗ trợ của những lập trình viên yêu thích

mã nguồn mở

Nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp nhưSQL Server Vì vậy MySQLchỉ đáp ứng việc truy xuất đơn giản trong quá trình vậnhành của website, thích hợp cho các ứng dụng có truy cập CSDL trên internet và cóthể giải quyết hầu hết các bài toán trong PHP, Perl MySQL miễn phí hoàn toàn chonên bạn có thể tải về MySQL từ trang chủ

Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32cho các hệ điều hành dòng Windows,Linux, Mac OSX, Unix, FreeBSD, NetBSD,Novell NetWare, SGI Irix, Solaris, SunOS, …

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệuquan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

Trang 35

một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đếnCSDL.

 Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mậtkhẩu của tài khỏan có quyền sử dụng CSDL đó Nếu không, chúng ta sẽkhông làm được gì cả giống như quyền chứng thực người dung trongSQL Server vậy

3.4.2 Phần mềm XAMPP

XampplàchươngtrìnhtạomáychủWeb(WebServer)đượctíchhợp

sẵnApache,PHP,MySQL,FTPServer,Mail Servervàcác công cụnhưphpMyAdmin.KhôngnhưAppserv,Xamppcóchươngtrìnhquảnlýkhátiệnlợi,chophép chủđộngbậttắthoặckhởiđộnglạicácdịchvụmáychủbấtkỳlúc nào

Trang 36

mà hoàn toàn độc lập với các ngôn ngữ hoàn chỉnh, thuộc họ hàng với các ngôn ngữ

họ hàng C, gồm có C, C++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữkhác Những đặc tính đó đã tạo nên JSON 1 ngôn ngữ hoán vị dữ liệu lý tưởng

JSON được xây dựng trên 2 cấu trúc:

 Là tập hợp của các cặp tên và giá trị name-value Trong những ngôn

ngữ khác nhau, đây được nhận thấy như là 1 đối tượng (object), sự ghi

(record), cấu trúc (struct), từ điển (dictionary), bảng băm (hash table), danhsách khoá (keyed list), hay mảng liên hợp

 Là 1 tập hợp các giá trị đã được sắp xếp Trong hầu hết các ngôn ngữ,thì được nhận thấy như là 1 mảng, véc tơ, tập hợp hay là 1 dãy sequence.Đây là 1 cấu trúc dữ liệu phổ dụng Hầu như tất cả các ngôn ngữ lập trìnhhiện đại đều hổ trợ chúng trong 1 hình thức nào đó Chúng tạo nên ý nghĩa của 1định dạng hoán vị dữ liệu với các ngôn ngữ lập trình cũng đã được cơ sở hoá trêncấu trúc này

3.5.2 Các định dạng của JSON

Object:

Một đối tượng là 1 hỗn độn của các cặp tên và giá trị 1 đối tượng bắt đầu bởidấu ngoặc đơn trái { và kết thúc với dấu ngoặc đơn phải } Từng tên được theo sao bởi dấu 2 chấm : và các cặp tên/giá trị được tách ra bởi dấu phẩy “,”

Hình 3.6:Json dạng object

Trang 37

Array:

Một mảng là 1 tập hợp các giá trị đã được sắp xếp 1 mảng bắt đầu bởi dấu

mở ngoặc vuông [ và kết thúc với dấu ngoặc vuông phải ] Các giá trị được cách nhau bởi dấu phẩy “,”

Trang 38

được hiển thị như là 1 chuỗi ký tự đơn độc 1 chuỗi string rất giống như là chuỗistring C hay là Java.

Trang 39

3.6 Cơ sở phân tích thiết kế hệ thống

Phương pháp phân tích thiết kế hướng cấu trúc (SATD-Structured

Analysis and Design Technique):

Ý tưởng cở bản là phân rã hệ thống lớn thành hệ thống con đơn giảnSADT được xây dựng dựa trên 7 nguyên lý:

- Sử dụng một mô hình

- Phân tích kiểu Top-down

- Dùng một mô hình chức năng và một mô hình quan niệm (còn được gọi

là “mô hình thiết kế”) để mô tả hệ thống

- Thể hiện tính đối ngẫu của hệ thống

- Sử dụng các biểu diễn dưới dạng đồ họa

- Phối hợp các hoạt động của nhóm

- Ưu tiên tuyệt đối cho hồ sơ viết

Công cụ để phân tích:

- Sử dụng sơ đồ chức năng công việc BFD (Business Function Diagram)

và lưu đồ luồng dữ liệu DFD (Data Flow Diagram)

- Ngôn ngữ có cấu trúc SL (Structured Language)

- Từ điển dữ liệu (Data Dictionary)

- Bảng và cây quyết định (Warnier/orr)

- Đặc tả các tiến trình (Process Specification)

Phương pháp phân tích thiết kế SADT có ưu điểm là dựa vào nguyên

lý phân tích có cấu trúc, thiết kế theo lối phân cấp, bảo đảm từ một dữ liệu vào sảnxuất nhiều dữ liệu ra Nhược điểm này là không bao gồm toàn bộ các tiến trình phân tích do đó có thể đưa đến tình trạng trùng lặp thông tin

Trang 40

Chương IV: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

4.1 Yêu cầu của hệ thống

4.1.1 Yêu cầu về phần cứng và phần mềm

- Một máy tính làm server.

- Máy ảo Android Emulator hoặc Smart phone chạy Android 2.2 trở lên.

- Hệ điều hành Windows 7 hoặc Windows 8.

- Hệ quản trị cơ sở dữ liệu MySQL.

- Chương trình tạo máy chủ web (Web server) XAMPP.

- Bộ công cụ lập trình Eclipse và Android SDK.

- Photo shop CS3.

4.1.2 Yêu cầu về ứng dụng

Ứng dụng chia làm 2 phần:

- Phần dành cho khách hàng đặt và mua hàng

- Phần dành cho người quảng trị

4.1.3 Yêu cầu về chức năng

* Chức năng của khách hàng:

- Khách hàng có thể vào cửa hàng để xem sách, tìm kiếm một quyển sách

theo từ khóa, theo nhà xuất bản hoặc tác giả

- Saukhi tìm kiếmkhách hàng có thể xem thông tin chi tiết của quyển sách.

- Khách hàng có thể cho vào giỏ hàng quyển sách đã chọn.

- Để thực hiện việc đăt và mua sách, khách hàng cần có một tài khoản để

thực hiện việc đăng nhập quyền khách hàng hoặc có thể đăng ký một tài khoản mới

- Sau khi đăng nhập thành công khách hàng có thể đặt và mua sách thông qua ứng dụng

- Khách hàng có thể xem thông tin các đơn đặt hàng đã mua, chỉnh sửa thôngtin cá nhân và thay đổi mật khẩu

Ngày đăng: 22/06/2016, 08:54

HÌNH ẢNH LIÊN QUAN

Hình 3.2: Tạo một project mới - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 3.2 Tạo một project mới (Trang 23)
Hình 4.7:Mô hình DFD cho phương thức thêm sách - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 4.7 Mô hình DFD cho phương thức thêm sách (Trang 43)
Hình 4.9:Mô hình ERD ở mức quan niệm - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 4.9 Mô hình ERD ở mức quan niệm (Trang 46)
Hình 4.10: Mô hình ERD ở mức vật lý - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 4.10 Mô hình ERD ở mức vật lý (Trang 47)
Hình 4.11:Mối quan hệ ThuocTL - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 4.11 Mối quan hệ ThuocTL (Trang 48)
Hình 4.13:Mối quan hệ ThuocNXB - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 4.13 Mối quan hệ ThuocNXB (Trang 49)
Hình 5.6: Xem hóa đơn - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.6 Xem hóa đơn (Trang 66)
Hình 5.8:Đăng ký khách hàng - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.8 Đăng ký khách hàng (Trang 67)
Hình 5.11:Giao diện cửa hàng - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.11 Giao diện cửa hàng (Trang 69)
Hình 5.14: Tìm kiếm sách theo nhà xuất bản - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.14 Tìm kiếm sách theo nhà xuất bản (Trang 71)
Hình 5.17:Chọn một tác giả - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.17 Chọn một tác giả (Trang 72)
Hình 5.19: Giao diện quản lý - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.19 Giao diện quản lý (Trang 74)
Hình 5.23:Giao diện quản lý thể loại - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.23 Giao diện quản lý thể loại (Trang 76)
Hình 5.26:Hộp thoại đổi mật khẩu người quản trị - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.26 Hộp thoại đổi mật khẩu người quản trị (Trang 77)
Hình 5.29: Giao diện quảng cáo - Luận Văn Ứng Dụng Mua Bán Sách Qua Mạng Trên Nền Android
Hình 5.29 Giao diện quảng cáo (Trang 79)

TỪ KHÓA LIÊN QUAN

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

w