Tải bản đầy đủ (.pdf) (51 trang)

Xây dựng ứng dụng bán hàng online với android và web service PDF

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.89 MB, 51 trang )

(Khi tải tài liệu vui lòng liên hệ hoặc sdt: 01672528345 để
nhận được full demo + power poind + bản word + biểu đồ … cảm ơn! )

Giới thiệu demo ứng dụng :

1


2


3


4


5


6


7


8


9



10


11


Lời Mở Đầu
Công nghệ thông tin đang và sẽ phủ sóng rộng khắp các khu vực trên thế giới,
điều này cho thấy hệ thống internet đang không ngừng phát triển. Mạng internet đang
trở thành mạng truyền thông có sức ảnh hưởng lớn nhất và không thể thiếu trong tất cả
các hoạt động của con người khi việc truyền tải thông tin ngày càng dễ dàng hơn cho
người sử dụng bằng việc kết nối internet. Để tìm dữ liệu về một vấn đề người dùng đang
12


quan tâm, họ chỉ cần đánh ra những từ khóa có liên quan và ngay lập tức hệ thống truy
vấn dữ liệu được hoạt động và đưa ra thông tin đa dạng bằng tài liệu, hình ảnh, âm
thanh,…
Thứ nhất, Theo báo cáo thương mại điên tử năm 2017 xu hướng kinh doanh năm
2017 có thể tóm go ̣n trong 2 ý nổ i bâ ̣t đó là Bán hàng đa kênh và ứng du ̣ng công nghê ̣
vào kinh doanh.
Doanh số thương mại điện tử bán lẻ B2C của Việt Nam năm 2016 ước đạt 5 tỷ
USD, tăng hơn gấp đôi từ 2,2 tỷ USD năm 2013, tăng kỷ lục so với mức doanh thu năm
2012 chỉ chưa đầy 1 tỷ USD. Với doanh thu 5 tỷ USD, đã chiếm trên 3% tổng mức bán
lẻ và doanh thu dịch vụ tiêu dùng cả nước năm 2016. Sự phát triển của Internet, sự thâm
nhập của trào lưu mua sắm trực tuyến cũng như mức chi tiêu ngày càng tăng của người
tiêu dùng chính là lý do giúp doanh thu ngành bán lẻ trực tuyến tại Việt Nam tăng trong
những năm qua.
Thứ hai, Trong 5 năm tới, thị trường thương mại điện tử B2C Việt Nam được dự

báo sẽ đạt mức tăng trưởng 2 con số. Hiệp hội Thương mại Điện tử Việt Nam khẳng
định, bán lẻ trực tuyến sẽ tiếp tục gia tăng trong thời gian tới, bởi các doanh nghiệp bán
lẻ nước ngoài cũng như các doanh nghiệp trong nước giờ đây đều hướng đến mô hình
bán lẻ đa kênh, với khoản đầu tư không nhỏ vào kênh bán lẻ trực tuyến. Ngoài ra, Chính
phủ cũng đã phê duyệt Chương trình phát triển thương mại điện tử (TMĐT) quốc gia
giai đoạn 2014-2020. Bà Đinh Thị Mỹ Loan, Chủ tịch Hiệp hội Các nhà bán lẻ Việt
Nam cho biết, bán lẻ qua thương mại điện tử sẽ còn chứng kiến sự tăng trưởng ngoạn
mục trong những năm tới, khi mà tỷ lệ người sử dụng điện thoại thông minh tăng lên.
Điện thoại thông minh sẽ đóng vai trò lớn hơn trong việc quyết định mua sắm theo kiểu
“nhấp chuột và thu nhận hàng hóa”.
Theo sự khảo sát của hãng nghiên cứu thị trường EuroMonitor, số lượng người sử
dụng Internet ở Việt Nam đang tăng nhanh, chỉ trong vòng năm năm (2011-2015) đã
tăng từ 28 triệu lên 43 triệu người. Đây sẽ là điều kiện quan trọng để ngành thương mại
điện tử phát triển trong thời gian tới. Nếu xét theo tỷ trọng so với thương mại truyền
thống (bán hàng qua siêu thị, cửa hàng bán lẻ, chợ…) thì thương mại điện tử chỉ mới
13


đạt 0,25%, giá trị hàng hóa vào khoảng 154 triệu đô la Mỹ. Theo EuroMonitor, tỷ trọng
này sẽ thay đổi và tăng mạnh lên gấp ba lần (khoảng 0,71%) trong năm nay với 900
triệu đô la.
Thứ ba, Việc phát triển ứng dụng “” để đáp ứng nhu cầu “nhấp chuột và nhận
hàng” của đông đảo người dân trong thời đại công nghệ thông tin bùng nổ đang làm
biến đổi bộ mặt của nền kinh tế Việt Nam cũng như nâng cao chất lượng cuộc sống của
con người trong các hoạt động kinh doanh, sản xuất, và đời sống sinh hoạt.
Cuộc sống càng phát triển thì nhu cầu hưởng thụ cũng nâng cao, chính vì vậy
những ứng dụng mua bán trên smartphone thực sự vô cùng cần thiết. Đối với con người
hiện đại, “thời gian là vàng” thay vì việc họ phải đến các shop, cửa hàng, siêu thị mua
đồ thì việc nhấn nút chuột và thanh toán qua thẻ tín dụng hoặc thanh toán khi nhận hàng
sẽ tiết kiệm được rất nhiều thời gian.

Chính vì những lí do trên, em đã thực hiện đề tài: “Xây dựng ứng dụng mua sắm
online” trên android nhằm phục vụ việc mua sắm của mọi người trở lên dễ dàng. Góp
một chút sức mình vào sự phát triển hệ thống thương mại điện từ của Việt Nam hiện
nay.

 Mục Tiêu:
Việc xây dựng ứng dụng: Bán hàng online nhằm giúp người tiêu dùng tiết
kiệm được thời gian đi mua sắm trực tiếp, chọn lựa được các mặt hàng một
cách đa dạng hơn. Mặt khác, đây cũng là đất để các nhà kinh doanh có cơ hội
phát triển, quảng bá sản phẩm một cách nhanh chóng, tốn ít thời gian và giảm
những chi phí. Do vậy giá cả của sản phẩm cũng được giảm xuống nhiều hơn.
Đây là mục đích chính của người mua, tìm được đồ mà mình muốn với giá
rẻ và chất lượng đảm bảo.
 Phạm vi phát triển ứng dụng:
Đối với nhà kinh doanh:
-

Cập nhật thông tin sản phẩm: hình ảnh chi tiết, giá thành, đặc điểm công
dụng…của sản phẩm.

14


-

Nhập danh sách hàng mới.

Đối với khách hàng:
-


Tìm kiếm thông tin sản phẩm.

-

Đăng kí thông tin khách hàng.

-

Đăng nhập.

-

Thực hiện mua hàng qua mạng.

-

Đóng góp ý kiến đối với người phát triển ứng dụng và các nhà kinh doanh
đang sử dụng ứng dụng.

-

Tạo giỏ hàng.

-

Thực hiện thanh toán.

CHƯƠNG I
CƠ SỞ LÝ THUYẾT


1.1.

Giới thiệu khái quoát về hệ điều hành Android:
1.1.1. Hê ̣ điều hành Android”

15


Android là một hệ điều hành di động dựa trên nền tảng Linux phiên bản 2.6 dành
cho các dòng điện thoại SmartPhone. Đầu tiên được ra đời bởi công ty liên hợp Android,
sau đó được Google mua lại và phát triển từ năm 2005 và trở thành một hệ điều hành di
động mã nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng cao trên thế giới.
Hệ điều hành Android một hệ điều hành rất mạnh, có bảo mật cao, hỗ trợ được
nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi, NFC.. tương thích với nhiều phần
cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và trackball. Android là hệ
điều hành di động nên có khả năng kết nối cao với các mạng không dây. Hỗ trợ công
nghệ OpenGL nên có khả năng chơi các phương tiện media, hoạt hình cũng như trình
diễn các khả năng đồ họa khác cực tốt, là tiền đề để phát triển các ứng dụng có giao
diện phức tạp chẳng hạn như là các trò chơi.
Android được phát triển bởi tập đoàn Google, phiên bản đầu tiên ra đời năm 2008.
Được xây dựng trên một nền tảng mở, và một bộ thư viện đa năng, mạnh mẽ với nguyên
lý mở, Android đã nhanh chóng được cộng đồng lập trình viên di động hưởng ứng mạnh
mẽ. Nền tảng được tích hợp nhiều tính năng nổi bật:
- Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác với các phần
cứng, quản lý bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động.
- Bộ ứng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ.
- Máy ảo Dalvik được tối ưu cho các thiết bị di động, chạy các ứng dụng lập trình
trên ngôn ngữ Java.
- Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite, WebKit,
OpenGL và trình quản lý đa phương tiện.

- Hỗ trợ các chuẩn đa phương tiện phổ biến, thoại trên nền GSM, Bluetooth EDGE,
3G và Wifi
- Hỗ trợ Camera, GPS, la bàn, máy đo gia tốc…
- Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích
hợp với Eclipse SDK, Android Studio.
1.1.2. Vòng đời của một ứng dụng Android
Các hoạt động trong hệ thống được quản lý bởi một cấu trúc dữ liệu ngăn xếp. Khi
có một hoạt động được khởi tạo, nó được đẩy vào trong ngăn xếp, chuyển sang trạng
16


thái thực thi và hoạt trộng trước đó sẽ chuyển sang trạng thái chờ. Hoạt động này chỉ
trở lại trang thái kích hoạt khi mà hoạt động vừa khởi tạo kết thúc việc thực thi.
Một Activity có 3 trạng thái chính:
 Active hoặc running khi nó ở trên nhất màn hình và nhận tương tác người dùng.
 Paused khi Activity không còn là trọng tâm trên màn hình nhưng vẫn hiện thị
trước người dùng.
 Stopped khi một Activity hoàn toàn bị che khuất, nó sẽ rơi vào trạng thái Stopped.
Tuy nhiên, nó vẫn còn lưu trữ toàn bộ thông tin trạng thái. Và nó thường bị hệ thống
đóng lại khi có tình trạng thiếu bộ nhớ.
Khi chuyển giữa các trạng thái, ứng dụng sẽ gọi các hàm callback ứng với các
bước chuyển:
 void onCreate(Bundle savedInstanceState)
 void onStart()
 void onRestart()
 void onResume()
 void onPause()
 void onStop()
 void onDestroy()
Biểu đồ sau mô tả trạng thái trong vòng đời của một hoạt động. Hình chữ nhật thể

hiện các phương thức Callback mà chúng ta có thể khai báo để gọi thực thi một số thao
tác khi hoạt động chuyển sang trạng thái khác (phương thức Callback là phương thức
được gọi lại bởi một phương thức khác khi có một sự kiện xảy ra). Các trạng thái chính
của một hoạt động được thể hiện bởi các hình viên thuốc.
Vòng đời của một hoạt động có thể được thể hiện trong những quá trình sau:

17


Hình 1.1 : Vòng đời của một ứng dụng Android
Toàn bộ thời gian sống của một hoạt động bắt đầu từ lời gọi đầu tiên tới phương
thứconCreate(Bundle) tới lời gọi phương thức onDestroy(). Trong quá trình này,
mộthoạt động sẽ khởi tạo lại tất cả các tài nguyên cần sử dụng trong phương thức
onCreate() và giải phóng chúng khi phương thức onDestroy() được thực thi.
Thời gian sống có thể nhìn thấy của một hoạt động bắt đầu từ lời gọi tới phương
thức onStart(), cho tới khi phương thức onStop() của nó được thực thi. Toàn bộ các tài
nguyên đang được sử dụng bởi hoạt động vẫn tiếp tục được lưu giữ, người dùng có thể
thấy giao diện nhưng không tương tác được với hoạt động do trong qua trình này hoạt
động không ở trạng thái chạy tiền cảnh.
Thời gian sống tiền cảnh của một hoạt động là quá trình bắt dầu từ khi có lời gọi
tới phương thức onResume() và kết thúc bằng lời gọi tới phương thức onPause(). Trong
thời gian này, hoạt động chạy ở tiền cảnh và có thể tương tác với người dùng.

18


1.1.3. Làm quen với công cu ̣ lâ ̣p trin
̀ h Android Studio.
Trong bộ AST sẽ bao gồm các thành phần sau:
-


Android Studio IDE

-

Android SDK

-

Android 6.0

-

Google APIs

-

Một số plug-in khác

Hình 1.2 : Cài Đă ̣t Android Studio
Một số yêu cầu về phần cứng tương ứng với hệ điều hành mà AST yêu cầu:
-

Windows.

-

Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit).

-


GB RAM minimum, 4 GB RAM recommended.

-

400 MB hard disk space.

-

At least 1 GB for Android SDK, emulator system images, and caches.

-

1280 x 800 minimum screen resolution.

-

Java Development Kit (JDK) 7.

-

Optional for accelerated emulator: Intel® processor with support for Intel® VTx, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality.

19


Trong Android Studio cầ n lưu ý 3 phần sau để có thể chạy được 1 ứng dụng theo ý
muốn của mình:

Hình 1.3 : Những Lưu Ý Cầ n Để Sử Du ̣ng Android Studio

Android Device Monitor (Android DDMS) : hiểu nôm na nó gần như log debug trên
device vậy.

Hình 1.4: Android Device Monitor (Android DDMS)

ADV Manager (Android Device Vitrual Manager): Quản lý máy ảo android

20


Hình 1.5: ADV Manager (Android Device Vitrual Manager)
SDK Manager: Quản lý các Google APIs – các phiên bản android, muốn cài phiên bản
(hay thành phần) nào chỉ cần check và chọn Install….

Hình 1.5: SDK Manager

21


1.3.1 Ta ̣o 1 project trong Android Studio:

