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

Quản lý cuộc họp trên nền android (meeting helper)

55 4 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 55
Dung lượng 1,65 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN - - KHÓA LUẬN TỐT NGHIỆP Đề tài: Quản lý họp Android (Meeting Helper) Chuyên ngành: Cử nhân công nghệ thông tin Sinh viên thực hiện: Nguyễn Lương Quang Tuấn Lớp: 10CNTT4 Giảng viên hướng dẫn: Lê Thị Bích Hồng Đà Nẵng, tháng 05/2014 Quản lý họp Android (Meeting Helper) LỜI CẢM ƠN Lời đầu tiên, xin chân thành gửi lời cảm ơn đến lãnh đạo toàn thể nhân viên Công ty TNHH Tài Nguyên Công Nghệ Việt Nam ENCLAVE tiếp nhận nhiệt tình hướng dẫn, giúp đỡ cho tơi hồn thành tốt luận văn tốt nghiệp Công ty tạo hội giúp áp dụng kiến thức học Trường, đồng thời trãi nghiệm, học hỏi làm quen với quy trình làm việc chun nghiệp Cơng ty Chính điều tạo cho tơi tự tin sau tốt nghiệp Tôi xin gửi lời cảm ơn đến lãnh đạo trường Đại học Sư phạm, Đại học Đà Nẵng, lãnh đạo khoa Tin học tạo điều kiện cho thực luận văn tốt nghiệp Cảm ơn thầy cô giáo tận tình dạy bảo, giúp đỡ suốt thời gian tơi học Trường Bên cạnh đó, tơi xin gởi lời cảm ơn đến cô Lê Thị Bích Hồng người trực tiếp giám sát, hướng dẫn thời gian thực đồ án Xin chân thành cảm ơn! Sinh viên Nguyễn Lương Quang Tuấn SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Quản lý họp Android (Meeting Helper) LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung báo cáo nghiên cứu thực hướng dẫn trực tiếp Lê Thị Bích Hồng Mọi tham khảo dùng báo cáo trích dẫn rõ ràng Mọi chép khơng hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Sinh viên Nguyễn Lương Quang Tuấn SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Quản lý họp Android (Meeting Helper) MỤC LỤC MỞ ĐẦU Chương 1: 1.1 CƠ SỞ LÝ THUYẾT HỆ ĐIỀU HÀNH ANDROID 1.1.1 Tổng quan 1.1.2 Kiến trúc Android 1.1.3 Android Emulator 1.1.4 Chu kỳ ứng dụng Android 1.1.5 Giao diện Android 1.1.6 Activity Intent 1.2 HỆ THỐNG ĐỊNH VỊ TOÀN CẦU GPS 1.2.1 Giới thiệu hệ thống định vị toàn cầu GPS 1.2.2 Hoạt động GPS 1.2.3 Độ xác GPS 1.2.4 Các thành phần GPS 1.2.5 Ứng dụng GPS 1.3 WEB SERVICE 10 1.4 NGÔN NGỮ LẬP TRÌNH RUBY ON RAILS 11 1.4.1 Giới thiệu Ruby 11 1.4.2 Framework Rails 12 1.4.3 Lý sử dụng Ruby on Rails 12 Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 14 2.1 PHÁT BIỂU VẤN ĐỀ 14 2.2 ĐẶT TẢ CHỨC NĂNG 14 2.2.1 UseCase tổng quát 14 2.2.2 Mô tả Actor 16 2.2.3 Đặc tả UseCase 16 2.3 PHÂN TÍCH CƠ SỞ DỮ LIỆU 18 2.3.1 Sơ đồ thực thể 18 SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Quản lý họp Android (Meeting Helper) 2.3.2 Các lược đồ quan hệ 19 Chương 3: XÂY DỰNG CHƯƠNG TRÌNH 25 3.1 CÔNG CỤ SỬ DỤNG TRONG CHƯƠNG TRÌNH 25 3.2 XÂY DỰNG CHƯƠNG TRÌNH 25 3.2.1 Xây dựng lớp trao đổi liệu ứng dụng web service 25 3.2.2 Gửi yêu cầu lên web service 26 3.2.3 Xây dựng chức Sync (đồng hóa danh bạ) 26 3.2.4 Xây dựng chức Remind 28 3.2.5 Xây dựng chức Change Host 29 3.2.6 Hiển thị người tham dự lên Map 30 3.3 MỘT SỐ KẾT QUẢ ĐẠT ĐƯỢC 32 KẾT LUẬN 36 TÀI LIỆU THAM KHẢO 37 PHỤ LỤC 38 SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Quản lý họp Android (Meeting Helper) DANH MỤC CÁC HÌNH ẢNH STT Tên hình vẽ Mơ tả Hình 1.1 Sơ đồ kiến trúc Android Hình 1.2 Android Emulator Hình 1.3 Chu kỳ ứng dụng Android Hình 1.4 Hoạt động Activity Intent Hình 1.5 Sơ đồ hoạt động Client – Webservice –Server Hình 2.1 UseCase tổng quát Hình 2.2 UseCase Manage Meetings Hình 2.3 UseCase Manage Contacts 10 Hình 2.4 UseCase Track participant 11 Hình 3.1 Đăng nhập 12 Hình 3.2 Màn hình 13 Hình 3.3 Menu 14 Hình 3.4 Quản lý họp 15 Hình 3.5 Tạo họp 16 Hình 3.6 Chi tiết họp chấp nhận 17 Hình 3.7 Chi tiết họp 18 Hình 3.8 Quản lý liên lạc 19 Hình 3.9 Chi tiết họp làm chủ 20 Hình 3.10 Nhóm chat 21 Hình 3.11 Chat 22 Hình 3.12 Thiết lập nhắc nhở 23 Hình 3.13 Map SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang i Quản lý họp Android (Meeting Helper) DANH MỤC TỪ VIẾT TẮT STT Mô tả Từ viết tắt BSD Berkeley Software Distribution SGL Skia Graphics Library API Application Program Interface URL Uniform Resource Locator MVC Model View Controller AJAX Asynchronous JavaScript and XML SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang ii Quản lý họp Android (Meeting Helper) MỞ ĐẦU LÝ DO CHỌN ĐỀ TÀI Trong sống đại ngày nay, có nhiều họp hay gặp gỡ bạn bè cần tham gia Điều phát sinh nhiều vấn đề như: Làm để xếp gặp gỡ không bị trùng lặp? Làm để nhớ họp? Làm để đến họp địa điểm? điều mà người quan tâm Ngày nay, việc ứng dụng công nghệ thông tin vào quản lý công việc giải pháp phù hợp với xu hướng phát triển xã hội đại, cụ thể việc quản lý thông qua thiết bị thông minh Việc sử dụng thiết bị thông minh điện thoại di động trào lưu ngày phổ biến Các điện thoại thông minh vượt xa khả ban đầu nghe gọi trở thành thiết bị tiên tiến tích hợp nhiều chức như: định vị toàn cầu, khả lưu trữ lớn, tốc độ xử lý nhanh hay kết nối Intenet mạnh mẽ Do đó, điện thoại thơng minh nhiều người sử dụng rộng rãi, khơng cơng cụ để liên lạc mà cịn để giải trí hay giúp người sử dụng quản lý công việc Tận dụng ưu điểm thiết bị di động nhu cầu cần thiết việc quản lý họp, chọn đề tài “Quản lý họp Android (Meeting Helper)” để làm khóa luận tốt nghiệp MỤC ĐÍCH ĐỀ TÀI - Xây dựng ứng dụng giúp quản lý họp cung cấp số chức hỗ trợ người tham dự họp dễ dàng - Bổ sung kiến thức cho thân ngơn ngữ lập trình - Vận dụng kiến thức học phân tích thiết kế hệ thống, phân tích sở liệu, lập trình Android ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU - Nghiên cứu ngơn ngữ lập trình Ruby on Rails - Nghiên cứu thành phần hệ điều hành Android SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang Quản lý họp Android (Meeting Helper) - Tìm hiểu cách xây dựng mơ hình client – server PHƯƠNG PHÁP NGHIÊN CỨU - Thu thập ý kiến người xung quanh để phân tích chức - Kiểm tra, tham khảo ứng dụng có chức tương tự - Tìm hiểu, nghiên cứu trang web công nghệ liên quan lựa chọn công nghệ phù hợp Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Về khoa học: Tận dụng khả lưu trữ lớn hệ thống Server để lưu trữ họp, tạo kết nối trao đổi liên lạc với dễ dàng thơng qua Internet, khai thác chức sẵn có định vị toàn cầu để theo dõi người xung quanh Về thực tiễn: Tạo thuận lợi cho người dùng tổ chức họp, gặp mặt cách nhanh chóng Đồng thời quản lý, xếp tham dự họp hiệu CẤU TRÚC BÀI KHĨA LUẬN Ngồi phần mở đầu kết luận, khóa luận tổ chức thành chương cụ thể sau: Chương 1: Cơ sở lý thuyết Trong chương này, tơi trình bày thành phần hệ điều hành Android, ý nghĩa web service giới thiệu ngôn ngữ Ruby on Rails Chương 2: Phân tích thiết kế hệ thống Nội dung chương phát biểu vấn đề, phân tích tốn từ đưa chức hệ thống, mơ tả usecase phân tích sở liệu cho chương trình Chương 3: Tổ chức chương trình Chương giới thiệu cơng cụ sử dụng để xây dựng chương trình, cách xây dựng số chức giao diện chương trình SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang Quản lý họp Android (Meeting Helper) Chương 1: CƠ SỞ LÝ THUYẾT 1.1 HỆ ĐIỀU HÀNH ANDROID [1] 1.1.1 Tổng quan Android hệ điều hành dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Mặc dù thiết kế để chạy điện thoại máy tính bảng, Android xuất TV, máy chơi game thiết bị điện tử khác Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Chính điều này, làm kho ứng dụng Android trở nên đa dạng phong phú 1.1.2 Kiến trúc Android Hình 1.1 Sơ đồ kiến trúc Android  Application Framework Tầng hệ điều hành Android cung cấp tảng phát triển ứng dụng mở qua cho phép nhà phát triển ứng dụng có khả tạo ứng dụng SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang Quản lý họp Android (Meeting Helper) Hình 3.9 Quản lý liên lạc Hình 3.11 Nhóm chat SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Hình 3.10 Chat Hình 3.12 Cài đặt nhắc nhở Trang 34 Quản lý họp Android (Meeting Helper) Hình 3.13 Bản đồ SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 35 Quản lý họp Android (Meeting Helper) KẾT LUẬN Kết đạt Qua trình thực đề tài, đạt số kết sau:  Hiểu trình xây dựng ứng dụng Android cách hoạt động web service  Nắm thành phần ngôn ngữ Ruby on Rails, khai thác chức có sẵn Android Google Map, Notification, Dialog v.v để tạo ứng dụng “Quản lý họp (Meeting Helper)” Hạn chế Tuy nhiên đề tài số hạn chế sau:  Một số chức hoạt động thiết bị ảo chưa hoạt động thành công thiết bị thật  Các chức Notify chưa thông báo đầy đủ thông tin cần thiết thông báo số tin nhắn mới, thông báo meeting bị hủy, kết bạn Hướng phát triển  Thiết kế giao diện thân thiện với người dùng  Đưa hệ thống webservice lên địa host thay local host  Cho phép người sử dụng upload hình ảnh cá nhân  Bổ sung số chức xử lý trường hợp quên mật khẩu, thông báo người tham dự sai hướng, tích hợp điều khiển giọng nói Đề tài “ Quản lý họp (Meeting Helper)” hi vọng giúp cho người việc tổ chức họp, gặp mặt mà không gặp phải trở ngại Không dừng lại đó, ứng dụng mở rộng phát triển theo nhu cầu thực tiễn khác thầy cô quản lý học sinh, bố mẹ quản lý em Tơi mong đề tài sử dụng rộng rãi đóng góp nhiều tiện ích sống thường ngày SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 36 Quản lý họp Android (Meeting Helper) TÀI LIỆU THAM KHẢO http://luanvan.net.vn/luan-van/de-tai-tim-hieu-he-dieu-hanh-android-va-xaydung-ung-dung-cam-nang-am-thuc-viet-nam-46180/ http://vovanhai.wordpress.com/web-services/gi%E1%BB%9Bithi%E1%BB%87u-v%E1%BB%81-web-service/ http://doan.edu.vn/do-an/do-an-tim-hieu-ve-ruby-on-rails-23169/ http://vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_%C4%91% E1%BB%8Bnh_v%E1%BB%8B_to%C3%A0n_c%E1%BA%A7u#.C4.90.E1 BB.99_ch.C3.ADnh_x.C3.A1c_c.E1.BB.A7a_GPS http://android.vn/ http://phantichthietke.blogspot.com/2013/06/kien-truc-android.html http://androidhive.info SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 37 Quản lý họp Android (Meeting Helper) PHỤ LỤC  Xây dựng chức chat gồm có gửi đoạn chat lên server hiển thị đoạn chat private class sendMessages extends AsyncTask { @Override protected void onPreExecute() { super.onPreExecute(); } protected String doInBackground(String arg0) { List meetingparams = new ArrayList(); meetingparams.add(new BasicNameValuePair("chat[message]", edtMessages.getText().toString())); meetingparams.add(new BasicNameValuePair("chat[meeting_id]", strMeetingId)); meetingparams.add(new BasicNameValuePair("chat[user_id]", strUserId)); JSONObject meetingjson = jParser.makeHttpRequest(str_url_sendmessage, "POST", meetingparams); return null; } protected void onPostExecute(String file_url) { } } private class getMessages extends AsyncTask { @Override protected void onPreExecute() { super.onPreExecute(); } protected String doInBackground(String arg0) { List meetingparams = new ArrayList(); meetingparams.add(new BasicNameValuePair("chat[meeting_id]", strMeetingId)); SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 38 Quản lý họp Android (Meeting Helper) JSONObject meetingjson = jParser.makeHttpRequest(str_url_getmessage, "POST", meetingparams); Log.d("message: ", meetingjson.toString()); try { if(meetingjson.getInt("msg")==1){ JSONArray messages = meetingjson.getJSONArray("message"); for (int i = 0; i < messages.length(); i++) { JSONObject c = messages.getJSONObject(i); String strUserName = c.getString("user_name") + ":"; String strMessage = c.getString("message"); String strDate = c.getString("created_at"); strDate = strDate.replace("T", " "); strDate = strDate.replace(".000Z", " "); HashMap map = new HashMap(); map.put("username", strUserName); map.put("message", strMessage); map.put("date", strDate); arrMessages.add(map); } } } catch (JSONException e) { e.printStackTrace(); } return null; } protected void onPostExecute(String file_url) { ListAdapter adapter = new SimpleAdapter( DiscussActivity.this, arrMessages, R.layout.message_item, new String[] {"username", "message"}, new int[] { R.id.textView1,R.id.textView2}); lisMessages.setAdapter(adapter); } } SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 39 Quản lý họp Android (Meeting Helper)  Xây dựng chức Synchronize gồm có lấy danh bạ điện thoại kiểm tra liệu server public void readContacts() { StringBuffer sb = new StringBuffer(); ContentResolver cr = getActivity().getContentResolver(); Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); String phone = null; if (cur.getCount() > 0) { while (cur.moveToNext()) { String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); String name = cur.getString(cur getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); if (Integer.parseInt(cur.getString(cur getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { System.out.println("name : " + name + ", ID : " + id); Cursor pCur = cr.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { id }, null); while (pCur.moveToNext()) { phone = pCur.getString(pCur getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); phoneList.add(phone); } pCur.close(); Cursor emailCur = cr.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[] { id }, null); emailCur.close(); } } } SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 40 Quản lý họp Android (Meeting Helper) } private class CheckContact extends AsyncTask { @Override protected void onPreExecute() { super.onPreExecute(); } protected String doInBackground(String arg0) { for(int i=0;i0){ meetingLat = coordinate[0].trim(); meetingLng = coordinate[1].trim(); map.put("meetingLat", meetingLat); map.put("meetingLng", meetingLng); } arrMeetings.add(map); } } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } protected void onPostExecute(String file_url) { SVTH: Nguyễn Lương Quang Tuấn – 10CNTT4 Trang 45 Quản lý họp Android (Meeting Helper) actionBar = getActionBar(); actionBar.setDisplayShowTitleEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); spinnerItem = new ArrayList(); spinnerItem.add(new SpinnerItem("Choose meeting")); for(int i = 0; i

Ngày đăng: 21/05/2021, 22:25

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

TÀI LIỆU LIÊN QUAN

w