Nhận thấy nhu cầu sử dụng smartphone của mọi người ngày càng tăng và mong muốn sở hữu cho mình những wallpaper chất lượng đi kèm với những nhạc chuông đình đám hiện hành bây giờ, em hướn
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài: “XÂY DỰNG PHẦN MỀM LƯU TRỮ FILE HÌNH ẢNH, ÂM THANH”
Giảng viên hướng dẫn : TS LÊ MINH TUẤN Sinh viên thực hiện: NGUYỄN DUY PHƯƠNG
Lớp : K16
Khoá : 2013-2017
Hệ : ĐẠI HỌC CHÍNH QUY
Hà Nội, tháng 4 /2017
Trang 2ĐỒ ÁN TỐT NGHIỆP
Độc lập - Tự do – Hạnh phúc
KHOA CN ĐIỆN TỬ - THÔNG TIN
ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Họ và tên sinh viên: NGUYỄN DUY PHƯƠNG
Lớp: K16 Khoá: 16 (2013-2017)
Ngành đào tạo: Công nghệ điện tử, Truyền thông Hệ đào tạo: ĐHCQ
1/ Tên đề tài: XÂY DỰNG PHẦN MỀM LƯU TRỮ FILE HÌNH ẢNH, ÂM
THANH
2/ Nội dung chính:
1/ Phân tích yêu cầu đề tài và đề xuất phương án triển khai
2/ Đặc tả chức năng và xây dựng nguyên mẫu ban đầu
3/ Tìm hiểu kỹ thuật và xây dựng sản phầm
4/ Kiểm tra, rà soát lỗi của sản phẩm
3/ Ngày giao :20/02/2017
4/ Ngày nộp : 13/05/2017
(Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên)
Trang 3ĐỒ ÁN TỐT NGHIỆP
MỤC LỤC
MỤC LỤC 3
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH 5
MỞ ĐẦU 7
CHƯƠNG 1: GIỚI THIỆU 8
1.1 Tổng quan đề tài 8
1.2 Mô tả ứng dụng 8
1.2.1 Đối tượng sử dụng 8
1.2.2 Chức năng xem và tải Hình nền 8
1.2.3 Chức năng nghe thử và tải nhạc chuông 8
1.3 Yêu cầu ứng dụng 9
1.3.1 Yêu cầu chức năng 9
1.3.2 Yêu cầu phi chức năng 9
1.4 Phạm vi và phương pháp triển khai 9
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 10
2.1 Tổng quan hệ thống 10
2.2 Biểu đồ Usecase 11
2.2.1 Usecase tổng quan 11
2.2.2 Usecase cho chức năng xem và tải Hình nền 11
2.2.3 Usecase cho chức năng nghe thử và tải nhạc chuông 12
2.3 Thiết kế cơ sở dữ liệu 12
CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI SẢN PHÂM 14
3.1 Tổng quan về Android 14
3.2 Tổng quan về môi trường phát triển Android Studio 19
3.3 Các công cụ hỗ trợ phát triển: 20
Các tính năng mới của Eclipse là gì ? 20
Ưu và nhược điểm của Eclipse là gì ? 21
3.3.2 Tổng quan về JAVA 22
3.3.3 Giới thiệu cơ bản về Android studio 24
3.3.4 Sử dụng Android Emulator 40
3.4 Tìm hiểu về API 49
REST For Web Developers 50
Cấu trúc REST là gì? 51
Trang 4ĐỒ ÁN TỐT NGHIỆP
Cần chú ý với RESTful APIs 51
Truy cập API Resources 53
Tự build API 54
Tài liệu nghiên cứu 55
3.5 Thực hiện chương trình 55
3.4.1 Thực hiện chức năng xem và tải Hình nền 55
3.4.2 Thực hiện chức năng nghe thử và tải nhạc chuông 57
3.4.3 Những khó khăn gặp phải khi thực hiện chương trình 59
3.4 Hình ảnh thực tế về sản phẩm 60
KẾT LUẬN 62
LỜI CẢM ƠN 63
Trang 5ĐỒ ÁN TỐT NGHIỆP
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH Danh mục Hình ảnh
Hình 1: Biểu đồ toàn cảnh 10
Hình 2: Usecase tổng quan 11
Hình 3: Usecase chức năng xem và tải Hình nền 11
Hình 4: Usecase chức năng nghe thử và tải nhạc chuông 12
Hình 5: Logo Android 14
Hình 6: Lịch sử phát triển Android 16
Hình 7: Kiến trúc Android 18
Hình 8: Các phiên bản Android 19
Hình 9: Giao diện Eclipse 21
Hình 10: Trang chào Hình của Eclipse 22
Hình 11: Đặc tính của Java 23
Hình 12: Trang chào mừng Android Studio 25
Hình 13: Tạo Project mới trong Android Studio 26
Hình 14: Lựa chọn Target Devices 27
Hình 15: Lựa chọn Layout 28
Hình 16: Lựa chọn loại Project 29
Hình 17: Creating Project 30
Hình 18: Android Studio hướng dẫn 31
Hình 19: Project được tạo ra 32
Hình 20: Cấu trúc một Project trong Android Studio 33
Hình 21: Vùng 1 34
Hình 22: Vùng 2 35
Hình 23: Vùng 5 36
Hình 24: Boundaries touching other widgets 37
Hình 25:Run và Debug 38
Hình 26:Quản lý máy ảo AVD 38
Hình 27:Quản lý Android SDK Manager 1 39
Hình 28:Quản lý Android SDK Manager 2 39
Hình 29:Cài đặt Android Emulator 1 40
Hình 30:Cài đặt Android Emulator 2 41
Hình 31:Cài đặt Android Emulator 3 41
Hình 32:Tạo thiết bị mô phỏng Nexus 5-1 42
Hình 33:Tạo thiết bị mô phỏng Nexus 5-2 43
Hình 34:Tạo thiết bị mô phỏng Nexus 5-3 44
Hình 35:Tạo thiết bị mô phỏng Nexus 5-4 44
Hình 36: Tạo thiết bị mô phỏng Nexus 5-5 45
Hình 37:Thay đổi kích thước của cửa sổ mô phỏng-1 45
Hình 38:Thay đổi kích thước của cửa sổ mô phỏng-2 46
Hình 39:Thay đổi kích thước của cửa sổ mô phỏng-3 47
Hình 40:Chọn thiết bị mô phỏng mặc định-1 48
Hình 41:Chọn thiết bị mô phỏng mặc định-2 48
Hình 42:Chọn thiết bị mô phỏng mặc định-3 49
Hình 43: API 50
Hình 44:Cấu trúc REST là gì? 51
Hình 45:Cần chú ý tới RESTful APIs 52
Hình 46:Truy cập API Resources 53
Hình 47: Trang chủ ứng dụng 60
Hình 48: Danh mục nhạc chuông 60
Trang 6ĐỒ ÁN TỐT NGHIỆP
Hình 49: Danh mục Hình nền 61
Hình 50: Tính năng về Hình nền mà ứng dụng cung cấp 61
Danh mục bảng biểu Bảng 1: Danh sách tác nhân và mô tả 10
Bảng 2: Danh sách Usecase và mô tả 10
Bảng 3: Thông tin Hình ảnh 12
Bảng 4: Thông tin danh mục Hình ảnh 12
Bảng 5: Thông tin nhạc chuông 13
Bảng 6: Thông tin danh mục nhạc chuông 13
Trang 7ĐỒ ÁN TỐT NGHIỆP
MỞ ĐẦU
Trong cuộc sống hiện đại, khi mà công nghệ thông tin đang ngày một phát triển, nhiều thành tựu mới nối tiếp nhau ra đời để phục vụ, đơn giản hoá cuộc sống của con người Trong bối cảnh đó, với vị trí đang là những con người trưởng thành và lớn lên, bản thân em cảm thấy cần phải liên tục và học hỏi để đem những kiến thức học được trên trường phục vụ vào cuộc sống thường ngày
Khi mà mạng internet dần dần trở nên không thể thiếu trong cuộc sống hiện đại, máy tính và smartphone đã trở nên quá phổ biến với mọi người, bất kì thao tác hay công việc nào cũng đều có thể thực hiện được khi mỗi người đều có thiết bị cá nhân kết nối internet
Nhận thấy nhu cầu sử dụng smartphone của mọi người ngày càng tăng và mong muốn
sở hữu cho mình những wallpaper chất lượng đi kèm với những nhạc chuông đình đám hiện hành bây giờ, em hướng tới việc xây dựng 1 app cho điện thoại có khả năng lưu trữ các file âm thanh và Hình ảnh để những người sử dụng có thể tải về Chương trình
này e xin đặt tên là Zizi Ringtone and wallpaper
Vì khả năng của bản thân còn hạn chế, hiện Zizi mới chỉ được hoàn thiện ở phần
wallpaper, còn phần ringtone thì vẫn còn nhiều vấn đề em chưa giải quyết kịp, mong các thầy và cô thông cảm
Trang 8Khi mà mạng internet dần dần trở nên không thể thiếu trong cuộc sống hiện đại, máy tính và smartphone đã trở nên quá phổ biến với mọi người, bất kì thao tác hay công việc nào cũng đều có thể thực hiện được khi mỗi người đều có thiết bị cá nhân kết nối internet
Nhận thấy nhu cầu sử dụng smartphone của mọi người ngày càng tăng và mong muốn
sở hữu cho mình những wallpaper chất lượng đi kèm với những nhạc chuông đình đám hiện hành bây giờ, em hướng tới việc xây dựng 1 app cho điện thoại có khả năng lưu trữ các file âm thanh và Hình ảnh để những người sử dụng có thể tải về Chương trình
này e xin đặt tên là Zizi Ringtone and wallpaper
1.2.2 Chức năng xem và tải Hình nền
• Xem Hình nền theo các phân loại khác nhau
• Tải Hình nền
• Thêm Hình nền vào danh mục yêu thích
• Đặt Hình ảnh thành ảnh nền điện thoại
1.2.3 Chức năng nghe thử và tải nhạc chuông
• Xem danh mục nhạc chuông theo phân loại
• Nghe thử nhạc chuông trực tuyến
• Tải nhạc chuông
• Thêm nhạc chuông vào danh sách yêu thích
• Đặt bài hát trong danh mục thành nhạc chuông điện thoại
Trang 9ĐỒ ÁN TỐT NGHIỆP
1.3 Yêu cầu ứng dụng
1.3.1 Yêu cầu chức năng
Do là một ứng dụng phía client nên chỉ có một tác nhân duy nhất tham gia và thụ hướng trực tiếp các chức năng mà ứng dụng cung cấp là người sử dụng ứng dụng Người sử dụng cần được sử dụng đầy đủ các chức năng mà ứng dung cung cấp:
• Chức năng xem và tải Hình
o Xem Hình nền theo các phân loại khác nhau
o Tải Hình nền
o Thêm Hình nền vào danh mục yêu thích
o Đặt Hình ảnh thành ảnh nền điện thoại
• Chức năng nghe thử và tải nhạc chuông
o Xem danh mục nhạc chuông theo phân loại
o Nghe thử nhạc chuông trực tuyến
o Tải nhạc chuông
o Thêm nhạc chuông vào danh sách yêu thích
o Đặt bài hát trong danh mục thành nhạc chuông điện thoại
1.3.2 Yêu cầu phi chức năng
• Tốc độ truy cập ứng dụng phải ổn định, nhanh chóng
• Giao diện đơn giản, dễ sử dụng
• Đảm bảo toàn vẹn dữ liệu khi người dùng lưu trữ lại các tài nguyên
• Đảm bảo tính riêng tư về các nội dung mà người dùng tìm kiếm
1.4 Phạm vi và phương pháp triển khai
Ứng dụng được triển khai như một ứng dụng Android trên điện thoại di động Được xây dựng và lập trình bằng ngôn ngữ Java sử dụng môi trường phát triển Android Studio
Ứng dụng sau khi phát triển sẽ được phân phối miễn phí trên chợ ứng dụng Play Store của Google
Trang 10ĐỒ ÁN TỐT NGHIỆP
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG
2.1 Tổng quan hệ thống
Hình 1: Biểu đồ toàn cảnh
Danh sách tác nhân và mô tả
Người sử dụng • Chức năng xem và tải Hình
o Xem Hình nền theo các phân loại khác nhau
o Tải Hình nền
o Thêm Hình nền vào danh mục yêu thích
o Đặt Hình ảnh thành ảnh nền điện thoại
• Chức năng nghe thử và tải nhạc chuông
o Xem danh mục nhạc chuông theo phân loại
o Nghe thử nhạc chuông trực tuyến
Bảng 1: Danh sách tác nhân và mô tả
Danh sách Usecase và mô tả
1 Xem và tải Hình nền Người sử dụng
2 Nghe thử và tải nhạc chuông Người sử dụng
Bảng 2: Danh sách Usecase và mô tả
Trang 11ĐỒ ÁN TỐT NGHIỆP
2.2 Biểu đồ Usecase
2.2.1 Usecase tổng quan
Hình 2: Usecase tổng quan
2.2.2 Usecase cho chức năng xem và tải Hình nền
Hình 3: Usecase chức năng xem và tải Hình nền
Trang 12ĐỒ ÁN TỐT NGHIỆP
2.2.3 Usecase cho chức năng nghe thử và tải nhạc chuông
Hình 4: Usecase chức năng nghe thử và tải nhạc chuông
2.3 Thiết kế cơ sở dữ liệu
AUTO_INCREMENT, Primary,
Mã Hình nền
Bảng4: Thông tin danh mục Hình ảnh
Trang 13ĐỒ ÁN TỐT NGHIỆP
AUTO_INCREMENT, Primary,
Mã bản nhạc
Bảng5: Thông tin nhạc chuông
Bảng6: Thông tin danh mục nhạc chuông
Trang 14ĐỒ ÁN TỐT NGHIỆP
CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI SẢN PHÂM
3.1 Tổng quan về Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết
bị di động có màn Hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008
Hình 5: Logo Android
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi.Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt
Trang 15ĐỒ ÁN TỐT NGHIỆP
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo
ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ
Lịch sử phát triển Anroid
Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành lập có trụ sở ở Palo Alto, California, Mỹ Những nhà đồng sáng lập của Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế và phát triển giao diện tại WebTV) Khi đó, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động Điều này tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại di động
Trang 16ĐỒ ÁN TỐT NGHIỆP
Hình 6: Lịch sử phát triển Android
Trang 17ĐỒ ÁN TỐT NGHIỆP
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động dựa trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị cầm tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng nâng cấp mở rộng cao.[cần dẫn nguồn] Một số nguồn tin cho biết trước đó Google đã lên danh sách các thành phần phần cứng và các đối tác phần mềm, đồng thời ra hiệu với các nhà mạng rằng họ sẵn sàng hợp tác ở nhiều cấp độ khác nhau Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di động xuất hiện trong tháng
12 năm 2006 Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này Các phương tiện truyền thông in và online cũng sớm có bài viết về những tin đồn cho rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu Google Và lại càng có nhiều suy đoán sau bài viết về việc Google đang định nghĩa các đặc tả công nghệ và trình diễn các mẫu thử với các nhà sản xuất điện thoại di động và nhà mạng
Lịch sử phiên bản của hệ điều hành di động Android bắt đầu với bản Android beta vào tháng 11 năm 2007 Phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào tháng 9 năm 2008 Android đang được phát triển bởi Google và Open Handset Alliance (OHA), và đã có một số bản cập nhật cho hệ điều hành này kể từ khi ra mắt
Từ tháng 4 năm 2009, phiên bản Android được phát triển dưới tên mã là chủ đề bánh kẹo và phát hành theo thứ tự bảng chữ cái: Cupcake (1.5), Donut (1.6), Eclair (2.0–2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), KitKat (4.4), Lollipop (5.0-5.1.1), Marshmallow (6.0), Nougat(7.0) Vào 3 tháng 9 năm 2013, Google công bố rằng 1 tỉ thiết bị đã được kích hoạt hiện sử dụng Android OS trên toàn cầu Bản cập nhật Android gần đây nhất là KitKat 4.4, nó được phát hành bản thương mại trên thiết bị 22 tháng 11 năm 2013, thông qua cập nhật OTA
Tính Năng Mở của hệ điều hành Android là gì?
Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụng di động hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp Nó được xây dựng để được thực sự mở Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử dụng máy ảnh, cho phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn nữa những kinh nghiệm
cố kết cho người dùng Android được xây dựng trên mở Linux Kernel Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi trường di động Android là mã nguồn mở, nó có thể được liberally
mở rộng Nền tảng này sẽ tiếp tục tiến triển như cộng đồng nhà phát triển công việc
cùng nhau để xây dựng các ứng dụng di động sáng tạo
Trang 18ĐỒ ÁN TỐT NGHIỆP
Tất cả các ứng dụng có thể
Android không phân biệt giữ
bên thứ ba Họ tất cả có thể đ
người cung cấp cho người sử
vụ Với các thiết bị xây dựng tr
thích ứng với điện thoại đến l
thoại, những phong cách củ
dẫn điện thoại của họ để sử d
xem tất cả các Hình ảnh
Phá bỏ các rào cản ứng dụ
Android phá bỏ rào cản để xây d
phát triển có thể kết hợp thông tin t
của một cá nhân – ví dụ như
cung cấp một trải nghiệm ng
triển có thể xây dựng một ứng d
và được cảnh báo khi họ đang có trong v
Với Android tốc độ nhanh & phát tri
Android cung cấp truy cập đế
sử dụng để xây dựng các ứng d
Hình 7: Kiến trúc Android
ng có thể được tạo ra cho Android?
ệt giữa các ứng dụng lõi của điện thoại và các
có thể được xây dựng để có thể truy cập bằng khả
ời sử dụng điện thoại với một dải rộng các ứng dựng trên Hệ điều hành Android, người dùng có thđến lợi ích của họ Họ có thể trao đổi trên màn
ng phong cách của dialer, hoặc bất kỳ ứng dụng Họ thậm chí có th
để ử dụng Hình ảnh ưa thích của họ xem các ứng d
ng dụng của Android?
để xây dựng các ứng dụng mới và sáng tạo Ví d
p thông tin từ các trang web với dữ liệu trên điện tho
ư địa chỉ liên hệ của người dùng, lịch, hoặc vị
ệm người dùng có liên quan hơn Với Android, m
ột ứng dụng cho phép người dùng xem vị trí của b
ọ đang có trong vùng phụ cận cho họ một cơ hội để
nhanh & phát triển ứng dụng dễ dàng
ập đến một loạt các thư viện công cụ hữu ích v
ng các ứng dụng phong phú Ví dụ, Android cho phép các nh
à các ứng dụng của
ng khả năng của một ứng dụng và dịch ùng có thể hoàn toàn màn Hình của điện
m chí có thể hướng ứng dụng để xử lý
ạo Ví dụ, một nhà
ện thoại di động
ặc vị trí địa lý – để
i Android, một nhà phát trí của bạn bè của họ
ội để kết nối
u ích và có thể được , Android cho phép các nhà phát
Trang 19ĐỒ ÁN TỐT NGHIỆP
triển để có được vị trí của điệ
điều kiện cho đồng đẳng rich
tập hợp đầy đủ công cụ đã
tảng phát triển, với năng suấ
Phần mềm điện thoại Android
Phải nói rằng Android ra đờ
3.2 Tổng quan về môi trư
Android Studio là công cu l
mẽ hơn ADT (Android Developer Tools), bao g
ủa điện thoại, và cho phép các thiết bị để giao tiế
ng rich-to-peer ứng dụng xã hội Ngoài ra, Android
ã được xây dựng từ mặt đất lên cùng với việc cung c
ng suất cao và cái nhìn sâu vào các ứng dụng của h
i Android
ng Android ra đời đã mang lại cho người dùng điện thoại sự c
cSmartphone, chưa đầy 2 năm kho phần mềm cho Android
ng dụng và cho đến bây giờ đã là hơn 800.000 ứng d
ất cho android
ơi cho android ứng dụng, trò chơi trên android
ường phát triển Android Studio
Android Studio là công cu lập trình dựa trên nền IntelliJ, cung cấp các tính n
n ADT (Android Developer Tools), bao gồm:
ự án Grandle
i nhanh và tái sử dụng cấu trúc phương thúc
p các công cụ kiểm tra tính khả dụng, khả năng hoạt độ
ền tảng…
ã nguồn và đóng gói ứng dụng
p giao diện cung cấp tổng quan giao diện ứng dụng v
ùy chỉnh trên nhiều cấu Hình khác nhau
ng tác với nền Google Cloud
Hình 8: Các phiên bản Android
ng dụng Android Studio để dùng làm công cụ lập tr
giao tiếp với nhau tạo Android bao gồm một
ụ lập trình bao gồm
Trang 20Eclipse là "công cụ hỗ trợ lập trình mã nguồn mở" được phát triển bởi
IBM Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng
ta có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project(PDE-
Plug-in)
Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng ta có thể
mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE- Plug-in Development Environment) Mặc dù Eclipse được viết bằng ngôn ngữ lập trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java Eclipse còn hỗ trợ cho lập trình viên code theo các mô Hình phát triển như MVC, tạo thêm các lib hỗ trợ phát triển phần mềm
Ví dụ: Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các ngôn ngữ lập trình như C/C + + và COBOL Ngoài ra, còn rất nhiều ngôn ngữ khác như PHP, Groovy
Các tính năng mới của Eclipse là gì ?
Công cụ lập trình Eclipse có rất nhiều tính năng giúp cho việc soạn thảo chương trình Java như :
• Code Completion: Nhằm hỗ trợ người lập trình viết mã chương trình Java có độ chính xác hơn và không cần phải nhớ quá nhiều cú pháp và câu lệnh Người dùng chỉ cần ấn tổ hợp phím Ctr + Space để sổ ra các câu lệnh gợi ý tương ứng
• Quick Fix: Khi bạn gặp phải lỗi thì Eclipse sẽ giúp bạn có một danh sách các phương pháp khắc phục lỗi tương ứng, và có những biện pháp hỗ trợ sữa lỗi một cách nhanh chóng và dễ dàng hơn
• Refactor : Eclipse sẽ tự động cập nhật tòan bộ Project cho phù hợp với tên mới Đống thời, Refactor còn giúp người lập trình rút ra được lớp Interface từ các lớp dựng sẵn & tự động cài đặt Interface trên các lớp mà sử dụng giao diện này
• Local History: Với mục đích là so sánh giữa phiên bản cũ cới phiên bản mới của tập tin bạn đang làm việc
Trang 21• Hỗ trợ môi trường phát tri
• Có thể chạy trên nhiề
• Hỗ trợ xây dựng nhiề
• Không hạn chế các nh
• Load nhanh hơn nhờ vi
• Viết được nhiều các công c
Nhược điểm của Eclipse
• Cài đặt phức tạp
Java Scrapbook pages: Nhằm giúp người lập trình viết một ch
ử dụng trình soạn thảo đơn giản được thực thi d
Hình 9: Giao diện Eclipse
a Eclipse là gì ?
ạch các công cụ bên trong
ụ như : HTML ,C,Java, XML,JSP, GIF,EJB
Trang 22Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của các ngôn ngữ hướng đối tượng
• Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính,
các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển
• Tính đa Hình (Polymorphism): cho phép một phương thức có các tác động
khác nhau trên nhiều loại đối tượng khác nhau Với tính đa Hình , nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số
• Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở
rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại
Trang 23ĐỒ ÁN TỐT NGHIỆP
• Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi
tiết của một đối tượng đối với người sử dụng đối tượng ấy
Bên cạnh đó Java còn có một số đặc tính khác:
• Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngôn ngữ
lập trình khác như C và C ++, khi Java được biên dịch, nó không được biên dịch sang mã máy cụ thể, mà thay vào đó là mã byte code chạy trên máy ảo Java (JVM) Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ
có thể thực thi được các chương trình Java
• Đơn giản: học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen với
các ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn Java trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toán con trỏ từ C/C++
• Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa một
chiều (one way hashing) hoặc mã hóa công cộng (public key)
• Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thực thi
nhiều task cùng một lúc Tính năng này thường được xử dụng rất nhiều trong lập trình game
• Hiệu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộ
nhớ đối với các đối tượng không được dùng đến
• Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế để thích
ứng với nhiều môi trường phát triển
Hình 11: Đặc tính của Java
Java được sử dụng để làm gì?
• Viết ứng dụng web (J2EE): Java thường được sử dụng để xây dựng các hệ thống web lớn đòi hỏi độ bảo mật cao, số lượng người dùng lớn như ngân hàng, phần mềm quản lý bệnh viện, CRM, HRM Đối với các website nhỏ thông thường rất ít viết bằng Java
• Viết ứng dụng mobile (J2ME): Trước đây nền tảng J2ME thường được sử dụng
để viết game và app cho di động feature phone (file jar) và giờ đây khi smartphone Android lên ngôi Java lại tiếp tục được sử dụng để viết app và game cho nền tảng Android (file apk)
Trang 24ĐỒ ÁN TỐT NGHIỆP
• Viết ứng dụng desktop (J2SE): Các ứng dụng desktop viết bằng Java thật sự không nhiều có thể kể đến một số phần mềm như JMeter hoặc Designer Vista Lợi thế lớn nhất của ứng dụng Java là bạn chỉ viết một lần và sau đó có thể đem chương trình lên Windows, Linux hay Mac để chạy mà không cần phải viết lại Tuy nhiên do chạy trên JVM nên performance của ứng dụng thấp hơn một chút
so với các ngôn ngữ như C/C++, C#
Sử dụng gì để lập trình Java?
Để lập trình Java bạn cần đến:
• Java Development Kit (JDK - Bộ công cụ cho người phát triển ứng dụng bằng
ngôn ngữ lập trình Java) là một tập hợp những công cụ phần mềm được phát triển bởi Sun Microsystems dành cho các nhà phát triển phần mềm, dùng để
viết những applet Java hay những ứng dụng Java - bộ công cụ này được phát
hành miễn phí gồm có trình biên dịch, trình thông dịch, trình giúp sửa lỗi
(debugger, trình chạy applet và tài liệu nghiên cứu
Kể từ khi ngôn ngữ Java ra đời, JDK là bộ phát triển phần mềm thông dụng nhất cho Java Ngày 17 tháng 11 năm 2006, hãng Sun tuyên bố JDK sẽ được phát hành dưới giấy phép GN General Public License (GPL), JDK trở thành phần mềm tự do Việc này đã được thực hiện phần lớn ngày 8 tháng 5 năm
2007 và mã nguồn được đóng góp cho OpenJDK
• IDE (Integrated Development Environment): là phần mềm cung cấp cho các lập
trình viên một môi trường tích hợp bao gồm nhiều công cụ khác nhau như chương trình viết mã lệnh hay code editor, chương trình sửa lỗi hay debugger, chương trình mô phỏng ứng dụng khi chạy thực tế hay simulator Nói cách khác thì IDE là một phần mềm bao gồm những gói phần mềm khác giúp phát triển ứng dụng phần mềm
Các IDE phổ biến đang được sử dụng gồm có Netbeans IDE, Eclipse, PhpStorm, XCode (sử dụng trên hệ điều hành MacOS để phát triển ứng dụng mobile) Phần tiếp theo chúng ta sẽ cùng tìm hiểu một số IDE phổ biến
3.3.3 Giới thiệu cơ bản về Android studio
Cách tạo một Project trong Android Studio
- Mở Android Studio lên, chọn "Start a new Android Studio project" :
Trang 25ĐỒ ÁN TỐT NGHIỆP
Hình Hình 12: Trang chào mừng Android Studio
Trang 26ĐỒ ÁN TỐT NGHIỆP
– Màn Hình Create New Project sẽ hiển thị ra, nhập đúng thông tin rồi bấm Next:
Hình 13: Tạo Project mới trong Android Studio
- Xuất hiện màn Hình cấu Hình Target Android Devices như dưới đây (Bạn hiểu
nôm na là cấu Hình thiết bị mục tiêu mà ứng dụng Support tốt nhất):
Trang 27ĐỒ ÁN TỐT NGHIỆP
Hình 14: Lựa chọn Target Devices
– Sau khi bấm Next, màn Hình tiếp theo hiển thị cho phép chọn loại Activity mặc
định:
Trang 28ĐỒ ÁN TỐT NGHIỆP
Hình 15: Lựa chọn Layout
- Ta chon Empty Activity rồi bấm Next:
Trang 29ĐỒ ÁN TỐT NGHIỆP
Hình 16: Lựa chọn loại Project
- Thường nếu bắt đầu new project, ta để mặc định không chỉnh sửa activity_main
như trên rồi bấm finish
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
Sau khi cấu Hình xong, ta bấm Finish, Màn Hình Build Gradle project hiển thị:
Trang 30ĐỒ ÁN TỐT NGHIỆP
Hình 17: Creating Project
– Khi build xong mặc định ta có màn Hình dưới đây:
Trang 31ĐỒ ÁN TỐT NGHIỆP
Ở màn Hình trên ta sẽ được Android Studio hướng dẫn:
- Tìm kiếm: Nhấn 2 lần phím Shift liên tục
- Để xem project: Nhấn tổ hợp phím tắt ALT+1
- Để mở 1 file : Nhấn tổ hợp phím tắt Ctrl+ shift+N
- Để mở các file trước đó: Nhấn tổ hợp phím Ctrl+E
Project của bạn đã được tạo ra :
Trang 32ĐỒ ÁN TỐT NGHIỆP
Hình 19:Project được tạo ra
3 Cấu trúc một Project trong Android Studio
Ta tiến hành mở Project mặc định activity_main.xml , click "Design" ta có màn Hình
như sau: