Thông tin tài liệu
ĐỒ ÁN TỐT NGHIỆP KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG QUẢNG BÁ DU LỊCH TRÊN THIẾT BỊ ANDROID Sinh viên thực hiện: Nguyễn Minh Hiếu – MSV: 1151073719 Lớp: 52K3_CNTT Giáo viên hướng dẫn: TS Trần Xuân Sang Nghệ An, tháng 01 năm 2016 Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP LỜI CẢM ƠN * * * Đ ho n th nh t o i u kiện gi p n t t nghiệp n y tr hết m xin m qu tr nh h Em xin h n th nh qu tr nh l m t p v nghi n m n nh tr ờng u t i tr ờng m n th y gi o TS Trần Xuân Sang i th y h ớng n t n t nh m th o s t m th ho n th nh t t n t t nghiệp n y Em xin g i lời m n tới ng g p ý kiến v gi p m qu tr nh l m Cu i ùng m xin g i lời vi n n nh gi p m nhi u Trong qu tr nh l m mong nh n ợ s g pý Th y Cô khoa Công nghệ thông tin n m n h n th nh tới gia m ho n th nh ợ nh n è ộng n t t nghiệp n y t i m không tr nh kh i nh ng thiếu s t v v y r t a th y ô n t t nghiệp a m ợ ho n thiện h n Em xin h n th nh m n Vinh,ngày 25 tháng 12 năm 2015 Sinh viên thực Nguyễn Minh Hiếu Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP Mục lục LỜI CẢM ƠN Giới thiệu t i 1.Lý o h n t i 2.Nội ung nghi n Ch u ng I: Hệ i u h nh An roi 1.1 Giới thiệu hệ i u h nh An roi 1.2 Nh ng ặ tr ng 1.3 C a hệ i u h nh An roi : tính hỗ trợ sẵn hệ i u h nh An roi 1.4 Kiến tr v th nh ph n hệ i u h nh An roi 1.4.1 Linux kernel (nhân Linux) 10 1.4.2 Libraries 10 1.4.3 Android runtime 11 1.4.4 Application framework 11 1.4.5 Applications 11 1.5 C kh i niệm n l p tr nh ng ụng An roi 11 1.5.1 Activity 11 1.5.2 Service 13 1.5.3 View 14 1.5.4 Intent 14 1.6 C th nh ph n proj t ng ụng An roi 15 1.6.1 AndroidManifest.xml 15 1.6.2 File R.java 16 1.6.3 Th mụ sr 16 1.6.4 Th mụ r Ch 16 ng II: Công nghệ XML v W s rvi 17 2.1 Công nghệ XML 17 2.1.1 Lị h s ời huẩn XML XML l g ? 17 2.1.2 C u tr 2.1.3 Đặ i m a fil XML v t i liệu XML 17 a XML 18 2.1.4 XML HTML 18 Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP 2.1.5 Ngôn ng ặt t u tr 2.1.6 Ưu i m a XML 19 19 2.2 Webservice 20 2.2.1 Webservice ? 20 2.2.2 Một s ặt i m n a w s rvi 21 2.2.3 Ph n lo i w s rvi 21 Ch ng III: Googl Map v Googl Maps API W S rvi s 23 3.1 Google Map 23 3.1.1 Giới thiệu Googl Map 23 3.1.2 Google Maps for Mobile 24 3.2 Google Maps API Web Services 25 3.2.1 Giới thiệu Googl Maps API W 3.2.2 S Ch ụng Googl Maps API W ng IV: X y S rvi s 25 S rvi s 25 ng ng ụng 28 4.1 Đặ t hệ th ng 28 4.2 C y u uv h a h ng tr nh 28 4.2.1 Ch hi n thị thông tin ịa anh 28 4.2.2 Ch hi n thị vị trí ịa anh tr n 4.2.3 Ch hi n thị thông tin hi tiết ịa anh 32 4.2.4 Ch t m 4.3 C v n n 30 ờng i tr n googl map 33 qu tr nh x y ng ng ụng 33 4.3.1 Giao iện UI l p tr nh ng ụng An roi 33 4.3.2 Đăng ký n Googl Map ng ụng 37 4.3.3 Đ nh u ịa i m v thông tin tr n 4.3.4 G i A tivity v truy n n 38 liệu gi a h ng 39 Kết lu n 41 i Kết qu ii H n hế t ợ 41 a t i 41 iii H ớng ph t tri n 41 T i liệu tham kh o 42 Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP Giới thiệu đề tài Lý chọn đề tài Hiện du lị h ang l ngành kinh tế mũi nh n c a Việt Nam nói chung ặc biệt l i với Nghệ An Với ti m u lịch nh v y việc xúc tiến qu ng bá du lịch cung c p thông tin du lị h l i u r t quan tr ng ẩy m nh h n n a ngành kinh tế mũi nh n Với s xu t ph t tri n h ng mặt a thiết ị i ộng mang l i hội qu ng u lị h v ung p thông tin u lị h h thu n tiện nh t ho kh h u lị h Với nh ng lý o tr n m h n v th t i „T m hi u v x y ng ng ụng qu ng u lị h x Nghệ tr n thiết ị An roi ‟ Ph n m m ợ viết ằng ngôn ng Java tr n n n t ng An roi s ụng Googl Map API v Googl Maps API W S rvi s s ụng ông nghệ XML s ụng Youtu API V3 p n Ph n m m n y h y tr n thiết ị i ộng hệ i u h nh An roi ung thông tin v ịa i m u lị h ung p h nh nh vi o l y vị trí t i tr n Google Map v h t m ờng i Nội dung nghiên cứu - T m hi u v l p tr nh i ộng tr n thiết ị An roi - Ph n tí h v thiết kế ng ụng qu ng thông tin u lị h Nghệ An Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP Chương I: Hệ điều hành Android Theo Steve Jobs – Gi m i u h nh t p o n Appl thiết ị h u PC ph i tr quan v ễ ùng h n so với PC Cụ th với hiế m y tính ng iPa m ơng ty a ông ho mắt ph n ng v ph n m m "ph i an quyện v o hặt hẽ h n so với h th tr n PC" Thời kỳ “h u PC” l thời kỳ m nh ng hệ th ng nh ng l t lõi l m n n l n s ng ổi th sau s ph t tri n a m y tính lớn v mini (mainframe mini comput r) giai o n 1960 - 1980, PC-Int rn t giai o n 1980 – 2000 Đ i iện ti u i n nh t ho thời i “h u PC” l nh ng hiế iện tho i thông minh v m y tính ng Hai thiết ị t o n n l ng s ng ông nghệ m nh mẽ C xu h ớng ông nghệ a giới u t p trung nhi u v o nh ng thiết ị n y Cùng với n l s ph t tri n h ng mặt a ph n ng v nh t l ph n m m ng ụng i ộng v hệ i u h nh i ộng Đ u ti n l s xu t a IOS tr n thiết a An roi – hệ i u h nh m ngu n mở W OS a HP v Win ow Phon a Mi rosolf i u h nh ph t tri n m nh nh t An roi u t ộ ph t tri n nhanh h n IOS ị a Appl Tiếp th o l s xu t o Googl ph t tri n Sau n al Tuy nhi n IOS v An roi l hai hệ nh y v t sau IOS nh ng n ang Hiện t i hệ i u h nh IOS vị trí ộ tôn với tổng ộng 356 577 ng ụng Đ ng th l An roi với 256 545 ng ụng Cụ th h n Việt Nam l p tr nh i ộng ang l hội r t t t ho l p tr nh vi n n s n phẩm a m nh C th ễ ng a s n phẩm a m nh giới ti u thụ v thu ợ ti n từ nh ng ng ụng t t v ộ o Đ i với thị tr ờng ng ụng n từ năm 2010 ến ùng với xu ph t tri n thiết ị i ộng a giới Việt Nam ũng s ph t tri n v ợt t m ng n y.Với hợ ng Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP ụng a hính h ng nh AppStor Googl Play nhi u ng ời s ụng v n òn v p ph i r o n to n V v y y l hội l p tr nh vi n ph t tri n ng ụng ti u thụ n với hợ ng ụng a h ng th (ngu n: http://www.pcworld.com.vn/) 1.1 Giới thiệu hệ điều hành Android An roi l hệ i u h nh i ộng a tr n phi n n s a ổi a Linux Đ ợ ph t tri n v o năm 2005 với n ùng t n “An roi ” Nh ph n hiến l ợ a m nh l n s u v o lĩnh v i ộng Googl An roi mua v to n ộ qu tr nh ph t tri n ũng nh ội ph t tri n n Đ y l on t h i a Googl nh tranh thị ph n hệ i u h nh i ộng với Appl Googl An roi mu n mở v miễn phí v v y h u hết m An roi ợ ợ a ới ng m ngu n mở Apa h Li ns i u n y t ng ng với việ t mu n s ụng An roi th l m nh v y ằng h t i v m ngu n an roi y H nn a nh ung p (th ờng l nh ng nh ph t tri n ph n ng) th th m ph n mở rộng v tùy iến ho an roi ph n iệt s n phẩm a h với s n phẩm a nh ng ng ời kh Đi u n y n gi n l m ho mô h nh ph t tri n An roi r t h p nv o kh i y s quan t m a nhi u nh ung p Nh ng nh s n xu t oi An roi nh gi i ph p – h tiếp tụ thiết kế ph n ng a ri ng m nh v s ụng An roi nh hệ i u h nh hính Ưu i m hính a việ p ụng An roi l n ung p h tiếp n th ng nh t ph t tri n ng ụng C nh ph t tri n hỉ n ph t tri n ho Android ng ụng a h th h y tr n nhi u thiết ị kh miễn l thiết ị ợ hỗ trợ ằng h s ụng An roi Trong giới iện tho i thông minh ng ụng l ph n quan tr ng nh t a huỗi th nh ông Do nh s n xu t thiết ị oi An roi nh l hy v ng t t nh t th h th s t n ông a Appl (ngu n: https://www.coursehero.com/) 1.2 Những đặc trưng hệ điều hành Android: • Application framework: ho phép s l p tr nh ng ụng • Dalvik virtual machine: t i u h a ho thiết ị i ộng • Intergrated browser: tr nh uyệt tí h hợp ngu n mở • SQLite: s sở • Media support: hỗ trợ • GSM Telephony: m ng iện tho i i ộng (phụ thuộ v o ph n ụng l i v thay a tr n th nh ph n hế WebKit mã liệu môi tr ờng i ộng ịnh ng au io vi o v h nh nh thông ụng Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin ng) Page ĐỒ ÁN TỐT NGHIỆP • Bluetooth, EDGE, 3G, WiFi : ph n ng) • Camera, GPS, la bàn, gia tốc kế: (phụ thuộ v o ph n • Mơi trường phát triển phong phú: ao g m thiết ị mơ ph ng ơng ụ ho việ ị t m lỗi ộ nhớ v ịnh h nh hiệu v plugin ho E lips IDE huẩn kết n i liệu (phụ thuộ v o ng) 1.3 Các tính hỗ trợ sẵn hệ điều hành Android C tính ợ hổ tr tùy thuộ v o • Storage: S liệu • Connectivity: Hỗ trợ GSM/EDGE IDEN CDMA EV-DO, UMTS, Blu tooth ( ao g m AD2P v AVRCP) Wifi LTE v WiMAX, • Messaging: hỗ trợ • Web browser: D a tr n m ngu n mở W kit ùng với ông nghệ JavaS ript V8 a Chrom • Media support: Bao g m hỗ trợ ph ng tiện truy n thông sau: H.263, H.264 (Trong 3GP hoặ MP4 ontain r ) MPEG-4 SP, AMR, AMR-WB (3GP container), AAC, HE-AAC (MP4 hoặ 3GP ontain r) MP3 MIDI Ogg Vorbis, WAV, JPEG, PNG, GIF BMP • Hardware support: Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor GPS • Multi-touch: Hỗ trợ m n h nh • Multi-tasking: Hỗ trợ ng ụng a t • Flash support: An roi 2.3 hỗ trợ Flash 10.1 • Tethering: Hỗ trợ kết n i int rn t không ụng SQLit u h nh ph n sở ng v ph n m m liệu quan hệ nhẹ ho việ l u tr SMS v MMS m ng a i m vụ y/ y 1.4 Kiến trúc thành phần hệ điều hành Android Mô h nh sau th y kiến tr th nh ph n a hệ i u h nh An roi Tầng Application Trang Danh s h li n l Điện tho i Tr nh uyệt Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP Tầng Application Framework Tr nh qu n lý Activity Tr nh qu n lý ng g i Tr nh qu n lý Window Tr nh qu n lý iện tho i Tr nh qu n lý Content Providers Tr nh qu n lý t i nguyên Tr nh qu n lý View System Tr nh qu n lý vị trí Tr nh qu n lý thơng báo Tầng Libraries Surface Manager Media Framwork SQLite OpenLG | ES FreeType Webkit SSL SGL SSL Libc Tầng Android Runtime Th viện lõi M y o Dalvik Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page ĐỒ ÁN TỐT NGHIỆP Tầng Linux Kernel Tr nh i u n hình Tr nh i u n camera Tr nh i u n ộ nhớ Flash Tr nh i u n IPC Tr nh i u n bàn phím Tr nh i u n WIFI Tr nh i u n âm Tr nh i u n ngu n iện 1.4.1 Linux kernel (nhân Linux) K rn l Linux ho t ộng nh lớp trừu t ợng h a gi a ph n ng v t ng ới a ph n m m Lớp n y h a t t thiết ị m th p i u n th nh ph n ph n ng kh a thiết ị An roi 1.4.2 Libraries Li rari s ao g m t p hợp th viện l p tr nh h a m lệnh ung p nh ng tính v thao t hính tr n hệ i u h nh Một s th viện n ợ liệt k ới y: • System C library: – BSD- riv tri n khai th viện hệ th ng ngôn ng C huẩn ợ nh ng v o thiết ị a tr n hệ i u h nh Linux • Media Libraries – D a tr n Pa k tVi o's Op nCORE; th viện n y hỗ trợ ho việ h i nh quay phim hụp h nh th o ịnh ng fil MPEG4 H.264, MP3, AAC, AMR, JPG, and PNG • Surface Manager – Qu n lý truy p ến lớp h a 2D 3D từ t ng ng ụng • LibWebCore – Th viện ợ ùng t o n n th nh ph n w vi w An roi v th nh ng ợ v o nhi u ng ụng • SGL – Th viện hỗ trợ • 3D libraries – Th viện • FreeType – bitmap and vector font rendering • SQLite – Một sở liệu nh ợ ùng ho thiết ị m tay nhớ h n hế SQLit không quan hệ nh sở liệu kh hệ th ng on hi n thị ũng nh ho 2D h a 3D Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 10 ộ ĐỒ ÁN TỐT NGHIỆP Chương IV: Xây dựng ứng dụng 4.1 Đặc tả hệ thống Du lịch Nghệ An Nằm h th H Nội 291km v phía Nam Nghệ An hi u i u kh h với m i lo i h nh u lị h p ng t t nhu u a u kh h nh u lị h t m linh u lị h nghỉ ng u lị h kh m ph u lị h i n rừng… Nghệ An i m u lị h h p n kh h u lị h g n xa ặ ởi nh ng i i n yên bình v khí h u m t mẻ Đến với Nghệ An kh h u lị h không nh ng ợ th ởng th vô v n nh ẹp thi n nhi n m òn ợ t m hi u v văn h a truy n thông l n i Trong kho ng 10 năm qua u lị h Nghệ An ph t tri n kh to n iện v sở h t ng ũng nh h t l ợng s n phẩm u lị h Nhờ Nghệ An trở th nh trung t m u lị h lớn a n h ng năm thu h t l ợng kh h lớn ến nghỉ ng Nh n tổng th u lị h Nghệ An nh ng ph t tri n v ợt Tuy nhi n s ph t tri n a u lị h Nghệ An v n òn nh ng h n hế n khắ phụ h ớng tới s ph t tri n n v ng Tỉnh n ph i ẩy m nh ông t x tiến u lị h giới thiệu h nh nh u lị h Nghệ An thị tr ờng qu tế với nhi u h nh th kh Hy v ng t ng lai Nghệ An trở th nh trung t m u lị h i n qu tế Về địa điểm du lịch X y ng h ng tr nh qu ng u lị h v ẩm th x Nghệ Ch ng tr nh ung p nh ng thông tin v ịa i m ẩm th lị h C lo i h nh th thông tin nh : h nh nh, video, google map Mỗi ịa i m ung p thông tin: h nh nh v ẩm th v hi n thị googl map a ịa i m lị h Mỗi ịa i m anh s h nh a ịa i m u ịa i m u lị h vi o v thông tin nv ịa i m u 4.2 Các yêu cầu chức chương trình Ch ng tr nh x y ng m o h hính sau : 4.2.1 Chức hiển thị thơng tin địa danh Các ịa anh ợ qu n lý th o anh s h Mỗi anh s h th o lo i ịa i m Tr n anh s h ịa anh hi n thị nh ng thông tin t m tắ n thiết Cho phép ng ời truy p truy p nhanh v o anh s h ịa i m t ng ng với lo i ịa i m Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 28 ĐỒ ÁN TỐT NGHIỆP M n h nh hi n thị anh s h C giao iện UI hi n thị hi tiết thông tin tin nh l : h nh nh vi o ịa anh a ịa i m Với s thông Hi n thị anh s h ịa i m tr n n Hi n thị thông tin t m tắ a ịa i m tr n n v ho phép ng ời ùng truy p tr tiếp thông tin hi tiết ịa i m từ n T m ờng i v hi n thị tr n n Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 29 ĐỒ ÁN TỐT NGHIỆP 4.2.2 Chức hiển thị vị trí địa danh đồ D ng 1: Hi n thị thông ới ng văn n Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 30 ĐỒ ÁN TỐT NGHIỆP D ng 2: Hi n thị thông tin ới ng h nh nh Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 31 ĐỒ ÁN TỐT NGHIỆP 4.2.3 Chức hiển thị thông tin chi tiết địa danh Đ y l m n h nh hi n thị vi o Vi o ợ loa tr tiếp từ Youtu nh phù hợp với m i m n h nh a ịa anh – Chế ộ m n h nh thông qua API Youtu Đ y l m n h nh hi n thị vi o ng V3 với h t l ợng h nh a ịa anh – Chế ộ m n h nh ngang Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 32 ĐỒ ÁN TỐT NGHIỆP 4.2.4 Chức tìm đường google map Ch ung thông tin v kho ng h ũng nh thời gian từ vị trí t i ến ịa i m với ph ng tiện l x m y 4.2.5 Chức hiển thị thông tin ẩm thực 4.3 Các vấn đề trình xây dựng ứng dụng 4.3.1 Giao diện UI lập trình ứng dụng Android Giao iện ng ời ùng a ng ụng tr n hệ i u h nh An roi l Mỗi A tivity t ng ng với giao iện g m nhi u i t ợng Vi w C Vi w ợ hia l m hai lo i: Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin A tivity i t ợng Page 33 ĐỒ ÁN TỐT NGHIỆP • View: l UI ụ th kh hi n thị v t ụ: T xtVi w Button … • View Group: h a Vi w v Vi w Group kh mụ í h a Vi w Group l xắp xếp th nh ph n Vi w th o tr t t n o nh t ịnh ng t với ng ời ùng Ví Các loại View thường sử dụng : • TextView: hi n thị t xt ịng hay nhi u ịng • EditText: hỉnh s a t xt th h n nhi u ki u E itT xt ví ụ: hỉ nh p s vùng nh p ịa hỉ mail vùng nh p t o n nội ung… • ImageView : hi n thị nh • Button: n t nh n ph n iệt ằng t xt • ImageButton: n t nh t ph n iệt ằng h nh nh • RadioButton: h n anh s h • CheckBox: h n nhi u anh s h • ListView: hi n thị • ExpandableListView: hi n thị th mụ • ToggleButton: n t nh n hai tr ng th i • ProgressBar: tiến tr nh it m on th o ki u anh s h it m on th o nh m th o ki u at y vụ Các loại View Group thường xử dụng : • LinearLayout: ùng th ờng xuy n nh t xắp xếp Vi w on th o hi u ngang hay hi u Vi w on t ng ng ột hay h ng • RelativeLayout: xắp xếp on kh v với Vi w • ScrollView: T ộng huy n sang th nh uộn nội ung m ng h nh th o hi u Vi w on th o vị trí t ng i với i qu Vi w hi u i • TableLayout: Xắp xếp vi w th o ki u ng g m nhi u Ta l Row C h n gi n v phổ iết nh t thiết kế UI tr n ng ụng An roi l viết t p tin Layout ằng XML Mỗi A tivity t ng ng với XML Layout L u ý: luôn uy nh t Vi w Group g h a to n ộ Vi w ịn l i Ví ụ: thiết kế UI n gi n g m E itT xt v Button Kết qu : C thuộ tính a Vi w ợ thiếp l p ằng gi trị thuộ tính Các thuộ tính quan tr ng th ờng s ụng tr n m i ki u Vi w: • id: t n v a Vi w hay Vi w Group • layout_width: ộ rộng a Vi w • layout_height: ộ ao a Vi w x ịnh v l y s Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin a th XML ụng o Page 35 ĐỒ ÁN TỐT NGHIỆP Gi trị (5px p …): a layout_wi th v layout_h ight th l gi trị s kèm th o o px: pix l n vị i m nh hính x nhi u kí h th m n h nh n vị không n n ùng thiết kế ho o dp hoặ dip (Density-in p n nt Pix ls): n vị phụ thuộ kí h th m n h nh n n ùng thí h hợp ho thiết kết UI tr n nhi u ộ ph n gi i o sp (Scale-in p n nt Pix ls): gi ng p nh ng thay ổi ng ời ùng tùy h n kí h th font h ho hệ th ng tí h hợp ho font h o pt: point 1/72 a in h s o in: inches Hoặ th l gi trị ịnh sau: o fill_parent: l y hết kí h th Vi w o match_parent: nh fill_par nt k từ API l v r o wrap-content: kí h th vừa nội ung • layout_weight: thuộ tí h kh ặt iệt nh ng s ụng kh nhi u gi trị s ho iết Vi w tr n hết kho ng tr ng òn l i a Vi w th o gi trị ợ ặt • gravity: thiết l p vị trí t • layout_gravity: thiết l p vị trí t tr n ới… • padding: kho ng h a nội ung hay Vi w on tr n ới khơng l m thay ổi kí h th Vi w • layout_margin: th m ph n kho ng tr ng v o Vi w mép ngo i tr i ph i tr n ới…l m thay ổi kí h th Vi w ng Ngo i với ki u Vi w i a Vi w on: tr i ph i gi a tr n ng ới… i so với Vi w ha: tr i ph i gi a r t nhi u thuộ tính kh h mép tr i ph i th thiết l p Cách đặt XML Layout làm layout cho Activity Trong ph ờng th onCr at g i: setContentView(R.layout.main); Với t p tin XML Layout t n l main.xml Cách lấy đối tượng View từ layout để xử lý TextView textview=(TextView)findViewById(R.id.textview_id); Với Vi w ki u T xtVi w v i l t xtvi w_i Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 36 ĐỒ ÁN TỐT NGHIỆP Thao tác View Mỗi lo i Vi w hay Vi w Group h nh ộng kh textview.setText(“Giá trị text”); Th m s kiện thao t tr n Vi w hoặ Vi w Group Đ s kiện ng ời ùng thao t tr n Vi w ph i t o List n r t ng ng với h nh ộng a ng ời ùng v t ng ng với lo i Vi w C lo i List n r th ờng ùng: • OnClickListener: s kiện li k v o Vi w • OnLongClickListener: kiện nh n v gi Vi w h n 1s • OnItemClickListener: s kiện h n it m (ListVi w …) • OnCheckedChangeListener : s (ToogleButton, CheckBox) • OnDoubleTapListener: s kiện li k kiện thay ổi tr ng th i h k • OnTouchListener: s kiện tr ợt View Cách gán Listener cho View button.setOnClickListener(button_onclick); Với i t ợng OnCli kList n r l utton_on li k 4.3.2 Đăng ký đồ Google Map ứng dụng Đ s ụng n APIk y Mỗi phi n n Googl Map ng ụng a An roi SDK APIk y uy nh t v không th Map l n UI n ph i khai ùng ợ n ph i ăng ký huỗi i ặt tr n m y tính ợ tr n m y kh Đ hi n thị th l y n Googl o Vi w ặt iệt l : com.google.android.maps.MapView Khai báo XMLayout: A tivity a hi n thị n n ph i kế thừa lớp MapActivity Đ a th viện om.googl an roi maps v o ng ụng ằng t p tin An roi Manif st.xml Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin h khai o Page 37 ĐỒ ÁN TỐT NGHIỆP Đ thao t • n Googl Map hai i t ợng quan tr ng : MapView: l i t ợng n Googl Map C thao t th m thông tin th m nh u th m ờng i p nh t n l y t a ộ … th tr n i t ợng n y C hl y • tr n i t ợng MapVi w t MapController: thao t t o ộ nh t ịnh … C hl y ng t tr n n h l y Vi w từ XMLayout : ph ng to thu nh i huy n ến i t ợng MapControll r: MapController mc=mv.getController(); • Một t a ộ tr n n Googl Map l th a lớp G oPoint Thuộ tính a th a lớp G oPoint g m : latitu E6(int) longitudeE6(int) (ngu n: http://www.androidhive.info/) 4.3.3 Đánh dấu địa điểm thông tin đồ Đ nh u ịa i m vẽ thông tin l y t o ộ tr n n n s ụng th a lớp Ov rlay Lớp It miz Ov rlay l lớp kế thừa từ lớp Ov rlay ùng vẽ anh s h i m ki u hoặ kế thừa từ lớp Ov rLayIt m Trong th a lớp MapVi w h a anh s h ArrayList Ov rlay C h l y anh s h Ov rLay a MapVi w: ArrayList map_overlays=mv.getOverlays(); Đ hi n thị Ov rlay l n n ph i th m n v o anh s h Ov rlay a MapVi w Nội ung a Ov rlay ợ th m v o sau è l n Ov rlay th m tr Overlay overlay = new Overlay(); map_overlays.add(overlay); Đ vẽ thông tin l n n n ph i i ặt lệnh vẽ ho Ov rlay ph ng th raw() Lớp It miz Ov rlay l lớp kế thừa từ lớp Ov rlay v i ặt sẵn ph ng th vẽ i m nh u ới i s l nh Bitmap hay Drawa l nh u Ov rLay n n hỉ n vẽ i m nh u th không n ov rri ph ng th raw() Tuy nhi n mu n vẽ th m nội ung kh ví ụ: h nh nh o n thằng h nh tròn … th ph i ph i ov rri ph ng th onDraw Ví ụ: @Override Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 38 ĐỒ ÁN TỐT NGHIỆP public void draw(Canvas canvas, MapView mapView, boolean shadow) { // TODO Auto-generated method stub super.draw(canvas, mapView, shadow); //Cài đặt lệnh vẽ đối tượng canvas canvas.draw( ); } } Khi vẽ l n n h nh Th hiệu i u n ph i huy n từ t o ộ G oPoint sang t a ộ i m tr n m n ằng h s ụng lớp Proj tion Point screenPoint= mapView.getProjection().toPixels(point_pick, screenPoint); Mỗi Ov rlayIt m snippet(String) ao g m thuộ tính: point (G oPoint) titl (String) Lớp It miz Ov rlay l lớp kế thừa từ lớp Ov rlay m An roi SDK ung p vẽ nh u i m nhanh h ng a anh s h Ov rlayIt m Ngo i th kế thừa tiếp tụ lớp It miz Ov rlay v Ov rlayIt m t o lớp kh mở rộng h n Lớp Balloon It miz Ov rlay l lớp kế thừa từ lớp It miz Ov rlay vẽ ng thông tin l n i m nh u tr n n ng ời ùng li k v o 4.3.4 Gọi Activity truyền liệu chúng Gọi Activity Trong An roi hai ki u g i A tivity thông ụng : • startA tivity(Int nt int nt): G i A tivity A tivity g i huy n sang tr ng th i onPaus () A tivity ợ g i t o thông qua onCr at () v hi n thị l n m n h nh Nếu A tivity ợ g i kết th A tivity g i n th onR sum () v hi n thị l n m n h nh • startA tivityForR sult(Int nt int nt int r qu stCo ): G i A tivity v hờ kết qu từ A tivity ợ g i tham s a v o th m r qu stCo ph n iệt mụ í h g i A tivity A tivity g i huy n sang tr ng th i onPaus () A tivity ợ g i t o thông qua onCr at () v hi n thị l n m n h nh Nếu A tivity ợ g i kết th tr ng th i kết qu ợ thiết l p tr v A tivity g i n thơng qua ph ng th : • setResult(int resultCode): resultCo A tivity -1 kết qu • ợ g i r sultCo ho iết kết qu th a gi trị RESULT_OK: ằng h p nh n RESULT_CANCELED: kết qu ị qua s tR sult(int r sultCo ata): Th m liệu v o Int nt v gởi ho A tivity g i n ằng startActivityForResult() Sử dụng Intent để gọi Activity truyền liệu Activity Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 39 ĐỒ ÁN TỐT NGHIỆP Khởi t o i t ợng Int nt g i A tivity Intent in= new Intent(activity1.this, Actvity2.class); startActivity(in); • activity1.this: l Cont xt • Actvity2.class: lass a A tivity t i a A tivity2 Truy n liệu v o Int nt s ụng Bun l Bun l h a t p liệu th n v o Int nt gởi sang A tivity kh Sau ặt liệu v o Bun l ặt Bun l v o Int nt gởi i C ph ng th ặt liệu v o Bun l : • putInt (String key, int value) • putIntArray (String key, int[] value) • putIntArray (String key, int[] value) • putIntArray (String key, int[] value) … key: l từ kh a ùng ph n iệt liệu v l y liệu A tivity gởi ến Bun l th av ot t ki u liệu sở a Java Mu n a v o ki u i t ợng ph i x y ng lớp impl m nt int rfa Par la l Ph ng th a i t ợng Par la l v o Bun l : • putParcelable (String key, Parcelable value) • putParcelableArray (String key, Parcelable[] value) • bun.putParcelableArrayList(String key, ArrayList< Parcelable > value) Ph Ph ng th ng th L y a Bun l v o Int nt: int nt.putExtras(Bun l xtras) l y Bun l từ Int nt: int nt.g tExtras() liệu từ Bun l : • getInt (String key) • getIntArray (String key) • getIntArray (String key) • getIntArray (String key) Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 40 ĐỒ ÁN TỐT NGHIỆP Kết luận i Kết đạt • T m hi u • X y ng ộng ợ ơng nghệ l p tr nh tr n thiết ị i ộng An roi ợ h ng tr nh qu ng thông tin u lị h tr n thiết ị i ii Hạn chế đề tài • D liệu h a phong ph v • Giao iện ịn • Ch a • Ch h a ng n gi n h a h p n qu n lý thông tin ng ời ùng t ng t liệu òn h n hế iii Hướng phát triển • Bổ sung • Cho phép ng ời ùng qu n lý ịa i m • X y • Hoặ nh ho t ng liệu hế n p liệu p nh t thông qua m ng th ùng xml x y ng sở liệu tr n m y h ph n m m ho t ộng nh ng ụng phía li nt Cho phép mở rộng r t nhi u h h u í h: lu n nh gi i viết hia gi a ng ời ùng với nhau… V th ộng nh m ng x hội Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 41 ĐỒ ÁN TỐT NGHIỆP Tài liệu tham khảo [1] https://vi.wikipedia.org/wiki/Android [2] http://www.androidhive.info/ [3] https://www.google.com/maps/about/ Nguyễn Minh Hiếu – Lớp 52K3 – Khoa Công nghệ thông tin Page 42 ... ... com.google .android. maps.MapView Khai báo XMLayout:
Ngày đăng: 01/08/2021, 11:27
Xem thêm: Tìm hiểu và xây dựng ứng dụng quảng bá du lịch trên thiết bị android