首页

android下载服务器端文件(Socket实现下载文件)

java

2020-6-20

android客户端利用sokcet通信和向Java服务端发请求,Java服务端把文件发给android客户端

调试时需要将 android端 连接的 ip地址 改为您服务器的ip地址 即可

服务端截图:

android端截图

android端源码如下:

package com.yqq.SocketClient;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.widget.Toast;

public class SocketClient extends Activity {
	private Socket socket;
	InputStream inputStream;
	OutputStream outputStream;
	Handler mHandler=new Handler(){
		
		public void handleMessage(Message msg) {
			
			if(msg.what==0x123){
				Toast.makeText(SocketClient.this,"文件下载完毕", 0).show();
			}
		}
	};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(com.example.socketclient.R.layout.main);
	}

	public void downFile(View v){
		new Thread(new Runnable() {
			
			@Override
			public void run() {
				try {
					socket=new Socket(InetAddress.getByName("172.20.113.1"), 20000);
					inputStream=socket.getInputStream();
					outputStream=socket.getOutputStream();
					outputStream.write("askForFile".getBytes());
					outputStream.flush();
					//socket.shutdownOutput();
					Thread.sleep(3000);
					byte[] buffer=new byte[1024];
					File file=new File(getCacheDir(),"测试");
					FileOutputStream fileOutputStream=new FileOutputStream(file);
					while(inputStream.read(buffer)!=-1){
						fileOutputStream.write(buffer);
						
					}
					
					Looper.prepare();
					Message message=Message.obtain();
					message.what=0x123;
					mHandler.sendMessage(message);
					Looper.loop();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
			}
		}).start();
		
	}
}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/.classpath , 475
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/.project , 848
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/AndroidManifest.xml , 870
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/AndroidManifest.xml , 870
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/R.txt , 30533
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/SocketClient.apk , 830850
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$anim.class , 629
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$attr.class , 5136
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$bool.class , 763
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$color.class , 594
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$dimen.class , 1530
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$drawable.class , 5191
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$id.class , 2556
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$integer.class , 445
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$layout.class , 1629
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$string.class , 1141
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$style.class , 9582
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R$styleable.class , 6541
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/android/support/v7/appcompat/R.class , 1015
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/BuildConfig.class , 357
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$anim.class , 617
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$attr.class , 5124
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$bool.class , 751
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$color.class , 582
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$dimen.class , 1518
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$drawable.class , 5214
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$id.class , 2575
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$integer.class , 433
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$layout.class , 1645
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$string.class , 1161
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$style.class , 9638
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R$styleable.class , 6713
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/example/socketclient/R.class , 959
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/yqq/SocketClient/SocketClient$1.class , 926
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/yqq/SocketClient/SocketClient$2.class , 2449
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes/com/yqq/SocketClient/SocketClient.class , 1382
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/classes.dex , 1403960
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/dexedLibs/android-support-v4-c9a715eed21afbcd9a7d526b2b05b51f.jar , 273766
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/dexedLibs/android-support-v7-appcompat-fda349de6a1d9a4dc638dcfa44c2cf05.jar , 150574
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/dexedLibs/appcompat_v7_4-736f191b3a059f4ed14eb1f4956d8b2d.jar , 166
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/jarlist.cache , 374
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/res/crunch/drawable-hdpi/ic_launcher.png , 5964
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/res/crunch/drawable-mdpi/ic_launcher.png , 3112
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/res/crunch/drawable-xhdpi/ic_launcher.png , 9355
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/res/crunch/drawable-xxhdpi/ic_launcher.png , 17889
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/bin/resources.ap_ , 384827
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/gen/android/support/v7/appcompat/R.java , 41086
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/gen/com/example/socketclient/BuildConfig.java , 166
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/gen/com/example/socketclient/R.java , 180800
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/ic_launcher-web.png , 51394
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/libs/android-support-v4.jar , 758727
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/proguard-project.txt , 781
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/project.properties , 609
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/drawable-hdpi/ic_launcher.png , 7658
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/drawable-mdpi/ic_launcher.png , 3777
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/drawable-xhdpi/ic_launcher.png , 12516
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/drawable-xxhdpi/ic_launcher.png , 24777
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/layout/main.xml , 471
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/values/strings.xml , 82
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/values/styles.xml , 699
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/values-v11/styles.xml , 331
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/res/values-v14/styles.xml , 388
Socket═¿╨┼╧┬╘╪╬─╝■/SocketClient/src/com/yqq/SocketClient/SocketClient.java , 1994
Socket═¿╨┼╧┬╘╪╬─╝■/SocketFileTest/.classpath , 232
Socket═¿╨┼╧┬╘╪╬─╝■/SocketFileTest/.project , 390
Socket═¿╨┼╧┬╘╪╬─╝■/SocketFileTest/bin/com/yqq/socketTest/SocketTest$ReadThread.class , 3206
Socket═¿╨┼╧┬╘╪╬─╝■/SocketFileTest/bin/com/yqq/socketTest/SocketTest.class , 931
Socket═¿╨┼╧┬╘╪╬─╝■/SocketFileTest/src/com/yqq/socketTest/SocketTest.java , 3917
没有账号? 忘记密码?

社交账号快速登录