Android 从图库发送图像
我们正在android 2.3.3中开发一个聊天应用程序。我们希望使用套接字编程将图片从一个模拟器发送到另一个模拟器。我们是android新手,不知道如何做到这一点。这方面的任何帮助都将是可观的。Android 从图库发送图像,android,Android,我们正在android 2.3.3中开发一个聊天应用程序。我们希望使用套接字编程将图片从一个模拟器发送到另一个模拟器。我们是android新手,不知道如何做到这一点。这方面的任何帮助都将是可观的。 提前感谢使用动作拾取从多媒体资料中获取图像,如下所示: Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); st
提前感谢使用动作拾取从多媒体资料中获取图像,如下所示:
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, ACTIVITY_SELECT_IMAGE);
这将允许您启动gallery应用程序来选择照片:
在OnActivityResult中,您将收到照片的uri:
处理此uri以从此uri获取字节数组:
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case REQ_CODE_PICK_IMAGE:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
//Open a Socket Connection to send photo
Socket socket=new Socket("ip", portNo);
OutputStream os=socket.getOutputStream();
os.write(byteArray);
os.flush();
//Read response by getting input stream from socket.
}
}
}
搜索可能会发现许多套接字实现的示例代码: