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

BAO CAO LUAN VAN TOT NGHIEP

60 574 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 60
Dung lượng 6,17 MB

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

Nội dung

Các Activity sử dụng các View tạo thành giao diện đồ họa tương tác ngườidùng để thể hiện thông tin và phản hồi hành động của người dùng.. Một ứng dụng không nhất thiết phải gồm tất cả

Trang 1

MỤC LỤC

LỜI CẢM ƠN

Đầu tiên cho phép chúng em được gửi lời cảm ơn chân thành và sâu sắc nhất đếnquý thầy cô giáo khoa Công Nghệ Thông Tin, đặc biệt là quý thầy cô chuyên ngànhCông nghệ phần mêm đã tận tình chỉ dạy và quan tâm trong suốt quá trình học tập vàrèn luyện tại trường

Con gửi tất cả lòng biết ơn chân thành và sự kính trọng của con đến cha mẹ vàgia đình, những người đã sinh thành, dưỡng dục chúng con tự tin đi trên bước chân củachính mình cho đến ngày hôm nay, cha mẹ luôn bên cạnh và là chỗ dựa vững chắc chocon vượt qua mỗi khi chúng con gặp khó khăn trong cuộc đời

Trang 2

Em trân trọng biết ơn thầy … đã tận tình hướng dẫn, chỉ bảo, góp ý kiến về mặtchuyên môn định hướng và giúp đỡ em trước những khó khăn trở ngạitrong đồ ántrong suốt quá trình thực hiện đề tài tốt nghiệpnhờ đó mà em mới có thể hoàn thành tốt

đồ án trong thời gian cho phép Những buổi gặp trao đổi những kiến thức cũng nhưnhững bài học cuộc sống hàng tuần sẽ là những ký ức không bao giờ quên trong mỗibước đi về phía trước của em

Xin chân thành cảm ơn đến những người bạn, những người mà luôn bên cạnhđộng viên, chia sẻ vui buồn và khó khăn với tôi suốt thời gian qua

Trong quá trình thực hiện đồ án có gì sai sót, kính mong nhận được sự góp ý,chia sẽ và tận tình chỉ bảo của quý thầy cô Một lần nữa em xin được gửi lời cảm ơnđến tất cả mọi người

LỜI CAM ĐOAN

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy ….

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

Trang 3

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên

NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN

Trang 4

DANH SÁCH HÌNH VẼ

Trang 7

cầunhanh tiện lợi dễ dàng giao dịch Việc giới thiệu và bán sản phẩm trên các websitegần như phổ biến với tất cả mọi người cùng với sự việc kinh doanh trực tuyến trênwebsite thì cùng sự phát triển của công nghệ di động đã bùng nổ trong vài năm qua tạođiều kiện để việc kinh doanh trực tuyến trên di động phát triển mạnh mẽ theo Cácthiết bị cầm tay đã trở nên mạnh mẽ và rất phổ biến Trong vài năm trở lại đây, hệ điềuhành Android ra đời và trở thành nền tảng điện thoại thông minh phổ biến nhất thếgiới, với sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp củanhiều công nghệ tiên tiến nhất hiện nay Những ưu điểm dễ thấy nhất của Androidchính là khả năng tùy biến nhanh chóng, dễ làm quen, ứng dụng hỗ trợ phong phú,tương thích với đa cấu hình phần cứng của các nhà sản xuất Dù đã hay chưa từng sửdụng smartphone Android thì bạn cũng không cần quá lo lắng về việc thay đổi Hầunhư tất cả những smartphone sử dụng hệ điều hành Android đều rất dễ sử dụng, đơngiản trong tùy biến theo sở thích cá nhân, cũng như có rất nhiều ứng dụng để thỏa mãnnhu cầu của từng người dùng Đồng thời Android có mã nguồn mở đã cho phép cácnhà phát triển thiết bị, mạng di động và các lập trình viên được điều chỉnh và phânphối Android một cách tự do.

Bởi vậy trước nhu cầu và lợi thế đó, em quyết định nghiên cứu và xây dựng ứng

dụng: Xâydựng ứng dụng bán hàng điện tử trên thiết bị di động chạy nền tảng Android.

Quảng bá được hình ảnh, thông tin các mặt hàng đến khách hàng và khách hàng

có thể giao dịch mua hàng nhanh chóng, phản hồi ý kiến với quản trị

3. ĐỐI TƯỢNG NGUYÊN CỨU

Toàn bộ công tác quản lý bán hàng, giải pháp công nghệ bao gồm: dịch vụ cơ sở

dữ liệu parse đám mây dành cho android, phân tích thiết kế hệ thống, ngôn ngữ lậptrình java và công nghệ, nền tảng ngôn ngữ lập trình của hệ điều hành android

4. TIẾN ĐỘ THỰC HIỆN ĐỀ TÀI

Từ 09/2/2015 đến Gặp cán bộ hướng dẫn tốt nghiệp, nêu đề cương chi tiết và nhận đề

Trang 8

02/03/2015 tài được duyệt.

24/05/2015 Hoàn thành các yêu cầu còn lại để duyệt đồ án

Bảng 1- Tiến độ thực hiện đề tài tốt nghiệp

Cơ sở lý thuyết sẽ trình bài về lý thuyết của hệ điều hành android và giới thiệu cơ

sở dữ liệu parse

Lý thuyết các kỹ thuật cơ bản của android:

