经过将近两个星期…我放弃了!!!
我实现了从画廊和相机上传图片…
startActivityForResult... ok!
EXTERNAL_CONTENT_URI... ok!
ACTION_IMAGE_CAPTURE... ok!
onActivityResult... ok!
Activity.RESULT_OK ('cause I'm on Fragment)... ok!
getActivity().getContentResolver().query()... ok!
BitmapFactory.Options, opts.inSampleSize, .decodeFile... ok!
但在使用…上传到服务器之前,我无法将图片大小减小到900px
- FileInputStream(sourceFile);
- HttpURLConnection
- DataOutputStream( getOutputStream)
- dos.writeBytes(form... name... file name...)
- dos.write(buffer, 0, bufferSize)
我听不懂
-在这种情况下,如何使用“ createScaledBitmap”.
-如果在创建新的位图时没有路径(至少我认为是这样),如何使用“ writeBytes(… filename =?)”.
-如果磁盘上有原始映像,“ createScaledBitmap”结果的路径是什么?
-缓冲区是如何工作的(一步一步就很好了),为什么在其他关于*的示例中不使用它呢?
我阅读了许多参考资料,包括:
http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
但是我已经使用“ options.inSampleSize”在片段上进行预览,并且我认为(以我为例)需要“ createScaledBitmap”来实现上传900x900px图像.
如果还有另一种上载具有调整大小的图像的方法,请告诉我!
(任何链接都将有所帮助)
我知道…我应该使用AsyncTask …我正在努力!