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

Xây dựng ứng dụng quản lý tủ đồ cá nhân trên hệ điều hành android

60 16 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 1,79 MB

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

Nội dung

MỤC ĐÍCH NGHIÊN CỨU Mục đích chính khi em nghiên cứu đề tài này là: ● Áp dụng các kiến thức đã học được ở trường như ○ Phân tích và thiết kế hệ thống thông tin ○ Công cụ và môi trường ph

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC

Đề Tài:

XÂY DỰNG ỨNG DỤNG QUẢN LÝ TỦ ĐỒ CÁ NHÂN

TRÊN HỆ ĐIỀU HÀNH ANDROID

Giảng viên hướng dẫn : Th.S Hồ Ngọc Tú Sinh viên thực hiện : Nguyễn Thị Tâm Lớp : 10CNTT3

Đà Nẵng – 2014

Khóa Luận Tốt Nghiệp

Trang 2

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy cô khoa Tin học trường đại học Sư phạm - ĐH Đà Nẵng đã tận tình giúp đỡ, truyền đạt kiến thức cho em trong suốt 4 năm đại học, và đặc biệt là thầy Hồ Ngọc Tú người đã trực tiếp chỉ dạy và hướng dẫn em thực hiện đề tài này

Em xin chân thành cảm ơn ban lãnh đạo công ty TNHH Tin học & Thương mại AsNet đã tiếp nhận và tạo điều kiện cho em hoàn thành tốt đồ án tốt nghiệp Đặc biệt xin gửi lời cảm ơn sâu sắc đến các anh Ngô Chí Trung, anh Phạm Trần Hữu Thọ, anh Ung Toàn Trung, chị Nguyễn Thị Thu Trang đã dành sự quan tâm và trực tiếp hướng dẫn em trong quá trình học tập và nghiên cứu tại công ty

Đồng thời cũng gửi lời cảm ơn đến tất cả các bạn sinh viên cùng khóa và tập thể lớp 10CNTT3 khoa tin học - Trường ĐH Sư Phạm - ĐH Đà Nẵng đã ủng hộ, giúp đỡ, chia sẻ kiến thức và kinh nghiệm trong thời gian qua

Và để có được kết quả như ngày hôm nay, em rất biết ơn gia đình đã động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài này

Mặc dù em đã cố gắng hoàn thành tốt đồ án tốt nghiệp Tuy nhiên, do kinh nghiệm và vốn kiến thức còn hạn chế nên không tránh khỏi những thiếu sót Em rất mong nhận được sự góp ý, nhận xét của các anh chị, thầy cô và các bạn

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

Nguyễn Thị Tâm

Trang 3

Tôi xin cam đoan:

1 Những nội dung trong báo cáo 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 Th.S Hồ Ngọc Tú

2 Mọi tham khảo dùng trong báo cáo này đề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ố

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

Nguyễn Thị Tâm

Trang 4

1.1 BỐI CẢNH CỦA ĐỀ TÀI 1

1.1.1 Tên đề tài 1

1.1.2 Lý do chọn đề tài 1

1.2 MỤC ĐÍCH NGHIÊN CỨU 3

1.3 ĐỐI TƯỢNG NGHIÊN CỨU 4

1.4 PHƯƠNG PHÁP NGHIÊN CỨU 4

1.5 MỤC TIÊU CẦN ĐẠT ĐƯỢC 5

1.6 Ý NGHĨA CỦA ĐỀ TÀI 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6

2.1 TỔNG QUAN VỀ ANDROID 6

2.1.1 Android và lịch sử phát triển 6

2.1.2 Chức năng chính của Android 7

2.1.3 Kiến trúc của Android 8

2.1.4 Android emulator 10

2.1.5 Các thành phần của Android 11

b Intent 12

2.1.6 Chu kỳ của ứng dụng Android 17

2.3 LƯU TRỮ DỮ LIỆU TRONG ANDROID 20

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 22

3.1 KHẢO SÁT THỰC TRẠNG 22

3.1.2 Nhìn nhận về các ứng dụng quản lý tủ đồ trên thị trường 22

3.1.3 Giải pháp 22

Trang 5

3.3.1 Yêu cầu chức năng 24

3.3.2 Yêu cầu phi chức năng 24

3.4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 25

3.4.1 Các chức năng của ứng dụng 25

3.4.2 Sơ đồ phân rã chức năng 26

3.4.3 Biểu đồ luồng dữ liệu 3 mức 27

3.4.4 Phân tích đặc tả hệ thống 31

CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC 38

4.1 CHỨC NĂNG CỦA ỨNG DỤNG 38

4.2 ĐÁNH GIÁ 50

KẾT LUẬN 51

1 ƯU ĐIỂM 51

2 HẠN CHẾ 51

3 HƯỚNG PHÁT TRIỂN 51

TÀI LIỆU THAM KHẢO 52

Trang 6

Bảng 3.1 Mô tả Actor 32

Bảng 3.2 Mô tả Use Case 32

Bảng 3.3 Mô tả dữ liệu bảng tổng kê 33

Bảng 3.4 Mô tả dữ liệu bảng tủ đồ 34

Bảng 3.5 Mô tả dữ liệu bảng cửa hàng 35

Bảng 3.6 Mô tả dữ liệu bảng lưu hình ảnh khi phối đồ xong 36

Trang 7

Hình 2.1 Kiến trúc hệ điều hành Android 8

Hình 2.2 Android emulator 2.3 11

Hình 2.3 Sử dụng intent để truyền dữ liệu giữa 2 activity với nhau 13

Hình 2.4 Vòng đời của services 15

Hình 2.5 Các trạng thái của activity 17

Hình 3.1 Bài toán 25

Hình 3.2 Chức năng của ứng dụng 26

Hình 3.3 Sơ đồ phân rã chức năng 27

Hình 3.4 Sơ đồ ngữ cảnh 28

Hình 3.5 Sơ đồ dữ liệu mức đỉnh 28

Hình 3.6 Sơ đồ dữ liệu mức dưới đỉnh – 1 28

Hình 3.7 Sơ đồ dữ liệu mức dưới đỉnh – 2 29

Hình 3.8 Sơ đồ dữ liệu mức dưới đỉnh – 3 30

Hình 3.9 Sơ đồ Use Case tổng quát 31

Hình 3.10 Mô hình thực thể quan hệ 37

Hình 4.1 Giao diện đầu 38

Hình 4.2 Giao diện màn hình trang chủ 39

Hình 4.3 Giao diện About App 40

Hình 4.4 Giao diện profile 41

Hình 4.5 Giao diện Closet 42

Hình 4.6 Giao diện khi người dùng thêm đồ vào từ gallery hoặc camera 43

Hình 4.7 Giao diện trang your style 44

Trang 8

Hình 4.9 Giao diện khi lưu những bộ đồ đã phối xong 46

Hình 4.10 Giao diện khi người dùng chia sẻ ảnh đồ vừa phối lên facebook 47

Hình 4.11 Giao diện phần thời trang nữ 48

Hình 4.12 Giao diện phần thời trang nam 48

Hình 4.13 Giao diện khi người dùng chọn phần thời trang nữ 49

Hình 4.14 Giao diện khi người dùng xem chi tiết và mua đồ 50

Trang 9

CHƯƠNG 1: MỞ ĐẦU 1.1 BỐI CẢNH CỦA ĐỀ TÀI

Thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vô vàn các nhãn hiệu, kiểu dáng, tính năng…kéo theo đó là cuộc cạnh tranh vô cùng khốc liệt của các nhà sản xuất hệ điều hành mobile Google Android mặc dù ra đời muộn hơn những hệ điều hành khác nhưng lại đang là hệ điều hành số 1 trên thị trường (56.1% vào tháng 1/2012) Tất cả các ứng dụng như : định vị GPS, multimedia, lướt web và kết nối interner, ứng dụng văn phòng, tích hợp các mạng xã hội hay chơi game…đều xuất hiện trên thiết bị điện thoại thông minh chạy hệ điều hành Android

Sự đa dạng về mức giá cũng như kiểu dáng đã khiến Android trở thành một trong những nền tảng smartphone phổ biến nhất tại Việt Nam năm 2011 Xây dựng ứng dụng trên smartphone là lĩnh vực có tốc độ phát triển nhanh nhất trong ngành công nghệ thông tin với 1,4 tỉ thuê bao

Với xu thế và tính tất yếu của lĩnh vực lập trình ứng dụng nói chung và lập trình Android nói riêng đã mang đến luồng gió mới trong ngành công nghệ thông tin Cùng với sự phát triển như vũ bão, nhu cầu nhân lực cũng đang nóng dần với hàng trăm vị trí tuyển dụng vẫn chưa tìm được ứng viên

Trang 10

Xuất hiện tại Việt Nam, lập trình Android đang là lĩnh vực mới mẻ với nhiều tiềm năng trong thị trường lập trình ứng dụng và nguồn nhân lực trong tương lai

Cuộc sống ngày càng văn minh, con người càng chú trọng đến vẻ ngoài của mình nhiều hơn trong sinh hoạt, làm việc và quan trọng là trong giao tiếp, ngoài

ra ở mỗi giới tính và ở những lứa tuổi khác nhau thì mỗi người sẽ có những xu hướng ăn mặc khác nhau, nếu như những người đàn ông trung niên hướng tới sự giản dị trong đời sống hằng ngày, và lịch lãm trong công việc, giao tiếp thì ngược lại các chị em phụ nữ ở mọi lứa tuổi luôn muốn mình được hợp thời trang, và đặc biệt là các bạn trẻ thích thể hiện cá tính của mình qua cách ăn mặc Những điều đó làm cho mỗi người có nhiều quần áo hơn trong tủ đồ của mình, đồng nghĩa với việc chi tiêu, mua sắm làm sao để không lãng phí, mặc đồ hợp lý và hợp thời trang cũng như sắp xếp và quản lý tủ đồ của mình một cách khoa học là quan trọng và cần thiết Nhưng không phải ai cũng có đủ thời gian cũng như biết cách để có thể thực hiện việc đó

Chính vì vậy em đã chọn đề tài “xây dựng ứng dụng quản lý tủ đồ cá nhân trên hệ điều hành Android” làm đề tài cho đồ án tốt nghiệp của mình Ý tưởng ứng dụng A LA MODE được ra đời để trở thành một trợ lý đắc lực về thời trang trong thời đại hiện nay Đồng thời thông qua đề tài này em có thể tiếp cận với xu hướng trong lĩnh vực công nghệ thông tin hiện nay – Lập trình cho smartphone, đặc biệt là lập trình cho hệ điều hành Android

Trang 11

1.2 MỤC ĐÍCH NGHIÊN CỨU

Mục đích chính khi em nghiên cứu đề tài này là:

● Áp dụng các kiến thức đã học được ở trường như

○ Phân tích và thiết kế hệ thống thông tin

○ Công cụ và môi trường phát triển phần mềm

○ Trí tuệ nhân tạo

○ Công nghệ phần mềm

● Nghiên cứu và tìm hiểu về lập trình cho hệ điều hành Android

o Lập trình đúng các quy tắc trong lập trình ứng dụng Android

● Tìm hiểu các thông tin về thời trang

Trang 12

1.3 ĐỐI TƯỢNG NGHIÊN CỨU

● Khách thể nghiên cứu :

○ Các thiết bị smartphone chạy trên hệ điều hành Android

● Đối tượng nghiên cứu

 Họ là những người luôn muốn mình đẹp và hợp thời trang ở mọi lúc mọi nơi

 Những người trẻ tuổi luôn muốn khẳng định cá tính, phong cách của mình qua cách ăn mặc

 Họ có một chút bận rộn nhưng dù sao cũng cần phải chú ý tới cách ăn mặc một chút

o Các chủ shop thời trang

 Những shop thời trang có thể liên hệ với admin để đưa sản phẩm của họ lên ứng dụng nhằm quảng bá và bán sản phẩm

1.4 PHƯƠNG PHÁP NGHIÊN CỨU

Sử dụng phương pháp nghiên cứu thực tiễn

Đọc hiểu tài liệu qua sách, báo, tạp chí thời trang

Kết hợp phương pháp quan sát, điều tra hiện trạng và thu thập số liệu

Sử dụng các phương pháp mô hình hóa, sử dụng phần mềm Xmind để phân tích và thiết kế nội dung

Thực hành thiết kế, xây dựng dưới sự hỗ trợ của người hướng dẫn, tham khảo ý kiến của người hướng dẫn

Tiến hành tổng hợp thông tin, phân loại Kết hợp với những kiến thức và công nghệ có sẵn, tiến hành việc thiết kế và xây dựng ứng dụng “A LA MODE”

Trang 13

1.5 MỤC TIÊU CẦN ĐẠT ĐƯỢC

Hoàn thành ứng dụng

Sản phẩm được sử dụng rộng rãi trên thị trường, đáp ứng được nhu cầu của người sử dụng

1.6 Ý NGHĨA CỦA ĐỀ TÀI

Đề tài này có ý nghĩa rất lớn trong việc thể hiện những kiến thức quý báu mà

em đã học được trong suốt thời gian qua

Về mặt thực tiễn, phần mềm giúp người dùng quản lí việc mua sắm, tiết kiệm tiền bạc

Vì vậy em hy vọng đề tài của mình sẽ trở thành một sản phẩm hoàn chỉnh, được đưa vào sử dụng rộng rãi để có thể đáp lại sự dạy dỗ tận tình của tất cả các thầy cô và cả tâm huyết của bản thân khi thực hiện đề tài

Trang 14

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ ANDROID

2.1.1 Android và lịch sử phát triển

Android là một hệ điều hành dành cho thiết bị di động như điện thoại, máy tính bảng và netbooks Android được phát triển bởi Google, dựa trên nền tảng Linux kernel và các phần mềm nguồn mở Ban đầu nó được phát triển bởi Android Inc (sau đó được Google mua lại) và gần đây nó trở thành một trong những phần mềm đứng đầu của liên minh OHA (Open Handset Alliance - với khoảng 78 thành viên bao gồm cả nhà sản xuất, nhà phát triển ứng dụng cho thiết bị di dộng mà dẫn đầu là Google) Android được phát triển nhằm cạnh tranh với các hệ điều hành di động khác như iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung (Bada), WebOS (Palm) Theo thống kê trong quý II năm 2010 tại Mỹ, hệ điều hành Android chiếm thị phần 33% (cao nhất) trong tổng số các hệ điều hành di động được bán ra, thứ 2 là BlackBerry OS 28% và iOS (Apple) xếp thứ 3 với 22%

Android có một cộng đồng phát triển ứng dụng rất lớn, hiện có khoảng hơn 70.000 ứng dụng có sẵn cho Android và đang liên tục được cập nhật Ứng dụng được phát triển bằng ngôn ngữ Java kết hợp với thư viện Java có sẵn của Google Các nhà phát triển ứng dụng có thể sử dụng máy tính chạy hệ điều hành Windows hoặc MacOS hoặc Linux kết hợp với Android SDK để phát triển ứng dụng cho Android Hệ điều hành Android bao gồm 12.000.000 dòng mã trong đó có 3.000.000 dòng XML, 2.800.000 dòng C, 2.100.000 dòng Java, và 1.750.000 dòng C++

Để phát triển phần mềm trên Android, các lập trình viên có thể tải về

bộ công cụ phát triển (Android SDK) Bộ công cụ bao gồm các công cụ và các API cần thiết, sử dụng ngôn ngữ Java để lập trình

Trang 15

2.1.2 Chức năng chính của Android

Các chức năng mà Android cung cấp:

thế mã nguồn ở dạng component một cách dễ dàng

đối với đồ họa 3D, Android sử dụng thư viện OpenGL ES 1.0 nếu thiết bị

có hỗ trợ

H.264, MP3, AAC, AMR, JPG, PNG, GIF

vị toàn cầu, la bàn, và bộ cảm biến gia tốc

giả lập thiết bị, các công cụ gỡ rối (debugging), theo dõi bộ nhớ và năng suất hoạt động, plugin cho Eclipse IDE

Trang 16

2.1.3 Kiến trúc của Android

Hình 2.1: Kiến trúc hệ điều hành Android

Trang 17

Tầng Application Framework:

Ở tầng này, các nhà phát triển ứng dụng có thể truy cập vào phần cứng thiết

bị, thông tin định vị vị trí, chạy các dịch vụ nền, đặt các cảnh báo, thông báo vào thanh trạng thái, v.v… và quan trọng nhất, đó là các API của framework

Phía dưới tất cả các ứng dụng là một tập các dịch vụ hệ thống bao gồm:

dụng, gồm có List, Grid, TextBox, Button, và WebBrowser

liệu của các ứng dụng khác (chẳng hạn như truy cập danh bạ), hoặc để chia sẽ dữ liệu với nhau

phải mã nguồn như các chuỗi đã được bản địa hóa, các tập tin đồ họa và giao diện

báo lên thanh trạng thái

ứng dụng cung cấp các chức năng điều hướng

Ở Runtime, Android cung cấp máy ảo Dalvik dùng để thực thi các file định dạng Dalvik Executable (.dex) đã được tối ưu hóa cho các thiết bị có bộ nhớ nhỏ Máy ảo Dalvik chỉ chạy các class đã được đăng ký và được biên dịch bởi một trình biên dịch Java đi kèm theo bộ SDK (dx tool)

Trang 18

Android Emulator được trang bị đầy đủ hầu hết các tính năng của một thiết bị thật Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB, camera

và video, nghe phone, nguồn điện giả lập và bluetooth

Android Emulator thực hiện các công việc thông qua một bộ xử lý mã nguồn mở, công nghệ này được gọi là QEMU (http://bellard.org/qemu/) được phát triển bởi Fabrice Bellard

Trang 19

là hiển thị danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứ hai là hoạt động viết tin nhắn tới liên hệ được chọn, các hoạt động tiếp theo là hoạt động xem lại tin nhắn cũ hay thay đổi cài đặt Mặc dù chúng làm việc cùng nhau để tạo thành một giao diện người dùng, mỗi activity độc lập với những cái khác Mỗi activity là một lớp con của lớp cơ sở Activity

Một ứng dụng có thể gồm một hoặc nhiều activity Thông thường một trong số các activity được đánh dấu là activity đầu tiên phải được trình diễn tới người dùng khi ứng dụng được khởi động Chuyển từ một activity sang activity khác được hoàn thành bằng cách cho activity khởi động activity kế tiếp

Trang 20

Một activity được đưa ra một cửa sổ mặc định để vẽ vào Thông thường, cửa sổ sẽ lấp đầy màn hình, nhưng nó có thể nhỏ hơn màn hình và nằm trên các cửa

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

đối tượng view dẫn xuất từ từ lớp View Mỗi view điều khiển một khoảng hình chữ nhật cụ thể bên trong cửa sổ View cha chứa và tổ chức bố cục các view con Các view lá vẽ trong hình chữ nhật mà chúng điều khiển và đáp ứng lại hành động người dùng trực tiếp ở khoảng trống này Do đó các view là nơi mà các tương tác của activity với người dùng diễn ra Android có một số view đã xây dựng sẵn mà bạn có thể sử dụng – gồm các buttons, text view, text field, menu bar, …

b Intent

Android sử dụng Intents như là những thông điệp bất đồng bộ để cho phép các thành phần ứng dụng “nói chuyện” được với nhau: yêu cầu chức năng từ thành phần khác, cho phép tương tác với các thành phần riêng và các ứng dụng khác

Có 2 thuộc tính quan trọng của Intent khi lập trình trên Android cần chú ý đó

là Action và Data:

Action: qui định hành động chung sẽ được thực hiện

Data: là dữ liệu sẽ được xử lý

Ngoài ra còn có một số thuộc tính bổ sung khác của Intent như : category

type - component - extras

Trang 21

Trong Android, Intent có thể được phân thành hai loại:

 Explicit Intent: là loại Intent được khai báo 1 cách tường minh thành phần sẽ nhận và xử lý Intent bằng cách thiết lập giá trị phù hợp qua setComponent (Component name) hoặc setClass (Context, Class) Explicit Intent thường được sử dụng để khởi chạy các activity trong cùng 1 ứng dụng

Implicit Intent: là loại Intent không cần chỉ rõ component xử lý mà chỉ cần

cung cấp đủ các thông tin cần thiết để hệ thống có thể tự xác định xem nên dùng các thành phần (component) có sẵn nào để chạy là tốt nhất Ví dụ: Khi các ứng dụng Android mở một trang web Tất cả các trình duyệt web được cài đặt phải được đăng ký với các dữ liệu tương ứng với mục đính thông qua

bộ lọc nhất định Khi Android nhận được một Implicit Intent, nó sẽ tìm tất cả các thành phần đăng ký và dữ liệu phù hợp Nếu hệ thống chỉ tìm thấy một component phù hợp thì Android sẽ bắt đầu chạy trực tiếp Trong tình huống

có nhiều component phù hợp, Android sẽ hiện thông báo để quyết định chọn thành phần sẽ chạy

Hình 2.3: Sử dụng intent để truyền dữ liệu giữa 2 activity với nhau

Về nguyên tắc có thể đặt tên action của một intent là bất cứ thứ gì theo chuẩn đặt tên thông thường, hay thậm chí dùng luôn hằng action đã định nghĩa sẵn như ACTION_VIEW (hay “Android.intent.action.VIEW”) Cái tên VIEW thực chất chỉ

là một tên gợi tả, bạn có thể dùng nó với mục đích thực hiện một activity để… gửi mail! Tuy nhiên điều đó rõ ràng là rất “ngớ ngẩn” Thay vào đó ta hãy dùng ACTION_SEND hay ACTION_SENDTO Việc đặt tên action cho intent đúng tên

Trang 22

gợi tả còn có một ý nghĩa khác đó là ứng dụng của bạn có thể được triệu gọi từ một ứng dụng khác Ví dụ bạn viết một ứng dụng có activity đáp ứng intent ACTION_SEND và để chia sẻ một bức ảnh lên trang web của bạn (giống như ta làm với Facebook, Flickr, ) Khi đó có thể ứng dụng của bạn sẽ là một lựa chọn chia sẻ ảnh của người dùng điện thoại

c Broadcast receiver

BroadcastReceiver (có thể gọi là Receiver là một trong bốn loại thành phần trong ứng dụng Android Chức năng dùng để nhận các sự kiện mà các ứng dụng hoặc hệ thống phát đi Có 2 cách phát-nhận đó là:

 Không có thứ tự: receiver nào đủ điều kiện thì nhận hết, không phân biệt và cũng tách rời nhau

 Có thứ tự: receiver nào đăng ký ưu tiên hơn thì nhận trước, và có thể truyền thêm thông tin xử lý cho các receiver sau

Thực ra vòng đời của BroadcastReceiver chỉ có duy nhất một phương thức onReceive()

 Khi có sự kiện mà BroadcastReceiver đã đăng ký nhận được phát đi, thì phương thức onReceive() của BroadcastReceiver đó sẽ được gọi

 Sau khi thực thi xong phương thức này, vòng đời của Receiver kết thúc Một số broadcast thông dụng

 Báo hệ thống khởi động xong

 Báo pin có sự thay đổi

 Báo có package mới cài vào hoặc xóa đi

 Báo tắt máy

 Báo cắm sạc, rút sạc…

Trang 23

d Service

Là một công việc nào đó mà chúng ta muốn thực hiện dưới nền mà không cần đến giao diện tương tác ví dụ như: update GUI, download file, xử lý tính toán, chơi nhạc nền v v

Vòng đời của Service: Tương tự như Intent thì Service cũng có vòng đời của

nó, và Android quy định cách bạn chỉ định một service khởi chạy nó và kết thúc nó như sau :

Hình 2.4: Vòng đời của services

Trang 24

Chúng ta có thể khởi tạo (start) một service theo hai cách

Cách1:

Nó được khởi tạo thông qua lời gọi startService(), với lời gọi này hệ thống sẽ lấy về service mà chúng ta muốn sử dụng sau đó gọi đến phương thức onCreate() nếu cần, tất nhiên đó là do bạn có làm một số công việc trong phương thức này Tiếp đến là onStart() service sẽ được khởi tạo lại một lần nữa cho dù trước

đó nó đã được tạo, sau đó Service sẽ được chuyển đến trạng thái running, tức là chạy những công việc mà bạn muốn service làm Hủy nó thông qua override phương thức onDestroy() ở phương thức này bạn có thể thực hiện giải phóng tài nguyên cho những công việc mà bạn làm trước đó, hay ngừng (stop) một công việc nào đó, ví dụ như ngừng chơi nhạc Với cách này thì nên sử dụng trong những trường hợp mà các thành phần trong ứng dụng truy cập tới service một cách local tức là các thành phần trong ứng dụng khác không chỉ định service đó

Trang 25

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

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

 Nó không phụ thuộc

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

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

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

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

a Các trạng thái của activity

Hình 2.5: Các trạng thái của activity

Trang 26

Activity bao gồm 4 trạng thái (state):

 Active (running): Activity đang hiển thị trên màn hình (foreground) Activity này tập chung vào những thao tác của người dùng trên ứng dụng

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

 Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop Nó vẫn còn trạng thái và thông tin thành viên trong nó Người dùng không thấy nó và thường bị loại bỏ khi hệ thống cần vùng nhớ cho các tác vụ khác

 Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc ưu tiên Các Activity ở trạng thái stop hoặc paused cũng có thể bị giải phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn và phục hồi lại trạng thái trước đó

b Các phương thức của activity

Phương thức: onCreate()

 Được gọi khi activity lần đầu tiên được tạo

 Ở đây bạn làm tất cả các cài đặt tĩnh tạo các view, kết nối dữ liệu đến list và v.v

 Phương thức này gửi qua một đối tượng Bundle chứa trạng thái trước của Activity

 Luôn theo sau bởi onStart()

Trang 27

Phương thức: onStart()

 Được gọi trước khi một activity visible với người dùng

 Theo sau bởi onResume() nếu activity đến trạng thái foreground hoặc onStop() nếu nó trở nên ẩn

Phương thức: onResume()

 Được gọi trước khi activity bắt đầu tương tác với người dùng

 Tại thời điểm này activity ở trên đỉnh của stack activity

 Luôn theo sau bởi onPause()

Phương thức: onPause()

 Được gọi khi hệ thống đang resuming activity khác

 Phương thức này là điển hình việc giữ lại không đổi dữ liệu

 Nó nên được diễn ra một cách nhanh chóng bởi vì activity kế tiếp sẽ không được resumed ngay cho đến khi nó trở lại

Phương thức: onStop()

 Được gọi khi activity không thuộc tầm nhìn của người dùng

 Nó có thể diễn ra bởi vì nó đang bị hủy, hoặc bởi vì activity khác vừa được resumed và bao phủ nó

 Được theo sau bởi onRestart() nếu activity đang trở lại để tương tác với người dùng, hoặc onDestroy() nếu activity hủy

 Trạng thái của activity có thể bị giết bởi hệ thống

Phương thức: onDestroy()

 Được gọi trước khi activity bị hủy

 Đó là lần gọi cuối cùng mà activity này được nhận

 Nó được gọi khác bởi vì activity đang hoàn thành, hoặc bởi vì hệ thống tạm thởi bị hủy diệt để tiết kiệm vùng nhớ

Trang 28

2.3 LƯU TRỮ DỮ LIỆU TRONG ANDROID

2.3.1 Sharepreferences

trữ và lấy cặp giá trị key-value Bạn có thể sử dụng SharedPreferences để lưu bất kỳ

dữ liệu nguyên thủy nào như: booleans, float, int, long, và string Dữ liệu này sẽ tồn tại thông qua user sessions (ngay cả khi ứng dụng của bạn bị tắt đi)

Để có được một đối tượng SharedPreferences cho các ứng dụng của bạn, hãy

sử dụng một trong hai phương pháp:

o getSharedPreferences() - Sử dụng nó nếu bạn cần nhiều tập tin preferences được xác định theo tên, mà bạn chỉ định với tham số đầu tiên

o getPreferences() - Sử dụng điều này nếu bạn chỉ cần một tập tin preferences cho activity của bạn Vì có duy nhất một tập tin preferences cho your activity, bạn không cần cung cấp một cái tên

Để viết các giá trị:

o Gọi edit() để có được một SharedPreferences.Editor

o Thêm giá trị với các phương pháp như putBoolean() và putString ()

o Cam kết giá trị mới với commit()

Để đọc các giá trị, sử dụng phương thức SharedPreferences như getBoolean()

và getString ()

2.3.2 Intenrnal storage

Có thể lưu các tập tin trực tiếp vào bộ nhớ trong của thiết bị Theo mặc định, các tập tin được lưu vào không gian trong ứng dụng của bạn và các ứng dụng khác không thể truy cập chúng Khi người sử dụng tháo gỡ ứng dụng của bạn, những tập

Trang 29

tin này được gỡ bỏ Để tạo và viết một tập tin để lưu trữ nội bộ:Gọi openFileOutput () với tên của tập tin và operating mode Nó trả về một FileOutputStream

2.3.3 External storage

Mỗi thiết bị tương thích với hệ điều hành Android hỗ trợ lưu trữ bên ngoài

mà bạn có thể sử dụng để lưu các tập tin Điều này có thể là một phương tiện truyền thông lưu trữ di động (như một thẻ SD) hoặc lưu trữ nội bộ (không thể tháo rời) Các tập tin được lưu vào lưu trữ bên ngoài là có thể đọc được và có thể được sửa đổi bởi người sử dụng khi họ cho phép lưu trữ USB để chuyển các tập tin trên một máy tính

2.3.4 SQLite

SQLite là một dạng CSDL tương tự như Mysql, PostgreSQL Đặc điểm của SQLite là gọn, nhẹ, đơn giản Chương trình gồm 1 file duy nhất vỏn vẹn chưa đến 500kB, không cần cài đặt, không cần cấu hình hay khởi động mà có thể sử dụng ngay Dữ liệu database cũng được lưu ở một file duy nhất Không có khái niệm user, password hay quyền hạn trong SQLite database SQLite không thích hợp với những hệ thống lớn nhưng ở quy mô vừa tầm thì SQLite phát huy uy lực và không

hề yếu kém về mặt chức năng hay tốc độ Với các đặc điểm trên SQLite được sử dụng nhiều trong việc phát triển, thử nghiệm v v và là sự lựa chọn phù hợp cho những người bắt đầu học database Hiện nay thì SQLite đã được ứng dụng vào smartphone như iPhone và Android để lưu trữ dữ liệu

Android cung cấp cho ta cách tạo và lưu trữ dữ liệu bằng cơ sở dữ liệu

(CSDL) SQLite Mỗi CSDL chỉ được dùng trong ứng dụng đó mà thôi Đối tượng SQLiteDatabase thể hiện một CSDL và có các phương thức giao tác với CSDL như thêm, xóa, s ửa và truy vấn dữ liệu Để tạo CSDL, gọi hàm SQLiteDatabase.create()

và cũng có thể dùng lớp SQLiteOpenHelper

Trang 30

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

3.1 KHẢO SÁT THỰC TRẠNG

3.1.1 Thực trạng

Smartphone đang chiếm lĩnh thị trường công nghệ, nhờ tính tiện lợi và dễ sử dụng mà Smartphone trở thành vật bất li thân với người sử dụng Mức độ tìm kiếm thông tin của người dùng thông qua các thiết bị Smartphone ngày càng tăng cao Vì vậy xu hướng xây dựng các ứng dụng trên Smartphone đang ngày càng cao

3.1.2 Nhìn nhận về các ứng dụng quản lý tủ đồ trên thị trường

Hiện tại đã có một số ứng dụng trên Android, iOS trong việc hỗ trợ người dùng trong việc ăn mặc, lựa chọn quần áo như: Wardrobe manager, Wanelo shopping điểm chung của các phần mềm này là: ứng dụng hoặc là như một mạng

xã hội dùng để phục vụ cho việc mua sắm, hoặc là chỉ dùng lại ở việc tổ chức tủ đồ

3.1.3 Giải pháp

Xây dựng ứng dụng hỗ trợ cho người dùng không những trong việc tổ chức quản lý tủ đồ cá nhân mà còn hỗ trợ cho họ cả về việc ăn mặc và mua sắm

Ngày đăng: 22/05/2021, 10:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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