Hình 1.5: Ta ̣o 1 Project
- Application Name: Tên Ứng dụng muốn đặt
- Company Domain: Tên domain công ty, thường được dùng để kết hợp với tên
Application để tạo thành Package (chú ý viết thường hết và có ít nhất 1 dấu chấm).
- Package name: Nó sẽ tự động nối ngược Company Domain với Application name.
- Project location: Là nơi lưu trữ ứng dụng.

22



Hình 1.6: Creat Activity
-

Activity Name: Tên class Activity (java) để ta viết mã lệnh

-

Layout Name: Tên file XML làm giao diện cho Activity Name.

-

Title: Tiêu đề hiển thị khi kích hoạt Activity trên thiết bị.

-

Menu Resource Name: Tên file xml để tạo menu cho phần mềm.

23


1.2.

Giới thiệu về MVP.
1.2.1. Giới thiệu về mô hình MVP:

Trong Android, Activity hoă ̣c Fragment là đóng vai trò là khố i xử
lí tấ t cả các logic của chương trin
̀ h: quản lí vòng đời của ứng du ̣ng, tim
̀

view,animation, input event, lấ y dữ liê ̣u từ network hoă ̣c database, xử lí
các logic v.v.v. Khi chương trình còn đơn giản, viê ̣c xử lí sẽ không có vấ n
đề gi.̀ Tuy nhiên, khi chúng ta muố n tăng thêm các tin
́ h năng cho màn
hình, số lươ ̣ng dòng code xử lí sẽ tăng lên. Đồ ng thời, ba ̣n sẽ phải xử lí
các tiǹ h huố ng nế u rolate device/configuration change/ user nhấ n nút
home. Mo ̣i thứ sẽ đươ ̣c xử lí trong Activity/Fragment.
Như vâ ̣y có thể nói nế u chúng ta cứ đơn thuầ n xử lí mo ̣i thứ trong
activity/fragment thì sẽ không phải là mô ̣t mô hình tố t. Chúng ta cầ n mô ̣t
mô hiǹ h phát triể n đơn giản – dễ maintain – tách rời – dễ test.
Có nhiề u mô hình lâ ̣p trình đươ ̣c đề xuấ t cho Android, trong đó nổ i bâ ̣t
nhấ t và tôi sẽ đề câ ̣p đế n ngày hôm nay là mô hin
̀ h MVP.
Tư tưởng của mô hiǹ h MVP
MVP # MVC ở chỗ nào
Làm sao để apply MVP vào Android
24


Lơ ̣i ić h của MVP
Tư tưởng của mô hiǹ h MVP
MVP đa ̣i diê ̣n cho Model – View – Presenter.
Như đã nói, theo mô hình lâ ̣p trin
̀ h thông thường, nghiã là xử lí tấ t cả mo ̣i
thứ đươ ̣c xử lí trong Activity/Fragment, thì khi app trở nên phức ta ̣p, code
của ba ̣n sẽ trở nên rố i rắ m. Mô hình lâ ̣p trình MVP sẽ phân chia công viê ̣c
mà A/F ôm đồ m ở trên thành từng lớp xử lí riêng biê ̣t. Cu ̣ thể là:
M – Model: lớp xử lí dữ liê ̣u. Lớp này sẽ chiụ trách nhiê ̣m lấ y dữ liê ̣u từ
database hoă ̣c network mô ̣t cách bấ t đồ ng bô ̣. Sau đó sẽ trả về dữ liê ̣u cho
Presenter thông qua các hàm callback.

V- View: lớp xử lí view. Lớp này chiụ trách nhiê ̣m tìm view (bind view),
đưa dữ liê ̣u vào view, animation, kiể m soát các input event của user và
gửi cho present các event
P – Presenter: lớp này sẽ là lớp xử lí các bussiness logic. Đây là sẽ lớp
trung gian có thể giao tiế p đươ ̣c với hai lớp M & V (chú ý M – V ko giao
tiế p trực tiế p với nhau). Khi lớp View nhâ ̣n mô ̣t input event sẽ gửi sự kiê ̣n
xuố ng lớp P, lớp P lấ y sẽ liê ̣u từ lớp Model và gửi la ̣i cho lớp V và hướng
dẫn lớp V cách hiể n thi.̣
Nế u làm đúng, trong lớp P sẽ chỉ có code Java. Mo ̣i code liên quan đế n
Android sdk sẽ đươ ̣c thực hiê ̣n trong lớp View hoă ̣c lớp Model. Như vâ ̣y,
sẽ dễ để viế t unittest (Local test cho lớp P chỉ toàn Java và instrument test
cho lớp View). Đồ ng thời code của chúng ta sẽ rõ ràng rành ma ̣ch, xử lí
riêng biê ̣t từng phầ n giữa business logic, view. Chương trin
̀ h sẽ đươ ̣c chia
nhỏ ra, các task lớn đươ ̣c chia thành task nhỏ.

25


×