- Kiến trúc và thiết kế của hệ điều hành android

- Thành phần cơ bản của ứng dụng android

- Thành phần giao diện cơ bản của ứng dụng android

1.1. TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID

1.1.1. Kiến trúc và thiết kế của HĐH Android

Trang 9

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ànhandroid

Hình 1-Thành phần của hệ điều hành android

1.1.1.1. 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.1.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áttriể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ụngbở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à ứngdụ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 đượcthự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 thaythế 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 10

- 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 ứngdụng khác (chẳng hạn nhu 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 customalerts trong status bar

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

1.1.1.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ềuthànhphần khác nhau trong hệ thống Android Ðiều này được thể hiện thông qua nềntả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 implementation of the standard C system library

(libc), tuned for embedded Linux-based devices (Thư viện C chuẩn,được tối ưu chocác thiết bị Linux-based)

Media Libraries:based on PacketVideo's OpenCORE; the libraries support playback

and recording of many popular audio and video formats, as well as static image files,including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

Surface Manager:Quản lý việc truy xuất vào hệ thống hiển thị

LibWebCore: a modern web browser engine which powers both the Androidbrowser

and an embeddable web view

SGL: the underlying 2D graphics engine.

3D libraries: an implementation based on OpenGL ES 1.0 APIs; the librariesuse

either hardware 3D acceleration (where available) or the included, highly optimized3D software rasterizer

OpenGL: Thư viện dùng để tạo ra các đồ họa 3D dựa vào chuẩn OpenGLES 1.0 API FreeType: Hỗ trợ xử lý bitmap và font vector.

GGL: Thư viện cơ bản, dùng để cung cấp các engine đồ họa 2D.

SQLite Engine: Cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lưu trữ dữ liệu của ứng dụng SSL: Hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer trong bảo mật truyền

thông Internet

Android cung cấp một số các APIs cho phát triển ứng dụng Danh sách các API

cơ bản sau được cung cấp bởi tất cả các thiết bị trên nền Android:

android.util: Gói tiện ích cơ bản bao gồm nhiều lớp mức thấp như là các lớp quản lý

(List, Stack…) lớp xử lý chuỗi, lớp xử lý XML

Trang 11

android.graphics: Cung cấp các lớp đồ họa mức thấp thực hiện các chức năng đồ

họa, màu, vẽ cơ bản

android.database: Cung cấp các lớp mức thấp bắt buộc cho việc điều khiển cursor

khi làm việc với các cơ sở dữ liệu

android.content: Các giao tiếp lập trình nội dung được dùng để quản lý truy cập dữ

liệu và xuất bản bằng cách cung cấp các dịch vụ thao tác với tài nguyên, ContentProvider, và các gói

android.view: View là lớp giao diện người dùng cơ bản nhất Tất cả giao diện người

dùng được tạo ra đều phải sử dụng một tập các View để cung cấp cho các thành phầntương tác người dùng

android.widget: Xây dựng dựa trên gói View Những lớp widget những thành phần

giao diện được tạo sẵn được sử dụng để tạo nên giao diện người dùng Các widgetbao gồm danh sách, nút bấm, hộp nhập, các kiểu trình bày (layout)

com.google.android.maps: Bộ API mức cao cung cấp truy cập đến điều khiển bản đồ

sẵn trong Android từ ứng dụng được xây dựng Bao gồm cả lớp MapView cũng nhưOverlay và MapController để tương tác với bản đồ bên trong ứng dụng

android.provider: Để tạo thuận lợi cho người phát triển truy cập đến các Content

Provider tiêu chuẩn (như là dữ liệu danh bạ), gói cung cấp (Provider) bao gồm cáclớp cho phép truy cập đến cơ sở dữ liệu chuẩn trong tất cả các bản phân phốiAndroid

android.telephony: Các API điện đàm cung cấp khả năng tương tác trực tiếp với tầng

điện thoại trong các thiết bị, cho phép tạo, nhận, theo dõi các cuộc gọi, tình trạng cáccuộc gọi và tin nhắn SMS

android.webkit: Gói WebKit cung cấp các API để làm việc với các nội dung

Web-based bao gồm một lơp WebView để tạo ra giao diện web, nhúng trong ứng dụng vàmột trình quản lý cookie

Ngoài các thư viện chuẩn của Android, để đáp ứng tiêu chí phù hợp với nhiềuthiết bị khác nhau, Android còn có thể có các API phụ thuộc thiết bị nhưandroid.location, android.media, android.opengl, android.hardware,android.bluetooth, android.net.wifi, và android.telephony

1.1.1.4. Android Runtime

Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java cóthể hoạt động Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tínhthường Thứ nhất là các thư viện lỗi (Core Library), chứa các lớp như JAVA IO,Collections, File Access Thứ hai là một máy ảo java(Dalvik Virtual Machine)

Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điềuhành Android không được chạy bằng JRE(Java Runtime Enviroment) của Sun (nay làOracle)(JVM) mà là chạy bằng máy ảo Dalvik (máy ảo dalvik được đặt tên sau khi

Trang 12

một nhà phát triển phần mềm của Google tạo ra nó sau khi đi thăm một ngôi làng ởnơi tổ tiên ông sinh sống) do Google phát triển, máy ảo davik thực thi cái tập tindavik(dex), khác với java là chuyển sang dạng bytecode Định dạng này được tối ưuhóa cho bộ nhớ tối thiểu, 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.1.5. Linux kernel

Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security,memory management, process management, network stack, and driver model KernelLinux hoạt động như một lớp trừu tuợng hóa giữa phần cứng và phần còn lại củaphần mềm stack

Các thành phần của nhân Linux:

- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận những

điều khiển của người dùng lên màn hình ( di chuyển, cảm ứng…)

- Camera Driver : điều khiển hoạt động của camera, nhận luồng dữ liệu từ camera

về

- Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth.

- USB Driver : Điều khiển bàn phím.

- Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi.

- Audio Driver : Điều khiển các bộ thu phí phát âm thanh, giải mã các tính hiệu

dạng audio thành tín hiệu số và ngược lại

- Power Management : Giám sát việc tiêu thụ điện năng.

- M-system Driver : Quản lý việc đọc ghi… lên các thiết bị nhớ như thẻ SD, flash.

- Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô

tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thôngđược thực hiện

1.1.2. Máy ảo Dalvik và Android SDK

1.1.2.1. Máy ảo Dalvik

Dalvik là máy ảo để thực hiện các ứng dụng phần lớn viết bằng java trênandroid dưới dịnh dạng là tập tin (.dex) Về cơ bản có thể nhận thấy máy ảo Dalvik

có phần giống với máy ảo java trên desktop , tuy nhiên có phần khác là khi ta viết cácứng dụng trên java thì mã nguồn sẽ được chuyển thành mã bytecode Tại đây , mộtcông cũ có sẵn trên android là dx sẽ chuyển dạng mã bytecode này thành dạng tập tin.dex ( viết tắt là Dalvik excutable ) và được thực thi trên máy ảo Dalvik để chạy cácứng dụng android

Trang 13

Hình 2 -Cơ chế hoạt động của máy ảo Dalvik và java

Các ứng dụng Android và các thành phần cơ bản hầu hết được viết bằng Java.Thay vì sử dụng máy ảo Java, Android sử dụng máy ảo riêng Máy ảo của Androidđược thiết kế và tối ưu cho các hệ thống nhỏ, không tương thích với máy ảo Java củaJava ME Những hệ thống nhỏ này có dung lượng RAM nhỏ, CPU chậm và hầu hếtkhông có chỗ để tráo đổi dữ liệu bù đắp cho dung lượng bộ nhớ nhỏ.Đây là điểmkhác biệt giữa Android với các hệ điều hành cho di động khác như Symbian, iOS củaApple, webOS của Palm Ngôn ngữ lập trình được sử dụng chính là C, C++ vàobjective C, trong khi với webOS sử dụng chủ yếu ngôn ngữ web như Javascript hayHTML

Trình biên dịch byte code là máy ảo Dalvik Thay vì sử dụng dạng byte codethông thường, Dalvik có định dạng riêng để phù hợp với yêu cầu đối với thiết bị choAndroid Mã của Android nhỏ hơn so với mã của Java và file dex được tạo ra cũngnhỏ

1.1.2.2. Android SDK

Android SDK là bộ công cụ phát triển phần mềm cho phép lập trình viên tạo racác ứng dụng cho các thiết bị sử dụng nền tảng Android Android SDK bao gồm nềntảng Android, các công cụ, chương trình mẫu và các tài liệu hỗ trợ Nó cũng là thànhphần bổ sung trong bộ phát triển Java và có thể tích hợp vào Eclipse

Android chứa các gói hỗ trợ các chức năng tính toán cơ bản như quản lí xâu, quản lívào ra, tính toán từ các gói cơ bản trong Java:

- Java.lang – lớp ngôn ngữ cơ bản của java

- Java.io – quản lí vào ra

- Java.net – quản lí kết nối mạng

- Java.text – tiện ích xử lí văn bản

- Java.math – hỗ trợ tính toán

- Java.sercurity – quản lí các thành phần bảo mật

- Java.xml – các lớp về XML

Trang 14

- org.apache – các lớp liên quan HTTP.

Ngoài ra Android có các lớp riêng như:

- android.app – truy cập mô hình ứng dụng Android

- android bluetooth – chức năng bluetooth của Android

- android.content - quản lí dữ liệu trong Android

- android.net – chứa các lớp Uri dùng để truy cập dữ liệu

- android.graphics – các thành phần đồ hoạ

- android location – các dịch vụ liên quan đến vị trí (ví dụ như GPS)

- android.opengl – các lớp OpenGL

- android.view – chứa các thành phần giao diện

- android.webkit – chức năng của trình duyệt web

- android.widget – các thành phần giao diện khác

Ở đây chúng ta xem xét lập trình Android với Eclipse vì Eclipse cung cấp phong phúcác thành phần hỗ trợ biên soạn java và môi trường debug mà còn có thể quản lí vàđiều khiển các yếu tố khác của ứng dụng Android trực tiếp từ Eclipse IDE

Hình 3- Môi trường phát triển ứng dụng Android trong Eclipse

1.1.2.3. Android Emulator

Android SDK cung cấp một bộ giả lập thiết bị di động ảo Máy ảo này cho phépchúng ta phát triển và kiểm tra các ứng dụng mà không cần một thiết bị Android thật.Máy ảo Android có đầy đủ các thành phần từ phần cứng đến phần mềm giống nhưmột thiết bị thật ngoại trừ nó không thể thực hiện được một cuộc gọi Máy ảoAndroid cho phép sử dụng chuột để định hướng hay bàn phím để tạo các sự kiện.Người dùng có thể cài đặt để kiểm thử phần mềm trên máy ảo với từng phiên bảnkhác nhau của Android Khi ứng dụng được cài đặt nó có thể sử dụng các ứng dụng

đã được cung cấp trong Android như nghe nhạc, xem video hay vào mạng Máy ảocũng có khả năng debug, truy cập vào đầu ra của nhân, giả lập các ngắt như khi nhân

Trang 15

cuộc gọi hay tin nhắn thậm chí là các ảnh hượng độ trễ của mạng và ngắt trên kênhtruyền dữ liệu.

Hình 4- Android Emulator

1.2. THÀNH PHẦN CỦA ỨNG DỤNG ANDROID

Ứng dụng Android bao gồm nhiều thành phần liên kết với nhau được giới hạntrong kiến trúc ứng dụng Kiến trúc ứng dụng mô tả chi tiết mỗi thành phần và sựtương tác giữa các thành phần này cũng như siêu dữ liệu về yêu cầu phần cứng

Các thành phần sau đây tạo nên một ứng dụng Android:

1.2.1. Activity

Là lớp thể hiện ứng dụng Mỗi màn hình trong ứng dụng là một mở rộng của lớpActivity Các Activity sử dụng các View tạo thành giao diện đồ họa tương tác ngườidùng để thể hiện thông tin và phản hồi hành động của người dùng

Một ứng dụng không nhất thiết phải gồm tất cả các thành phần trên nhưng để cómột giao diện với người dùng thì ít nhất ứng dụng đó phải có một Activity Mã đãđược biên dịch của các thành phần của ứng dụng, tài nguyên liên quan như thư viện,hình ảnh và các dữ liệu cần thiết khác được đóng gói trong một file apk duy nhất chính

là dạng file thực thi của ứng dụng Android.Activity là thành phần quan trọng nhất vàđóng vai trò chính trong việc xây dựng ứng dụng Android Hệ điều hành Android quản

lí ứng dụng dưới dạng stack : khi một Activity mới được khởi tạo, nó được xếp lên đầustack và trở thành running activity, các Actitivy trước đó sẽ bị tạm dừng vả chỉ hoạtđộng trở lại khi Activity mới được giải phóng

Activity có 4 trạng thái:

- Active (running): Activity đang hiển thị trên màn hình (foreground).

- Pause: Activity vẫn hiển thị (visible) nhưng không thể tương tác VD: một

activity mới xuất hiện hiển thị giao diện đè lên trên activity cũ, nhưng giao diệnnày vẫn nhỏ hơn giao diện activity cũ Do đó ta vẫn thấy được một phần giaodiện của activity cũ nhưng không tương tác được với nó

- Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop.

Trang 16

- Killed: Khi hệ thống thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc

ưu tiên ở trên Các Activity ở trạng thái stop hoặc paused cũng có thể bị giảiphóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàntoàn và phục hồi trạng thái trước đó

Tuỳ từng sự kiện mà các phương thức được gọi để đảm bảo trạng thái cácActivity được hoạt động đúng Chi tiết từng phương thức và sự kiện thay đổi trạng tháitương ứng:

Vòng đời của một Activity

Hình 5 - Mô hình hoạt động của Activity

- onCreate(): Phương thức này khởi tạo Activity Nó có thể bỏ qua trạng thái cũ để

trở lại hoạt động Phương thức tiếp theo luôn là onStart()

- onRestart(): Được gọi sau khi một Activity dừng và muốn bắt đầu lại.

- onStart(): Được gọi khi ứng dụng chuyển sang visible nhưng chưa tương tác

được với người dùng

- onResume(): Activity có tương tác với người sử dụng và có thể nhận thông tin

đầu vào Kiểu tiến trình của ứng dụng được chuyển sang dạng hiển thị(foreground)

- onPause(): Nếu ứng dụng không còn tương tác hay thiết bị không hoạt động,

phương thức này được gọi và kiểu tiến trình ứng dụng sẽ được chuyển sang dạng

Trang 17

visible Sau khi thực hiện phương thức này, hệ thống cho phép giải phóng ứngdụng bất cứ lúc nào Các thao tác sử dụng CPU và dữ liệu đều được lưu lại.Activity sẽ có thể được hoạt động trở lại hoặc dừng lại.

- onStop(): Khi Activity không còn tương tác nữa thì kiểu tiến trình được chuyển

sang chạy nền (background) và ứng dụng có thể bị giải phóng bất cứ lúc nào bởi

hệ thống để lấy lại bộ nhớ Activity sẽ bị giải phóng hoặc khởi động lại

- onDestroy(): Phương thức cuối cùng này được hệ thống gọi trước khi giải phóng

ứng dụng hay ứng dụng loại bỏ Activity Tiến trình của ứng dụng có thể chuyểnsang kiểu rỗng nếu hệ thống muốn giữ lại ứng dụng để tiếp tục lại ứng dụng cholần sau

1.2.2. Service

Là thành phần chạy ẩn, cập nhật nguồn dữ liệu và thể hiện các Activity, kích hoạtcác Notification, làm những công việc không cần tới giao diện như chơi nhạc,download, xử lí tính toán… Các Service thường thực hiện các xử lí thông thường nhưtiếp tục Activity sau khi các Activity này không hoạt động hoặc hiển thị.Service là 1trong 4 thành phần chính trong 1 ứng dụng Android (Activity, Service,BroadcastReceiver, ContentProvider)

1.2.3. Content Provider

Là thành phần lưu trữ dữ liệu chia sẻ Content Provider quản lí và chia sẻ cơ sở

dữ liệu của ứng dụng Chúng được coi như là phương tiện chia sẻ dữ liệu giữa các ứngdụng

1.2.4. Intent

Là cấu trúc truyền thông điệp giữa các ứng dụng Chúng ta có thể sử dụng Intentđể truyền một thông tin tới toàn hệ thống hay tới Activity hay Service định trước đểthực thi một hoạt động Hệ thống sau đó sẽ xác định đối tượng nào sẽ thực hiện cáchoạt động phù hợp

Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiều Activity, mỗiActivity hoạt động độc lập với nhau và thực hiện những công việc khác nhau Intentchính là người đưa thư, giúp các Activity có thể triệu gọi cũng như truyền các dữ liệucần thiết tới một Activity khác

Hình 6 - Truyền dữ liệu giữa 2 Activity

Dữ liệu của Intent:

Trang 18

Intent về cơ bản là một cấu trúc dữ liệu, được mô tả trong lớp android.content.Intent Các thuộc tính của một đối tượng Intent:

Các Action được định nghĩa sẵn:

Dưới dây là những hằng String đã được định nghĩa sẵn trong lớp Intent Ði kèm với nó

là các Activity hay Application được xây dựng sẵn sẽ được triệu gọi mỗi khi Intenttuong ứng được gửi (tất nhiên khi duợc cung cấp dúng data) VD: Gọi tới một số diệnthoại:

Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:123456")); startActivity(dialIntent);

1.2.5. Broadcast Receiver

Là nơi nhận các Intent Chúng ta có thể tự tạo một Broadcast Receiver để ứngdụng có thể nhận được các Intent phù hợp với bộ lọc đặt trước Broadcast Receiver tựđộng bắt đầu khi ứng dụng phản hồi với Intent nhận được và biến ứng dụng trở thànhhướng sự kiện một cách hoàn hảo

1.2.6. Widget

Thành phần trực quan của ứng dụng có thể thêm vào màn hình chính Là mộtdạng Broadcast Receiver, Widget cho phép người dùng tạo ra các ứng dụng động,tương tác được nhúng ngay trên màn hình chính

1.2.7. Notification

Là thành phần thông báo cho người dùng Hộp thoại thông báo cho người dùng

mà không gián đoạn các Activity hiện thời Đây là kĩ thuật thông báo cho người dùngnăm trong một Service hay một Broadcast Receiver Ví dụ như khi nhận được một tinnhắn hay cuộc gọi đến có thể thông báo cho người dùng bằng nhấp nháy đèn hay bằng

Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị trí,background, kích thước, lề,… Tất cả những thuộc tính chung này được thể hiện hết ởtrong đối tượng View Trong Android Platform, các screen luôn được bố trí theo mộtkiểu cấu trúc phân cấp như hình dưới Một screen là một tập hợp các Layout và cácwidget được bố trí có thứ tự Ðể thể hiện một screen thì trong hàm onCreate của mỗiActivity cần phải được gọi một hàm là setContentView(R.layout.main); hàm này sẽload giao diện từ file XML lên để phân tích thành mã bytecode

Trang 19

Hình 7- Cấu trúc một giao diện ứng dụng Android

1.3.2. ViewGroup

ViewGroup thực ra chính là View hay nói đúng hơn thì ViewGroup chính là cácwidget Layout được dùng để bố trí các đối tuợng khác trong một screen Có một sốloại ViewGroup như sau:

LinearLayout

LinearLayout được dùng để bố trí các thành phần giao diện theo chiều nganghoặc chiều dọc nhưng trên một line duy nhất mà không có xuống dòng.LinearLayout làm cho các thành phần trong nó không bị phụ thuộc vào kích thuớccủa màn hình Các thành phần trong LinearLayout duợc dàn theo những tỷ lệ cânxứng dựa vào các ràng buộc giữa các thành phần

Hình 8- Bố trí các widget sử dụng LinearLayout

FrameLayout

FrameLayout được dùng để bố trí các đối tuợng theo kiểu giống như là cácLayer trong Photoshop Những đối tượng nào thuộc Layer bên dưới thì sẽ bị chekhuất bởi các đối tượng thuộc Layer nằm trên FrameLayer thường được sử dụngkhi muốn tạo ra các đối tuợng có khung hình bên ngoài chẳng hạn như contactimage button

Trang 20

Hình 9- Bố trí các widget trong FrameLayout

AbsoluteLayout

Layout này được sử dụng để bố trí các widget vào một vị trí bất kì tronglayout dựa vào 2 thuộc tính toạ dộ x, y Tuy nhiên, kiểu layout này rất ít khi duợcdùng bởi vì toạ dộ của các dối tuợng luôn cố định và sẽ không tự diều chỉnh được tỷ

lệ khoảng cách giữa các đối tượng Khi chuyển ứng dụng sang một màn hình cókích thước với màn hình thiết kế ban đầu thì vị trí của các đối tượng sẽ không cònđược chính xác như ban dầu

RetaliveLayout

Layout này cho phép bố trí các widget theo một trục đối xứng ngang hoặc 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ớimột widget hoặc so với layout parent Dựa vào những mối ràng buộc đó màRetaliveLayout cũng không phụ thuộc vào kích thuớc của screen thiết bị Ngoài ra,

nó còn có ưu điểm là giúp tiết kiệm layout sử dụng nhằm mục đích giảm lượng tàinguyên sử dụng khi load đồng thời đẩy nhanh quá trình xử lý

Hình 10- Bố trí widget trong RetaliveLayout

TableLayout

Trang 21

Layout này được sử dụng khi cần thiết kế một table chứa dữ liệu hoặc cần bốtrí các widget theo các row và column Chẳng hạn như, giao diện của một chiếcmáy tính đơn giản hoặc một danh sách dữ liệu

1.3.3. ListView

Ðược sử dụng để thể hiện một danh sách các thông tin theo từng cell Mỗi cellthông thường được load lên từ một file XML dã được cố định trên đó số lượng thôngtin và loại thông tin cần được thể hiện Ðể thể hiện được một list thông tin lên mộtscreen thì cần phải có 3 yếu tố chính:

Data Source: Data Source có thể là một ArrayList, HashMap hoặc bất kỳ một

cấu trúc dữ liệu kiểu danh sách nào

Adapter: Adapter là một class trung gian giúp ánh xạ dữ liệu trong Data Source

vào dúng vị trí hiển thị trong ListView Chẳng hạn, trong Data Source có một truờngname và trong ListView cung có một TextView dể thể hiện truờng name này Tuynhiên, ListView sẽ không thể hiển thị dữ liệu trong Data Source lên duợc nếu nhuAdapter không gán dữ liệu vào cho dối tuợng hiển thị

ListView là dối tuợng dể hiển thị các thông tin trong Data Source ra một cách trựcquan và nguời dùng có thể thao tác trực tiếp trên dó

1.5. DỊCH VỤ ĐÁM MÂY CỦA PARSE DÀNH CHO ANDROID

Bộ công cụ cho nhà phát triển phần mềm di động của Parse (Parse mobile SDK)cung cấp các API và các dịch vụ đám mây dành cho các ứng dụng iOS, Android vàWindows® Parse SDK còn cung cấp một JavaScript và các API REST Khi sử dụngParse API, bạn có thể chạy các ứng dụng di động của mình trên đám mây một cáchnhanh chóng và hao tốn ít hiệu năng Một ứng dụng di động được tích hợp với ParseAPI có thể dễ dàng lưu trữ các đối tượng và các tệp dữ liệu trên Parse cloud, gửi vàlắng nghe các tin nhắn push (ND.: tin nhắn push (push notification) cho phép một ứngdụng thông báo cho bạn các tin nhắn hoặc sự kiện mới mà không cần phải mở ứng

Trang 22

dụng ra), quản lý người dùng, xử lý dữ liệu vị trí địa lý và sử dụng các nền tảng truyềnthông xã hội như Twitter và Facebook Đối với các ứng dụng di động cần mở rộng quy

mô, Parse SDK cung cấp tất cả tính co giãn của một nền tảng đám mây

ParseObjectbiểu diễn một đối tượng dữ liệu trên đám mây Parse Nó cung cấpcác phương thức để thêm các cặp tên-giá trị, kiểm tra xem một khóa cụ thể đã có mặtchưa và xóa hoặc tìm nạp một ParseObject cụ thể của máy chủ ParseObjectcũng chophép bạn sử dụng các phương thức get…()và put…() khác nhau để xử lý dữ liệuParseObject, sáp nhập các ParseObject, lưu một ParseObjecttrong máy chủ và nhiềuhơn nữa

Bảng điều khiển Parse

Bảng điều khiển Parse hỗ trợ các nhà phát triển trong việc quản lý các ứng dụng.Bảng điều khiển cung cấp các số liệu thống kê về cách sử dụng chung và cách sử dụngứng dụng-đặc trưng cho các API, các tệp và các tin nhắn push Các khóa và các giá trịthiết lập ứng dụng được quản lý thông qua bảng điều khiển Bảng điều khiển này cũngcung cấp một trình duyệt dữ liệu để cho phép các nhà phát triển duyệt và thậm chíchỉnh sửa các đối tượng Parse đã lưu Trình duyệt dữ liệu rất có ích cho việc gỡ lỗi

Các ứng dụng được xác thực thông qua một Application ID (mã định danh ứng dụng)

và một Client ID (mã định danh khách hàng) Để có được các ID ứng dụng và IDkhách hàng của mình, bạn phải đăng ký ứng dụng của mình qua bảng điều khiển Parse.Bạn sẽ sử dụng các khóa này khi khởi tạo thư viện Parse trên ứng dụng của mình

Parse API là rất toàn diện và bao gồm các lớp để truy cập dịch vụ di động chẳnghạn như tin nhắn push, sử dụng dữ liệu địa lý, kết hợp với các nền tảng truyền thông

xã hội và nhiều hơn nữa Trong bài này, tôi đã xem xét sơ bộ về những gì bạn có thểlàm với Parse bằng cách giới thiệu các Parse API để lưu trữ trên đám mây dữ liệu vàtệp Việc biết cách lưu trữ và xử lý những người dùng, các đối tượng dữ liệu, các tệp

và các ACL của Parse trong đám mây Parse là nền tảng tốt để tiếp tục khám phá nềntảng đám mây này cho việc phát triển di động

1.6. TỔNG KẾT CHƯƠNG 1

Cơ sở lý thuyết android ta đã trình bày các phần lý thuyết chính android dựa vàonội dung của các thành phần như kiến trúc hệ điều hành android ta có thể hiểu đượchoạt động của android như thế nào Thông qua thành phần ứng dụng android và sơlược những giao diện chính của android giúp ta tạo một cơ sở nền tảng để có thể xâydựng nên một ứng dụng hoàn thiện

Trang 23

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Phân tích thiết kế hệ thống sẽ trình bày về các thành phần, chức năngvà quy trìnhhoạt động của ứng dụng:

- Xác định các tác nhân, đặc tả hệ thống, mô tả hoạt động

- Mô tả các mô hình hệ thống thông qua các biểu đồ: ca sử dụng, tuần tự, hoạtđộng, biểu đồ lớp và mô hình cơ sở dữ liệu hệ thống

1.1. ĐẶC TẢ CHỨC NĂNG

Người sử dụng hệ thống

- Quản trị viên ứng dụng

- Khách hàng

Trang 24

Hệ thống chức năng :Yêu cầu chức năng của hệ thống

- Quản lý mua hàng trực tuyến

- Quản lý phản hồi từ khách hàng

- Quản lý các sản phẩm trên cửa hàng

- Quản lý thông tin giao hàng

- Quản lý thông tin khách hàng

- Quản lý doanh thu thống kê định kỳ hàng tháng và năm

1.1.1. Mua hàng trực tuyến

Chức năng mua hàng trực tuyến cho phép khách hàng mua hàng trực tuyến cácsản phẩm có trên cửa hàng CellphoneS nhanh chóng tiện lợi thông qua dịch vụ thanhtoán VTCPay, để có thể thanh toán qua VTCPay khách hàng có 3 hình thức thanh toán

là ví điện tử VTCPay, tài khoản ngân hàng BIDV và OCEANBANK

1.1.3. Quản lý sản phẩm

Chức năng này giúp quản trị quản lý hiệu quả các sản phẩm trên cửa hàngCellphoneS để sử dụng chức năng này thì quản trị phải đăng nhập vào hệ thống quảntrị để đảm bảo khách hàng không thể truy n

ập vào hệ thống quản lý cửa hàng để thay đổi cơ sở dữ liệu cửa hàng

Quản lý sản phẩm cho phép quản trị có thể thay đổi thông tin các sản phẩm trêncửa hàng, sản phẩm có thể cập nhật hoặc xóa hoăc quản trị có thể đưa ra các sảnphẩm khuyến mãi giả giá…Giúp quản trị có thể giám sát số lượng sản phẩm đã đượcbán và số còn lại trong cửa hàng

1.1.4. Quản lý giao hàng

Chức năng quản lý giao hàng hỗ trợ quản trị theo dõi việc mua hàng của kháchhàng trên cửa hàng và cung cấp thông tin sản phẩm khách hàng mua và thông tinkhách hàng mua để tiện lợi cho việc giao hàng cho khách hàng

1.1.5. Quản lý thông tin khách hàng

Việc quản lý thông tin khách hàng rất quan trọng dựa vào thông tin này màquản trị có thể giám sát thông tin khách hàng để có thể biết các địa chỉ khách hàng đểgiao hàng và trao đổi thông tin với khách hàng

Khách hàng cũng có thể quản lý thông tin cá nhân của mình, việc cập nhậtthông tin của các nhân khách hàng phải đăng nhập tài khoản vào mục trò chuyện đểthay đổi thông tin cá nhân

1.1.6. Quản lý doanh thu

Trang 25

Quản lý doanh thu thống kê doanh thu cửa hàng CellphoneS, khi khách hànggiao dịch mua hàng thành công thì thông tin sản phẩm được mua và giá cả sản phẩm

sẽ được thêm vào quản lý doanh thu giúp cho quản trị biết được doanh thu của cửahàng chính xác Việc thống kê doanh thu được quản lý theo năm và tháng

1.2. ĐẶC TẢ HỆ THỐNG

1.2.1. Biểu đồ ca sử dụng

1.2.1.1. Xác định tác nhân: đóng vai trò một người sử dụng hoặc một thực thể bên

ngoài tương tác với hệ thống

- Tác nhân: khách hàng, người bán(quản trị), hệ thống VTCPay

- Điều kiện trước: Khách hàng đã đăng nhập thành công tài khoản và nhập đủthông tin quy định để giao dịch mua hàng

- Điều kiện sau: Các mặt hàng đã được xác nhận thanh toán thành công quaVTCPay

- Mô tả: Một khách hàng sau khi đã xác định mặt hàng cần mua thì click muahàng để thanh toán qua VTCPay, hệ thống VTCPay có nhiệm vụ xác nhận thanhtoán thành công không và gởi kết quả về cho phiên giao dịch nếu thành công thìngười bán sẽ giao hàng cho người mua theo địa chỉ ghi nhận Sau khi VTCPayxác nhận người bán đã giao hàng thì sẽ chuyển tiền cho người bán

 Ca sử dụng đăng nhập tài khoản user

- Tác nhân: khách hàng

- Điều kiện trước: đã đăng kí tài khoản và nhập đúng tài khoản mật khẩu khiđăng nhập

Trang 26

- Điều kiện sau: ghi nhận thông tin cá nhân của khách hàng được thay đổi hoặc

sử dụng chức năng phản hồi, mua hàng

- Mô tả: Nếu chưa có tài khoản khách hàng phải đăng kí tài khoản sau đó nhập đủ

và đúng thông tin tài khoản để sử dụng các chức năng mua hàng, phản hồi vớingười bán hoặc thay đổi thông tin cá nhân

 Ca sử dụng phản hồi ý kiến

- Tác nhân: Khách hàng, quản trị(người bán)

- Điều kiện trước: đã đăng nhập tài khoản cá nhân

- Điều kiện sau: khách hàng hoặc quản trị xem các phản hồi và đã gởi thành côngphản hồi ý kiến

- Mô tả: Khi có thông báo nhận được tin nhắn phản hồi thì khách hàng hoặc quảntrị vào chức năng trò chuyện để xem thông tin phản hồi và gởi phản hồi đi

 Ca sử dụng quản lý khách hàng

- Tác nhân: Người quản trị

- Điều kiện trước: quản trị đã đăng nhập vào hệ thống quản lý ứng dụng

- Điều kiện sau: đã cập nhập thành công thông tin khách hàng

- Mô tả: khách hàng đăng nhập hệ thống quản lý ứng dụng và vào chức năngquản lý khách hàng cập nhập thành công thông tin khách hàng

 Ca sử dụng quản lý sản phẩm

- Tác nhân: Người quản trị

- Điều kiện trước: quản trị đã đăng nhập vào hệ thống quản lý ứng dụng

- Điều kiện sau: đã xem và cập nhập thành công thông tin sản phẩm trên cửahàng cellphoneS

- Mô tả: quản trị sau khi đã đăng nhập vào quản lý cửa hàng và chọn chức năngquản lý sản phẩm Quản trị xem thông tin sản phẩm trên cellphoneS chọn chứcnăng thay đổi các thông số về sản phẩm: giá cả, khuyến mãi, thông số kĩ thuật,bảo hàng, số lượng… và cập nhật thay đổi thành công sản phẩm

 Ca sử dụng quản lý giao hàng

- Tác nhân: Người quản trị

- Điều kiện trước: quản trị đã đăng nhập vào hệ thống quản lý ứng dụng

- Điều kiện sau: đã cập nhật thành công trạng thái giao hàng (đã giao hàng – chưagiao hàng)

- Mô tả: quản trị đăng nhập thành công hệ thống quản lý chọn quản lý giao hàng.Xem thông tin những đơn chưa giao hàng để thực hiện giao hàng và khi giaohàng thành công xác nhận thay đổi đã giao hàng

 Ca sử dụng thống kê doanh thu

- Tác nhân: Người quản trị

- Điều kiện trước: quản trị đã đăng nhập vào hệ thống quản lý ứng dụng

- Mô tả: Quản trị đăng nhập thành công quản lý hệ thống xem thông tin doanhthu của cửa hàng cellphoneS

 Ca sử dụng gửi xác nhận giao dịch

- Tác nhân: Hệ thống thanh toán VTCPay, khách hàng

Trang 27

- Điều kiện trước: hệ thống thanh toán VTCPay được yêu cầu thanh toán từkhách hàng

- Điều kiện sau: kết quả thanh toán trả về

- Mô tả: Sau khi khách hàng thực hiện thanh toán theo hình thức được chọnVTCPay xác nhận thông tin theo hình thức thanh toán của khách hàng và kiểmtra tài khoản thanh toán có đủ điều kiện để giao dịch thành công không sau đógởi kết quả thanh toán về để xác nhận thanh toán thành công hoặc thất bại

Trang 28

Hình 11 -Biểu đồ ca sử dụng của hệ thống

Trang 29

 Mô hình usercase thể hiệnchức năng quản lý sản phẩm của quản trị hệ thống

Hình 12- Biểu đồ ca sử dụng quản lý sản phẩm

1.2.2. Biểu đồ tuần tự

1.2.2.1. Biểu đồ tuần tự đăng nhập tài khoản người dùng

Hình 13- Biểu đồ tuần tự đăng nhập tài khoản

Trang 30

Bước 1: Khách hàng chọn đăng nhập tài khoản để hiển thị Form đăng nhập

Bước 2: Điền thông tin tài khoản sau đó thông tin được lớp LoginUser thực hiệnxác thực

Bước 3: Thông tin xác thực được truy xuất với CSDL để đối chiếu

Bước 4,5, 6: Kết quả xác thực trả về hiện lên Form đăng nhập cho khách hàng

1.2.2.2. Biểu đồ tuần tự tạo tài khoản người dùng

Hình 14- Biểu đồ tuần tự tạo mới tài khoản

Bước 1: Khách hàng chọn tạo tài khoản khách hàng để hiển thị Form đăng kíBước 2: Điền thông tin tài khoản sau đó thông tin được lớp CreateAccoutUserthực hiện kiểm tra thông tin đăng kí có đúng cú pháp không

Bước 3: Thông tin đăng kí tài khoản được truy xuất và lưu vào CSDL

Bước 4,5: Kết quả đăng kí thành công hay thất bại hiện lên Form đăng nhập chokhách hàng

1.2.2.3. Biểu đồ tuần tự mua hàng

Ngày đăng: 07/05/2018, 08:33

TỪ KHÓA LIÊN QUAN

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

w