android如何实现用拍照上传头像

android如何实现用拍照上传头像,第1张

拍照功能可以用第三方框架Picasso或者LuckSiege的那个PictureSelector
,集成很方便,上传的话,和其他文件上传是一个道理,就>这个存放的位置是根据你的来源而定的。一般是放在sdcard下的某个目录下的,
。我来给你说下思路:服务端(android手机)这边需要写个工具类,来遍历SD卡下的文件,只显示jpg和png的。主类中有个按钮来添加,还有一个按钮是用来上传,然后写个监听,用来接收服务端发回的消息。服务端这边写个监听来接收客户端发来的消息,保存发过来的数据流。至于手机上能显示这张,只要在写个imageview,把资源加载上就ok啦,你可以去网上搜索一下“sd上的文件上传”,希望可以帮到你哦哦

android客户端和java服务端之间可以用socket来传输。
服务器端代码:
import javaioDataInputStream;
import javaioDataOutputStream;
import javaioFileInputStream;
import javaioIOException;
import javanetInetSocketAddress;
import javanetServerSocket;
import javanetSocket;

public class Server02 {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(40000);
Socket socket = serveraccept();
DataInputStream dos = new DataInputStream(socketgetInputStream());
int len = dosavailable();
Systemoutprintln("len = "+len);
byte[] data = new byte[len];
dosread(data);

Systemoutprintln("data = "+data);
dosclose();
socketclose();
serverclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}
客户端代码:
[java] view plaincopy
imageView02 = (ImageView)findViewById(Ridimage02);
button02 = (Button)findViewById(RidButton02);
button02setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
Socket socket;
try {
socket = new Socket("1921681203",40000);
DataOutputStream out = new DataOutputStream(socketgetOutputStream());

Bitmap bitmap = BitmapFactorydecodeResource(getResources(), Rdrawableqt);
imageView02setImageBitmap(bitmap);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//读取到ByteArrayOutputStream
bitmapcompress(BitmapCompressFormatPNG, 100, baos);
byte[] bytes = baostoByteArray();
outwrite(bytes);

Systemoutprintln("bytes--->"+bytes);
outclose();
socketclose();
} catch (UnknownHostException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
}
});

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12714044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存