5
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc đến các thầy cô
giáo trong trường đại học Bách Khoa Hà nội nói chung và các thầy cô giáo
trong viện công nghệ thông tin và truyền thông, bộ môn công nghệ phần mềm
nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh
nghiệm quý báu trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến thầy TS Nguyễn Khanh Văn, thầy
đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt gần 1 năm
chuẩn bị và làm đồ án tốt nghiệp. Trong thời gian làm việc với thầy,
em không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học hỏi được
nhiều kinh nghiệm thực tiễn khi tham gia dự án Foloyu, đây là những điều rất
cần thiết cho em trong quá trình học tập và công tác sau này.
Em xin gửi lời cảm ơn tới thầy Trịnh Tuấn Đạt và các bạn trong nhóm
làm dự án Foloyu đã giúp đỡ em rất nhiều trong suốt thời gian vừa qua.
Và cuối cùng xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, giúp
đỡ trong suốt năm năm học đại học.
Hà Nội, ngày 27 tháng 5 năm 2011
Sinh viên : Vũ Văn Minh
Lớp : Công nghệ phần mềm – K51
Khoa : Viện Công nghệ Thông tin và
truyền thông
Đại học Bách Khoa Hà Nội
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc đến các thầy cô
giáo trong trường đại học Bách Khoa Hà nội nói chung và các thầy cô giáo
trong viện công nghệ thông tin và truyền thông, bộ môn công nghệ phần mềm
nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh
nghiệm quý báu trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến thầy TS Nguyễn Khanh Văn, thầy
đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt gần 1 năm
chuẩn bị và làm đồ án tốt nghiệp. Trong thời gian làm việc với thầy,
em không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học hỏi được
nhiều kinh nghiệm thực tiễn khi tham gia dự án Foloyu, đây là những điều rất
cần thiết cho em trong quá trình học tập và công tác sau này.
Em xin gửi lời cảm ơn tới thầy Trịnh Tuấn Đạt và các bạn trong nhóm
làm dự án Foloyu đã giúp đỡ em rất nhiều trong suốt thời gian vừa qua.
Và cuối cùng xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, giúp
đỡ trong suốt năm năm học đại học.
Hà Nội, ngày 27 tháng 5 năm 2011
Sinh viên : Vũ Văn Minh
Lớp : Công nghệ phần mềm – K51
Khoa : Viện Công nghệ Thông tin và
truyền thông
Đại học Bách Khoa Hà Nội
6
MỤC LỤC
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3
ABSTRACT OF THESIS 4
MỤC LỤC 6
DANH MỤC CÁC HÌNH VẼ 7
DANH MỤC CÁC BẢNG 9
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ 11
PHẦN MỞ ĐẦU 12
PHẦN I: GIỚI THIỆU VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 14
BÀI TOÁN MẠNG ĐỊA XÃ HỘI 14
NHIỆM VỤ ĐỒ ÁN VÀ ĐỊNH HƯỚNG GIẢI PHÁP 21
31
PHẦN II: XÂY DỰNG ỨNG DỤNG ANDROID CHO FOLOYU VÀ TRIỂN
KHAI MODULE ĐỊNH VỊ 31
ỨNG DỤNG ANDROID CHO MẠNG ĐỊA XÃ HỘI FOLOYU 31
GIẢI PHÁP THỰC TIỄN CHO ĐỊNH VỊ TRONG MẠNG ĐỊA XÃ HỘI
FOLOYU 55
KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 74
PHỤ LỤC A: CÁC ĐẶC TẢ USE CASE 75
PHỤ LỤC B: HỆ ĐIỀU HÀNH ANDROID 91
7
DANH MỤC CÁC HÌNH VẼ
Hình 1-1: Mô hình hệ thống Foloyu 20
Hình 2-2: Kiến trúc hệ điều hành Android 24
Hình 2-3: Định vị bằng GPS 26
Hình 2-4: Phân bố các Cell trong mạng di động GSM 27
Hình 2-5: Định vị bằng Cell ID 28
Hình 2-6: Mô hình định vị bằng Cell ID 29
Hình 2-7: Định vị bằng sóng wifi 30
Hình 3-8: Use case tổng quát 33
Hình 3-9: Use case Profile 34
Hình 3-10: Use case Location 35
Hình 3-11: Use case localization 36
Hình 3-12: Use case view location 37
Hình 3-13: Biểu đồ hoạt động 38
Hình 3-14: Biểu đồ tuần tự 39
Hình 3-15: Biểu đồ trạng thái 39
Hình 3-16: Các thành phần và cơ chế giao tiếp của ứng dụng client Android 40
Hình 3-17: Mô hình lập trình kết nối Internet trong Android 42
Hình 3-18: Sơ đồ lớp thành phần Parse XML 45
Hình 3-19: Mô hình lập trình giao diện trong Android 47
Hình 3-20: Thư mục định nghĩa giao diện của ứng dụng 48
Hình 3-21: Form Login 48
Hình 3-22: Form Đăng Ký 49
Hình 3-23: Tìm kiếm bạn bè 50
Hình 3-24: Các địa điểm nổi bật 50
Hình 3-25:Thông tin địa điểm 50
Hình 3-26: Form checkin 50
Hình 3-27: thông tin user 51
Hình 3-28: Hiển thị lên Gmaps 51
8
Hình 3-29: Chỉ đường trên Gmaps 51
Hình 3-30: tìm kiếm địa điểm 51
Hình 3-31: Kết quả tìm kiếm 52
Hình 3-32: Các hot category 52
Hình 3-33: Foloyu’s Application Flow 53
Hình 4-34: Mô hình định vị trên Android 57
Hình 4-35: Mô hình định vị bằng wifi signal 59
Hình 4-36: Cơ sở dữ liệu sampling 60
Hình 4-37: Client side matching Algorithm 62
Hình 4-38: Mô hình lấy mẫu dữ liệu 66
Hình 4-39: Wifi Scan Receiver 68
Hình 4-40: DB trên Android Client 69
Hình 4-41: Màn hình nhập dữ liệu 69
Hình 4-42: Mô hình triển khai server sampling 70
Hình 4-43: Hình ản demo của ứng dụng lấy mẫu 71
Hình 0-44: Use case Manag Account 75
Hình 0-45: Use case manage Privacy Setting 78
Hình 0-46: Use case manage private infor 80
Hình 0-47: Use case Manage Friend 81
Hình 0-48: Use case view location 85
Hình 0-49: Use case social network function of a location 89
9
DANH MỤC CÁC BẢNG
Bảng 4-1: Giao diện dữ liệu client – server của module định vị 60
Bảng 4-2: Dữ liệu lấy mẫu 64
Bảng 4-3: Shared Preference trong ứng dụng lấy mẫu 67
Bảng 0-4: Đặc tả use case quản lý người dùng 76
Bảng 0-5: Đặc tả use case đăng nhập 76
Bảng 0-6: Đặc tả use case đăng xuất 76
Bảng 0-7: Đặc tả use case thay đổi mật khẩu 77
Bảng 0-8: Đặc tả use case phục hồi mật khẩu 77
Bảng 0-9: Đặc tả use case vô hiệu hóa tài khoản người dùng 78
Bảng 0-10: use case quản lý chính sách riêng tư 79
Bảng 0-11: Đặc tả use case thiết lập thông tin cá nhân 79
Bảng 0-12: Đặc tả use case quản lý thông tin cá nhân 80
Bảng 0-13: Đặc tả use case chỉnh sửa thông tin cá nhân 81
Bảng 0-14: Đặc tả use case gửi yêu cầu kết bạn 82
Bảng 0-15: Đặc tả use case xem yêu cầu kết bạn 82
Bảng 0-16: Đặc tả use case trả lời chức năng kết bạn 82
Bảng 0-17: Đặc tả use case xem danh sách bạn bè 83
Bảng 0-18: Đặc tả use case tìm kiếm bạn bè 83
Bảng 0-19: Đặc tả use case xóa bạn bè 83
Bảng 0-20: Đặc tả use case tìm kiếm người dùng 84
Bảng 0-21: Đặc tả use case xem thông tin địa điểm 86
Bảng 0-22: Đặc tả use case xem danh sách địa điểm mới nhất 86
Bảng 0-23: Đặc tả use case xem danh sách địa điểm yêu thích 86
Bảng 0-24: Đặc tả use case xem danh sách hot location category 87
Bảng 0-25: Đặc tả use case xem thông tin chi tiết địa điểm 87
Bảng 0-26: Đặc tả use case tự động định vị 88
Bảng 0-27: Đặc tả use case định vị bằng tay 88
Bảng 0-28: Đặc tả use case thông báo check in 89
Bảng 0-29: Đặc tả use case comment 90
10
Bảng 0-30: Đặc tả use case Rate 90
11
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ
STT Từ viết tắt
/thuật ngữ
Mô tả
1 3G Third Generation – Mạng di động thế hệ thứ 3
2 GSM Global System for Mobile Communications - Hệ
thống thông tin di động toàn cầu
3 CDMA Code Division Multiple Access - Phương thức đa
truy cập phân chia theo mã.
4 GPS Global Positioning System – Hệ thống định vị toàn
cầu.
5 KML KeyHold Markup Language – Định dạng dữ liệu
mô tả vị trí, chỉ đường thường dùng trong Gmaps
6 OS Operating System – Hệ điều hành
7 SDK Software Development Toolkit, bộ các công cụ hỗ
trợ lập trình.
8 DVM Dalvik Virtual Machine, máy ảo Java của Android.
9 OpenGL ES
OpenGL Embedded System, một thư viện đồ họa
dành cho các phần mềm nhúng.
10 HTTP
Hypertext Tranfer Protocol – Giao thức truyền dữ
liệu siêu văn bản
11 BTS
Base Transceiver Station – Trạm thu phát sóng di
động
12 RSSI
Received Signal Strength Index – Độ mạnh sóng
khi nhận được
13 MAC
Media Access Control – tầng điều khiển truy nhập
môi trường.
14 DB
Database – Cơ sở dữ liệu
15 Cell - ID
Cell Identification – mã số xác định một khu vực
phủ sóng của cột BTS trong mạng điện thoại di
động.
12
PHẦN MỞ ĐẦU
Nửa cuối thập niên 2000-2010 chứng kiến sự phát triển mạnh mẽ của mạng
xã hội. Nhờ những tính năng ưu việt của mình, các mạng xã hội đang dần thay đổi
cách thức con người giao tiếp với nhau. Chia sẻ thông tin đang dần trở thành một
nhu cầu rất lớn của người dùng ứng dụng công nghệ thông tin. Chính vì vậy, khi
dịch vụ bản đồ số và công nghệ định vị trở nên phổ biến, người dùng có nhu cầu rất
lớn về chia sẻ thông tin về các nhà hàng, địa điểm, cập nhật các hoạt động của
người dùng ở các địa điểm khác nhau kèm theo video, hình ảnh. Một mạng xã hội
khai thác được những nhu cầu này sẽ thu hút được rất nhiều người sử dụng. Trong
bối cảnh đó, các mạng địa xã hội ra đời như một tất yếu. Mạng địa xã hội kết hợp
được khả năng chia sẻ thông tin với các tính năng tìm đường, định vị, chia sẻ vị trí
người dùng. Khi người dùng tham gia bất kỳ một hoạt động nào, hệ thống mạng địa
xã hội sẽ tự động cập nhật lại thành các bản tin và phát hành các bản tin này cho
người thân, bạn bè của người đó. Thật thú vị khi người sử dụng vào một nhà hàng
và để lại những nhận xét về nhà hàng đó cho các bạn bè của mình biết được những
thông tin hữu ích. Từ đó, nhiều chuyên gia đã dự đoán rằng mạng địa xã hội sẽ trở
thành mạng xã hội phát triển mạnh trong tương lai gần.
Trong khuôn khổ đồ án tốt nghiệp, em tham gia vào việc cài đặt những ứng
dụng của một mạng địa xã hội cụ thể, mạng địa xã hội Foloyu, một mạng địa xã hội
được hình thành từ ý tưởng của thầy Nguyễn Khanh Văn, được phát triển bởi một
nhóm sinh viên dưới sự hướng dẫn của thầy. Trong khi tham gia phát triển dự án
này, em đã lựa chọn những nhiệm vụ sau làm hướng phát triển cho đề tài đồ án tốt
nghiệp của em:
Nghiên cứu lý thuyết định vị
Xây dựng module định vị cho mạng địa xã hội Foloyu
Nghiên cứu hệ điều hành Android và thiết kế giao diện trên Android
Xây dựng ứng dụng client trên Android cho mạng địa xã hội Foloyu
Môi trường thực hiện đồ án tốt nghiệp: đồ án được thực hiện trong dự án
mạng địa xã hội Foloyu dưới sự hướng dẫn của Tiến sĩ Nguyễn Khanh Văn. Đồ án
bao gồm phần mở đầu, nội dung chính, kết luận, và 2 phụ lục:
Phần mở đầu: Giới thiệu tóm tắt nhiệm vụ đề tài, xác định mục tiêu và
phạm vi thực hiện.
Phần nội dung: Kết cấu 4 chương chính, trong đó chương 1 và chương 2
thuộc phần 1, đặt vấn đề và định hướng giải pháp. Chương 3, chương 4 thuộc phần
2, các kết quả đạt được.
13
Chương – 1 Bài toán mạng địa xã hội: Giới thiệu tổng quan mạng xã hội, qua
đó đưa ra các khái niệm cơ bản trong mạng xã hội. Từ đó giới thiệu khái niệm
mạng địa xã hội, và bài toán mạng địa xã hội Foloyu.
Chương 2 – Nhiệm vụ đồ án và định hướng giải pháp: Nêu ra các yêu cầu về
client trên Android và yêu cầu định vị của hệ thống. Qua đó nêu ra 2 vấn đề cần
giải quyết trong đồ án. Giới thiệu kiến trúc hệ điều hành Android và 3 công nghệ
định vị phổ biến hiện nay từ đó đưa ra ý tưởng hiện thực hóa các nhiệm vụ đồ án.
Chương 3 – Ứng dụng Android cho mạng địa xã hội Foloyu. Trình bày các
phân tích và thiết kế chương trình, thiết kế giao diện, các giải pháp lập trình cho
ứng dụng Foloyu.
Chương 4 – Giải pháp thực tiễn cho định vị trong mạng địa xã hội Foloyu:
Trình bày về mô hình, thuật toán đề xuất cho module định vị. Trình bày thiết kế cơ
sở dữ liệu, xây dựng ứng dụng lấy mẫu dữ liệu cho module định vị.
Kết luận: Đánh giá về kết quả thực hiện đồ án, phân tích những thuận lợi,
khó khăn khi thực hiện đồ án, định hướng phát triển đồ án trong tương lai.
Phụ Lục: gồm 2 phụ lục, phụ lục A là các đặc tả của các use case, phụ lục B
là mô tả các thư viện lõi trong hệ điều hành Android.
14
PHẦN I: GIỚI THIỆU VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI
PHÁP
Phần I trình bày những khái niệm mạng xã hội nói chung và mạng địa xã hội nói
riêng. Qua đó, em mong muốn mang đến cho người đọc một cái nhìn khái quát về
mạng địa xã hội Foloyu, mạng địa xã hội đang được phát triển dưới sự hướng dẫn
của thầy TS. Nguyễn Khanh Văn. Đồ án của em nằm trong khuôn khổ của dự án
phát triển mạng xã hội này. Phần một của đồ án hy vọng giúp người đọc hình dung
được vấn đề mà đồ án sẽ giải quyết và định hướng giải pháp của đồ án cho những
vấn đề này. Bố cục phần I gồm có 2 chương: chương 1 nhằm giới thiệu về bài toán
mạng địa xã hội, chương 2 trình bày về vấn đề cụ thể của đồ án trong khuôn khổ
mạng địa xã hội Foloyu và nêu bật định hướng giải pháp cho những vấn đề này.
BÀI TOÁN MẠNG ĐỊA XÃ HỘI
Nội của chương này sẽ trình bày các vấn đề sau:
o Giới thiệu chung về mạng xã hội
o Giới thiệu về mạng địa xã hội (Geo – social network)
o Giới thiệu về mạng địa xã hội Foloyu
1.1. Mạng xã hội là gì?
Thời gian qua, chúng ta chứng kiến một làn sóng mới của thế giới mạng xã
hội với nền tảng web 2.0. Không thể không nhắc đến Facebook, đã thống trị ngôi vị
Sinh viên thực hiện: Vũ Văn Minh – 20062148. Khóa 51 Lớp CNPM
Không có nhận xét nào:
Đăng nhận xét