Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
1,15 MB
Nội dung
ĐỒ Á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: