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

Xây dựng phần mềm lưu trữ file hình ảnh, âm thanh

63 5 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 63
Dung lượng 3,93 MB

Nội dung

VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỦ - THÔNG TIN ĐỒ ÁN TỐTTnu'NGHIỆP ĐẠI HỌC viẹn Vlẹn £>ại học Mơ Ha Nọi • Đề 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: Lớp Khoá : Hệ : : NGUYÊN DUY PHƯƠNG K16 2013-2017 ĐẠI HỌC CHÍNH QUY Hà Nội, tháng 4/2017 ĐỒ ÁN TÓT NGHIỆP MỤC LỤC MỤC LỤC DANH MỤC CÁC BÁNG, so DỊ, HÌNH MỞ ĐẦU CHƯƠNG I: GIỚI THIỆU 1.1 Tổng quan đề tài 1.2 Mô tả ứng dụng 1.2.1 Đối tượng sử dụng 1.2.2 Chức xem tải Hình 1.2.3 Chức nghe thử tài nhạc chuông 1.3 Yêu cầu ứng dụng 1.3.1 Yêu cầu chức 1.3.2 Yêu cầu phi chức 1.4 Phạm vi phương pháp triến khai CHƯƠNG 2: PHÂN TÍCH VÀ THIÉT KẾ ÚNG DỤNG 10 2.1 Tổng quan hệ[tỊ0jigl tệfì yịện 9ạj |ìọe ^t) pỊ^.^ộ.ị 10 2.2 Biếu đồ Usecase 11 2.2.1 Usecase tông quan 11 2.2.2 Usecase cho chức xem tài Hình 11 2.2.3 Usecase cho chức nghe thử tài nhạc chuông 12 2.3 Thiết kế sở liệu 12 CHƯƠNG 3: XÂY DỤNG VÀ TRIÈN KHAI SẢN PHÂM 14 3.1 Tổng quan Android 14 3.2 Tống quan 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 mói Eclipse ? 20 Ưu nhược điểm Eclipse ? .21 3.3.2 Tổng quan JAVA 22 3.3.3 Giới thiệu Android studio 24 3.3.4 Sử dụng Android Emulator 40 3.4 Tim hiểu API 49 REST For Web Developers 50 Cấu trúc REST gì? 51 Đồ ÁN TÓT NGHIỆP càn ý 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 chương trình 55 3.4.1 Thực chức xem tài Hình 55 3.4.2 Thực chức nghe thữ tài nhạc chuông 57 3.4.3 Những khó khăn gặp phái thực chương trình 59 3.4 Hình ành thực tế sản phẩm 60 KẾT LUẬN 62 LỜI CẢM ƠN 63 Thư viện Viện Đại học Mở Hà Nội ĐỊ ÁN TĨT NGHIỆP DANH MỤC CÁC BẢNG, so ĐỊ, HÌNH Danh mục Hình anh Hình 1: Biếu đồ toàn cánh 10 Hình 2: Usecase tống quan 11 Hình 3: Usecase chức xem tải Hình 11 Hình 4: Usecase chức nghe thử 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 Android 19 Hình 9: Giao diện Eclipse 21 Hình 10: Trang chào Hình Eclipse 22 Hình 11: Đặc tính Java 23 Hình 12: Trang chào mừng Android Studio 25 Hình 13: Tạo Project 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 tạo 32 Hình 20: cấu trúc Project Android Studio 33 Hình 21: Vùng 34 ỉímh 23: Vhn| ^.^TMyiin;yien"D|ttigc TO;Ha 36 Hmh 24: Boundaries touching other widgets 37 Hình 25:Run Debug 38 Hình 26:Quàn lý máy ão AVD 38 Hình 27:Quàn lý Android SDK Manager 39 Hình 28:Quán lý Android SDK Manager 39 Hình 29:Cài đặt Android Emulator 40 Hình 30:Cài đặt Android Emulator 41 Hình 31:Cài đạt Android Emulator 41 Hình 32:Tạo thiết bịmơ 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ơ Nexus 5-3 44 Hình 35:Tạo thiết bịmơ 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 sổ mơ phỏng-1 45 Hmh 38:Thay đổi kích thước cửa sổ mô phỏng-2 46 Hình 39:Thay đồi kích thước cửa so mơ phịng-3 47 Hình 40:Chọn thiết bị mơ mặc định-1 48 Hình 41:Chọn thiết bị mơ mặc định-2 48 Hình 42:Chọn thiết bị mô mặc định-3 49 Hình 43: API 50 Hình 44:Cấu trúc REST gì? 51 Hình 45:Cần ý 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 ĐỒ ÁN TĨT NGHIỆP Hình 49: Danh mục Hình 61 Hình 50: Tính Hình 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 mô tá 10 Báng 2: Danh sách Usecase 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 Thư viện Viện Đại học Mở Hà Nội ĐỊ ÁN TĨT NGHIỆP MỞ ĐÀU Trong sống đại, mà công nghệ thông tin ngày phát triển, nhiều thành tựu nối tiếp đời đề phục vụ, đơn giàn hoá sống cúa người Trong bối cành đó, với vị trí người trường thành lớn lên, bàn thân em câm thấy cần phái liên tục học hói để đem kiến thức học trường phục vụ vào sống thường ngày Khi mà mạng internet trờ nên không thiếu sống đại, máy tính smartphone trờ nên phố biến với người, thao tác hay cơng việc thực người 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 người ngày lăng mong muốn sờ hữu cho wallpaper chất lượng kèm với nhạc chng đình dám hành bây giờ, em hướng tới việc xây dựng app cho điện thoại có khả lưu trữ file âm Hình ánh đế người sử dụng tài Chương trình e xin đặt tên Zizi Ringtone and wallpaper Vì khâ cúa bàn thân hạn chế Zizi chi hồn thiện phần wallpaper, cịn phan ringtone vần nhiều vấn đề em chưa giâi kịp, mong thầy cô thông cảm Thư viện Viện Đại học Mở Hà Nội ĐỊ ÁN TĨT NGHIỆP CHƯƠNG 1: GIỚI THIỆU 1.1 Tổng quan đề tài Trong sống đại, mà công nghệ thông tin dang ngày phát triển, nhiều thành tựu nối tiếp đời để phục vụ, đưn giản hoá sống người Trong bối cánh đó, với vị trí người trướng thành lớn lên, bàn thân cm cảm thay can phái liên tục học hói đê đem kiến thức học dược trường phục vụ vào sống thường ngày Khi mà mạng internet trờ nên thiếu sống đại, máy tính smartphone trớ nên phố biến với người, thao tác hay cơng việc dều thực người có thiết bị cá nhân kết nối internet Nhận thấy nhu cầu sữ dụng smartphone người ngày tăng mong muốn sờ hữu cho wallpaper chất lượng kèm với nhạc chng đình dám hành bây giờ, em hướng tới việc xây dựng app cho điện thoại có khả lưu trữ file âm Hình ánh để người sứ dụng tài Chương trình e xin đặt tên Zizi Ringtone and wallpaper 1.2 Mô tã ứng dụng Úng dụng Zizi thiệu ứng dụng phía client, trực tiếp lay liệu từ phía server hiển thị lại trếiì gĩẩểâiện L^n il< ứng dụng có chức chia làm phần riêng biệt giao diện sử dụng: xem tái Hình nghe thử tái nhạc chuông 1.2.1 Dối tượng sử dụng Úng dụng hướng den người sử dụng smartphone dộng, liên tục muốn làm the tính bán thân thơng qua Hình hay nhạc chng độc đáo, làm nồi bật bãn thân sống đại 1.2.2 Chức xem tái Hình • • • • Xem Hình theo phân loại khác Tài Hình Thêm Hình vào danh mục yêu thích Đặt Hình ánh thành ánh điện thoại 1.2.3 Chức nghe thứ tai nhạc chng • • • • • 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 chng vào danh sách u thích Đặt hát danh mục thành nhạc chuông điện thoại ĐỊ ÁN TĨT NGHIỆP 1.3 u cầu ứng dụng 1.3 ỉ Yêu cầu chức Do ứng dụng phía client nên chì có tác nhân tham gia thụ hướng trực tiếp chức nàng mà ứng dụng cung cấp người sử dụng ứng dụng Người sử dựng cần sử dụng đầy đủ chức mà ứng dung cung cấp: • Chức xem tái Hình o Xem Hình theo phân loại khác o Tài Hình o Thêm Hình nen vào danh mục u thích o Đặt Hình ảnh thành ánh điện thoại • Chức nghe thứ 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 hát danh mục thành nhạc chng điện thoại 1.3.2 • • • • Yêu cầu phi chức Tốc độ truy cập ứng dụng phái ồn định, nhanh chóng Giao diện đơn giãn, dễ sử dung Dam bao toàn vẹn dừ liệu người dùng lull trừ lại tài nguyên Đám báo tính riêng tư nội dung mà người dùng tìm kiếm 1.4 Phạm vi phưong pháp triển khai ửng dụng triền khai ứng dụng Android điện thoại di động Được xây dựng lập trình bang ngơn ngữ Java sừ dụng mơi trường phát trien Android Studio Úng dụng sau phát triến phân phối miền phí chợ ứng dụng Play Store Google ĐÒ Á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 Reqiiest-> ứng dụng ' *** The common parameters are as follows: captcha /apựneeds_captcha /apựnew_captcha /captcha/ideri • Hđir /apựcicarriairtemplates / pLd.M-Ml.iư /api/dcíetcAairtemplato /apựrtar /apựflarconfìg /apựAarcsv /apựAartst /api/flairselector /apựAartemplate /apựsdecttláir /apựsertìairanablod •* uth *»• •» *° uth 0,uth °* u'h *•' ’ ** after / before - only one should be specified, these indicate the ‘ r e of an Item in the listing to use as the anchor point of the slice limit - the maximum number of Items to return in this slice of the listing count - the number of Items already seen in this listing, on the html Site, the builder uses this to determine when to give values for before and after in the response show - optional parameter; if all IS passed, filters such as ‘hide links that I have voted on * Will be disabled To page through a listing, start by fetching the first page without specifying values for after and count The response will contain an after value which you can pass tn the next request It IS a good idea, but not required, to send an updated value for count which should be the number of Items already fetched niodhashcs rvddit gold /apựvl/go\đ/gM/fuữname Listings not use page numbers because their content changes so frequently Instead, they allow you to view slices of the underlying data Listing JSON responses contain after and before fields which are equivalent to the “next * and "prev" buttons on the Site and in combination with count can be used to page through the listing •* uứ' A modhash IS a token that the reddit API requires to help prevent CSRF Modhashes can be obtained via the /api/me.json call or in response data of listing endpoints Hình 46:Truy cập API Resources Đế hiểu rõ khái niệm bạn có thề lên tìm nhiều ví dụ online khác Ngồi Pokeapi, ta cịn có: • Reddit API 53 ĐỊ ÁN TĨT NGHIỆP • GitHub API Flickr API Pinterest API Tự build API Quá trình xây dựng API riêng khơng dề dàng, không phức tạp nhiều người nghĩ, Mỗi API phái kết nối đến server đế trả liệu Bạn khơng phải viết code để làm điều đó, mà phải format return data Một so yêu cầu khác gom authentication rate limiting Hãy diem qua so nguyên lý CO’ cấu trúc API Build Endpoints building endpoint phần quan trọng trình phát triển API Khi tạo tài nguyên bạn muốn dùng danh từ đấy, dùmg dùng động từ Nói cách khác liệu API phãi trà kết q người, nơi chốn, "thứ” Thơng thường, bạn nhận “thứ” vói thuộc tính cụ (ví dụ tweet metadata) Tên danh từ phan quan trọng phát trien API, dù khó học Nên cố gắng đơn giằiÌKặngịtếti Viện Đại học Mơ Hà Nội Vấn đề đáng tranh cãi danh từ số hay số nhiều Nếu bạn tạo API Twitter, bạn nên có object group trước (như: tweet), object item sau (như: tweet ID) I $/tweet/15032934882934 $ /tweets/15032934882934 Trong trường hợp này, tơi cho thề số dễ nhìn hơn, đặc biệt trà tài nguyên Đặt Return Type Một van đè quan trọng return type data Đa số người dùng web trơng chờ nội dung JSON, có lẽ lựa chọn tốt bên cạnh XML JSON API return type tàng cho lập trình web cịn nhiều mặt phát triển API khơng kế hết, bạn chưa quen thuộc với API dành thời gian “vọc” trước chút Từ xem thứ lập trình viên khác làm việc với API nào, hy vọng bạn dan quan thuộc với yêu cầu API 54 ĐỒ ÁN TĨT NGHIỆP Nếu chi biết API, bạn có thề xem qua tài liệu sau: • • • REST API Tutorial Site Writing a Simple REST API Building a RESTful Web Service Tài liệu nghiên cứu Luyện tập cách lập trình nhanh Những lý thuyết qua kiềm chứng đáng đê bạn học hởi, qua bạn có thê tranh luận với lập trình viên khác hiếu nguyên lý đàng sau lý thuyết Kết nối vói API khác trước cách học hỏi hay Hãy tìm hiểu điếm bàn cúa kết nối client-side, từ bạn chuyến sang phát triển API, tạo API riêng từ số không Bạn có thề tham khào số tài liệu muốn theo đường API 3.5 Thực chưong trình 3.4.1 Thực chức xem táiHình Sử dụng nguồn liệu từ API Flick, có liệu cần lấy từ API liệu danh sách Hình anh cần để hịền thị danh sách Hình nền, liệu chi tiết Hình ánh cụ thể (ảnhgốc.tểh&^giả^ămphál^ành/v.v ^ • 1‘ Mã nguồn cúa việc lấy phần liệu viết phương thức getlmages getlmagesURL viết tile Category Activity java 55 ĐÒ ÁN TÓT NGHIỆP public void getImages]String ID, final String!] group_array_ID, boolean check) throws Exception { final Request request = nevr Request.BuilderO url(getString(R.string.groizp_ôrZ) + ID) ãbuild]); client.newCall(request).enqueue(new Callback]) { âOverride public void onFailureiRequest request, lOException e) { Log.c]" Retrieve images", "request failed " + e.getMessageO); Looper.prepare^); EventBus.gDẹ/ịu/t().post(new ErrorResult])); Looper./ỡop(); ©Override public void onResponsefResponse response) throws lOException { if (response.isSuccessfulO) ( infoList = new ArrayList(); try { JSONObject pjArray = new JSONObject(response.body().string()).getJSONObject("photos"); JSON Array jArray = pj Array getJSONArrayCphoto"); for tint i = 0; i < jArray.length]); i++) ị infoList.addlnew FlickrPic] jArray.getJSONObject(i).getString("ownernaine"), jArray.getJSONObject(i).getString("server"), j Array getJSONObject(i).getString("secret"), j Array getJSONObject(i).getString("title"))); if (i ==jArray.length]) - 1) EventBus.gcZ£)ẹ/ùu/í().post(new ShowResult])); ) ) catch (Exception e) { Log.

Ngày đăng: 20/08/2022, 21:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w