Xây dựng ứng dụng truyền nhận file giữa điện thoại và máy tính trên nền điều hành android

109 302 0
Xây dựng ứng dụng truyền nhận file giữa điện thoại và máy tính trên nền điều hành android

Đ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

ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BỘ MÔN MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG Đề tài: ện thoại máy tính Giảng viên HD: Th.s Lê Tuấn Anh Sinh viên: Phùng Thái Dƣơng Lớp: MMT&TT K6D – ĐHCNTT & TT – ĐHTN Thái Nguyên, tháng năm 2012 Mục lục LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU CHƯƠNG I CƠ SỞ LÝ THUYẾT 10 1.1 Lịch sử Android 10 1.2 Delving với máy ảo Dalvik 11 1.3 Kiến trúc Android 12 1.3.1 Tầng ứng dụng 12 1.3.2 Application framework 13 1.3.3 Library 14 1.3.4 Android Runtime 14 1.3.5 Linux kernel 15 1.4 Xây dựng Android project 15 1.4.1 Android Emulator 15 1.4.2 Các thành phần Android project 15 1.4.3 Chu kỳ ứng dụng Android 17 1.4.4 Các thành phần giao diện Android 22 1.4.5 Content provider URI 36 1.4.6 Background Service 37 1.4.7 Telephony 41 …… : 41 41 44 45 47 CHƢƠNG II KHẢO SÁT VÀ PHÂN TÍCH ỨNG DỤNG 50 50 2.2 Yêu cầu toán 51 2.3 Phân tích thiết kế ứng dụng 51 2.3.1 Tác nhân Use case – UC 51 2.3.2 Biểu đồ UC 52 2.3.3 Đặc tả UC 53 CHƢƠNG III XÂY DỰNG ỨNG DỤNG TRUYỀN NHẬN FILE GIỮA ĐIỆN THOẠI VÀ MÁY TÍNH TRÊN NỀN HỆ ĐIỀU HÀNH ANDROID…… 67 3.1 Môi trường triển khai 67 3.2 Thiết kế giao diện 67 3.2.1 Giao diện 67 3.2.2 Giao diện chức download 68 3.2.3 Giao diện chức upload 69 3.2.4 Giao diện chức rename 69 3.2.5 Giao diện chức delete menu option 70 3.3 Cấu trúc chương trình 70 3.3.1 File AndroidManifest.xml 70 3.3.2 Các module chương trình 71 TÀI LIỆU THAM KHẢO 79 LỜI CẢM ƠN S Lê Tuấn Anh tận tình hướng dẫn, bảo em suốt thời gian thực đề tài vừa qua Em xin chân thành cảm ơn tất Thầy, Cô Khoa tận tình giảng dạy, trang bị cho chúng em kiến thức cần thiết, quý báu năm tháng học tập Trường Mặc dù em cố gắng, Em hy vọng nhận ý kiến nhận xét, góp ý nhà khoa học, thầy cô giáo bạn bè vấn đề triển khai đề tài Xin trân trọng cảm ơn! LỜI CAM ĐOAN Em xin cam đoan nội dung đồ án tốt nghiệp với tên đồ án " điện thoại máy tính hệ điều hành android" không chép nội dung từ đồ án khác, hay sản phẩm tương tự em làm Sản phẩm đồ án thân em nghiên cứu tìm tòi xây dựng Nếu có sai em xin chịu hình thức kỉ luật Khoa Công Nghệ Thông Tin - Đại Học Công Nghệ Truyền Thông Thái Nguyên, Tháng Năm 2012 Sinh Viên Thực Hiện DANH MỤC HÌNH ẢNH Hình 1-1: Android timeline 10 Hình 1-2: Cấu trúc stack hệ thống Android 12 Hình 1-3 :Chu kỳ sống ứng dụng Android 18 Hình 1-4 :Activity stack 18 Hình 1-5 :Chu kỳ sống Activity 19 Hình 1-6: Các kiện chu kỳ sống ứng dụng 20 Hình 1-7:Cấu trúc giao diện ứng dụng Android 23 Hình 1-8: Bố trí widget sử dụng LinearLayout 24 Hình 1-9 :Bố trí widget RetaliveLayout 25 Hình 1-10 Bố trí widget TableLayout 27 Hình 1-11: Button Image…………………………………… …………… 27 Hình 1-12 ImageView ImageButton 27 Hình 1-13: Minh hoạ cho ListView………… …………………… ……28 Hình 1-14: Minh hoạ option menu 31 Hình 1-15: Minh hoạ context menu………………… ……………… …….32 Hình 1-16: Truyền liệu Activity 35 Hình 1-17:Các thuộc tính Intend 35 Hình 1-18: Các Action định nghĩa sẵn Intend 36 Hình 1-19: Chu trình sống Service 39 Hình 2.1: Biểu đồ Use – Case 52 Hình 2.2: Biểu đồ trình tự UC- Connect 53 Hình 2.3 :Biểu đồ cộng tác UC- Connect 54 Hình 2.4 : Biểu đồ trình tự UC- download 55 Hình 2.5:Biểu đồ cộng tác UC-download 56 Hình 2.6: Biểu đồ trình tự UC-Upload 57 Hình 2.7: Biểu đồ cộng tác UC-Upload 58 Hình 2.8: Biểu đồ trình tự UC- Delete 59 Hình 2.9: Biểu đồ cộng tác UC-Delete 60 Hình 2.10: Biểu đồ trình tự UC-Rename 61 Hình 2.11: Biểu đồ cộng tác UC- Rename 62 Hình 2.12: Biểu đồ trình tự UC- About 63 Hình 2.13: Biểu đồ cộng tác UC- About 64 Hình 2.14: Biểu đồ trình tự UC-Exit 65 Hình 2.15: biểu đồ Cộng tác UC-Exit 66 Hình 3-1: Giao diện chương trình 67 Hình3-2: Giao diện chức download 68 Hình 3-3 :Giao diện chức upload 69 Hình 3-4: Giao diện chức rename 69 Hình 3-5 :Giao diện chức delete 70 LỜI NÓI ĐẦU Trong thời điểm nay, giới Việt Nam, thị trường cho điện thoại di động trở nên sôi động hết Do thu nhập người dân ngày cải thiện nhu cầu trao đổi thông tin ngày tăng theo Mặt khác, nhà sản xuất điện thoại di động nắm nhu cầu giới trẻ ưa chuộng sản phẩm công nghệ cao yêu cầu cạnh tranh nhà sản xuất điện thoại di động nhà sản xuất điện thoại di động liên tục tung nhiều sản phẩm với nhiều tính mới, cấu hình cao, nâng cấp mẫu mã kiểu dáng đẹp nhằm thu hút người mua (đặc biệt bạn trẻ) Cùng với phát triển thị trường điện thoại di động phát triển mạnh mẽ xu hướng lập trình phần mềm ứng dụng cho thiết bị di động Phần mềm, ứng dụng cho điện thoại di động đa dạng phong phú, đa số phần mềm ứng dụng loại trò chơi, chương trình tiện ích từ điển, soạn thảo văn bản, diệt virus…Dù qúa trình truyền nhận file từ điện thoại thông minh tới máy tính có hỗ trợ cáp usb tuyệt với ta cần vào thẳng máy tính có kết nối mạng trực tiếp truyền nhận file điện thoại,hơn sinh viên chuyênh nghành mạng nên việc tìm hiểu giao thức truyền thông có lợi cho thân,đó lý mà em chọn đề tài : “ Xây dựng ứng dụng truyền nhận file điện thoại máy tính hệ điều hành android” Đây tảng để phát triển đồ án xây dựng ứng dụng truyền nhận file điện thoại máy tính qua môi truờng mạng Nội dung đồ án “Xây dựng ứng dụng truyền nhận file điện thoại máy tính hệ điều hành android” chia thành chương sau: - Chƣơng I: Cơ sở lý thuyết Chương cho hiểu lịch sử hình thành phát triển hệ điều hành Android Tóm tắt vấn đề lý thuyết liên quan đến lập trình hệ điều hành Android cho điện thoại di động - Chƣơng II: Khảo sát phân tích ứng dụng Chương nêu cách phân tích toán xây dựng ứng dụng truyền nhận file hệ điều hành Android cho điện thoại di động cách phân tích thiết kế yêu cầu đồ án - Chƣơng III: Xây dựng ứng dụng truyền nhận file điện thoại máy tính hệ điều hành android Chương đưa cách giải toán, code giao diện chương trình, chạy thử ứng dụng phần mềm mô hệ điều hành Android Cuối đưa kết luận hướng phát triển đồ án 3.2.3 Giao diện chức upload Khi người dùng click vào nút upload, ứng dụng thị list file thư mục thẻ nhớ điện thoại để người dùng chọn tiến hành upload lên server Hình 3-3 :Giao diện chức upload 3.2.4 Giao diện chức rename Hình 3-4: Giao diện chức rename Chức rename cho phép người dùng chọn file từ danh sách file server để tiến hành đổi tên, hệ thông đưa hộp thoại yêu cầu người dùng điền tên 3.2.5 Giao diện chức delete menu option Chức rename cho phép người dùng chọn file từ danh sách file server để tiến hành xoá file Hệ thống đưa hộp thoại yêu cầu người dùng xác nhận Hình 3-5 :Giao diện chức delete Khi người dùng nhấn vào phím menu thiết bị, menu option bao gồm chức exit about hiển thị đê cung cấp chức xem thông tin ứng dụng thoát chương trình 3.3 Cấu trúc chƣơng trình 3.3.1 File AndroidManifest.xml File dùng để định nghĩa screen sử dụng, permission theme cho ứng dụng Đồng thời chứa thông tin phiên SDK main activity chạy Ta khai báo thêm activity sử dụng mô hình liên kết nhiều lớp chương trình Đồng thời cấp quyền cho phép ứng dụng truy cập interet sử dụng nhớ điện thoại lệnh sau: 3.3.2 Các module chƣơng trình Với yêu cầu toán truyền liệu từ điện thoại tới máy tính thông qua môi trường mạng Ta có nhiều cách giải viết ftp server để thực thi máy tính, dùng phần mềm FileZilla Server để tạo server máy tính Em dùng cách sau để tiến hành cài đặt server máy tính tính ứng dụng phần mềm lớn dễ xử dụng cài đặt.Sau modul chương trình chạy hệ điều hành android 2.3 a, Modul connect Ta sử dụng phương thức socket để tạo kết nối tới ftp server với tham số truyền vào dạng chuỗi : Ipaddress, username, password socket = new Socket(ipAddress.getText().toString(),21); Để thao tác với ftp server online mạng ta buộc phải sử dụng lệnh tuân theo chuẩn RFC 959 tổ chức IETF Ta sử dụng phương thức sau để giử lệnh lên ftp server : public String Lenh(String cmd) { BufferedWriter writer =new BufferedWriter(new OutputStreamWriter(OS)); BufferedReader reader = new BufferedReader(new InputStreamReader(IS)); byte[] dulieu; String output=""; dulieu=cmd.getBytes(); try { OS.write(dulieu); writer.flush();// Flush the stream output = reader.readLine(); } catch (IOException e) { return "Error"+e; } return output; Sau kết nối tới server sử dụng phương thức Lenh(String cmd) với tham số truyền vào có dạng sau để gửi lệnh truyền thông tin user name password lên server: kqx=Lenh("USER "+user.getText().toString()+"\n"); kqx=Lenh("PASS "+pass.getText().toString()+"\n") ; Để thuận tiện việc so sanh chuổi trả từ ftp server ta sử dụng biến kqx kiểu liệu string chuỗi trả “230-ok Current restricted directory is/” nghĩa kết nối thành công với ip address, username password server b, Modul download - AsyncTask protected void onPreExecute() { } : protected String doInBackground(String aurl) { } protected void onProgressUpdate(String progress) { } protected void onPostExecute(String unused) { } private void startDownload() { : try { new DownloadFileAsync().execute(chuoi); } catch (Exception e) { socketOutput.setText("Loi startDownload: "+e.toString()) ; } } item : lFile.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView a, View v, int position, long id) { chuoi=lFile.getItemAtPosition(position).toString(); socketOutput2.setText(chuoi); } }); res/layout: lFile = (ListView) findViewById(R.id.listFile); : File file = new File("/sdcard/"+chuoi); file.createNewFile(); : FileOutputStream fos = new FileOutputStream(file,false); int i=Math.round(sizef); fos.write(buffer,0,i);// fos.close(); c, Modul upload btnUpload.setOnClickListener(new View.OnClickListener() @Override public void onClick(View view) { if(path==null) path="root"; String strIpserver=ipAddress.getText().toString(); String strUser=user.getText().toString(); String strPass=pass.getText().toString(); Bundle sendBundleIP = new Bundle(); sendBundleIP.putString("ipaddress", strIpserver); sendBundleIP.putString("user", strUser); sendBundleIP.putString("pass", strPass); sendBundleIP.putString("path", path); Intent myIntent = new Intent(view.getContext(), Upload.class); myIntent.putExtras(sendBundleIP); startActivity(myIntent); } }); : ipAddress server, , Bundle sendBundleIP = new Bundle(); : package android.content .java : Bundle receiveBundle = this.getIntent().getExtras(); final String txtIpAddress = receiveBundle.getString("ipaddress"); final String txtUser = receiveBundle.getString("user"); final String txtPass = receiveBundle.getString("pass"); String txtPathTam=receiveBundle.getString("path"); (Binary): public void Uploadtoserver(String server,String user,String pass,String path,String namefile){ FTPClient = new FTPClient(); try { con.connect(server); if (con.login(user,pass)) { con.enterLocalPassiveMode(); con.setFileType(FTPClient.BINARY_FILE_TYPE); InputStream in = null; in = new FileInputStream("sdcard/"+namefile); boolean result = con.storeFile(path+namefile, in); in.close(); Toast.makeText(getBaseContext(), "Succes", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } d, Modul Rename : ip server, user name, password, ) N t Rename file FtpClient.java: btnRename.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String strIpserver=ipAddress.getText().toString(); String strUser=user.getText().toString(); String strPass=pass.getText().toString(); Bundle sendBundleIP = new Bundle(); sendBundleIP.putString("ipaddress", strIpserver); sendBundleIP.putString("user", strUser); sendBundleIP.putString("pass", strPass); sendBundleIP.putString("oldname",chuoi); sendBundleIP.putString("path", path); Intent myIntent = new Intent(view.getContext(), Rename.class); myIntent.putExtras(sendBundleIP); startActivity(myIntent); }); } : AlertDialog.Builder ale = new AlertDialog.Builder(this); ale.setTitle("Write a newname"); ale.setView(edtInputtext); public void Rename(String server,String user,String pass,String path,String Oldname,String Newname){ } Newname = edtInputtext.getText().toString(); e,Modul delete ) , sau click v : public void Delete(String server,String user,String pass,String path,String Namefile){ FTPClient = new FTPClient(); try { con.connect(server); if (con.login(user,pass)) { con.enterLocalPassiveMode(); con.setFileType(FTPClient.BINARY_FILE_TYPE); boolean result = con.deleteFile(path+Namefile); Toast.makeText(getBaseContext(), "Succes", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận Sau thời gian nghiên cứu tìm hiểu xây dựng đề tài: “Xây dựng ứng dụng truyền nhận file điện thoại máy tính hđh android” cố gắng nghiên cứu học hỏi thân hướng dẫn giáo viên hướng dẫn Th.S Lê Tuấn Anh em hoàn thành đề tài Mục đích việc xây dựng đồ án tìm hiểu hệ điều hành Android, hiểu biết ngôn ngữ lập trình cho điện thoại di động tìm hiểu ứng dụng hệ điều hành Android giới di động ngày Thông qua việc tìm hiểu nắm bắt lý thuyết hệ điều hành Android để hoàn thiện xây dựng chương trình ứng dụng truyền nhận file hệ điều hành Android cho điện thoại di động Trong trình tìm hiểu lý thuyết xây dựng ứng dụng, em thu đươc kết sau: - Học cách phân tích thiết kế hệ thống hoàn chỉnh, Tự lập trình tìm kiếm tài liệu xây dựng ứng dụng - Sau trình tìm hiểu nghiên cứu xây dựng đề tài, em nắm vững số kiến thức hệ điều hành cách xây dựng ứng dụng hoàn thiện hđh Android - Xây dựng ứng dụng FTP Client Điện Thoại Di Động với hệ điều hành Android, hiểu sử dụng lớp đối tượng, phương thức hỗ trợ lập trình hệ điều hành Android - Ứng dụng FTP Client em tìm hiểu xây dựng chạy thử máy ảo Android hoạt động tốt Ứng dụng kết nối tới ftp Server mạng cho phép truyền nhận file điện thoại mô Do thời gian ngắn với kiến thức thân hạn chế nên chưa tìm hiểu sâu kiến thức liên quan tới hệ điều hành Android Mặt khác, điều kiện nên chương trình thực mô emulator điều kiện áp dụng điện thoại di động thực tế Hƣớng phát triển đề tài: - Xây dựng phần mềm ứng dụng hoàn , thêm chức quản lý file thư mục khác - Nghiên cứu tìm hiểu sâu kiến thức liên quan tới hệ điều hành Android để xây dựng thêm số ứng dụng khác hệ điều hành Android cho điện thoại di động Trong trình làm đồ án em cố gắng tìm hiểu tài liệu qua nhiều phương thức để tổng hợp kiến thức, học hỏi từ thầy cô bạn bè để hoàn thành đồ án Vận dụng kiến thức học tìm hiểu để xây dựng demo phần mềm mô hệ điều hành Android Em xin chân thành cảm ơn thầy cô bạn giúp đỡ em hoàn thành đồ án Trong đồ án có thiếu sót mong thầy cô bạn góp ý để em hoàn thiện đồ án Em xin chân thành cảm ơn! Thái Nguyên, tháng năm 2012 Sinh viên Phùng Thái Dƣơng TÀI LIỆU THAM KHẢO [1] Mark L Murphy Beginning Android Apress [2] Wei-Meng Lee Beginning Android Application Development [3] Trang phát triển Android http://developer.android.com/ [4] Cộng đồng phát triển Android Việt http://vietandroid.com/ [5] http://www.vietnamandroid.com/ ... toán xây dựng ứng dụng truyền nhận file hệ điều hành Android cho điện thoại di động cách phân tích thiết kế yêu cầu đồ án - Chƣơng III: Xây dựng ứng dụng truyền nhận file điện thoại máy tính hệ điều. .. thức truyền thông có lợi cho thân,đó lý mà em chọn đề tài : “ Xây dựng ứng dụng truyền nhận file điện thoại máy tính hệ điều hành android Đây tảng để phát triển đồ án xây dựng ứng dụng truyền nhận. .. dựng ứng dụng truyền nhận file điện thoại máy tính qua môi truờng mạng Nội dung đồ án Xây dựng ứng dụng truyền nhận file điện thoại máy tính hệ điều hành android chia thành chương sau: - Chƣơng

Ngày đăng: 20/04/2017, 22:25

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan