上传图片到apk
Posted
技术标签:
【中文标题】上传图片到apk【英文标题】:Upload images to apk 【发布时间】:2014-01-14 23:43:20 【问题描述】:我想将图片从图库上传到 apk。如何在没有 Web 服务的情况下附加图像?
我应该为此使用 sqlite 还是内容提供者??
附上图片后,我希望它显示在图片查看器中。
【问题讨论】:
您可以将图片保存在资产文件夹中。通过使用 AssetManager,您可以使用回您的图像。 您没有尝试将它们保存在您的可绘制文件夹中吗? 我希望通过单击按钮将图像动态上传到我的 apk。从 sd 卡文件夹到 apk。 “上传到我的apk”是什么意思?您想通过单击应用中的按钮打开手机图库,然后选择一些图像并将其显示在应用内的 ImageView 中吗? 【参考方案1】:好的,先做一些事情。您在图库中看到的图像存储在手机内存或 SDCard 中。您存储在应用程序内的资产文件夹(eclipse 中的资源文件夹)中的图像供内部应用程序使用,当构建 apk 时,您不能在其中放置任何内容。你想要的是在你的应用程序运行时将一些图像与你的应用程序相关联,所以有一些方法可以做到这一点,你只需要选择适合你的。
首先,您需要通过 Intent 从您的应用中打开图片库,如下所示:
//Constant to compare result
private static int RESULT_LOAD_IMAGE = 1;
//Intent that call the gallery
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
//Start another activity that returns a result to yours
startActivityForResult(i, RESULT_LOAD_IMAGE);
//Override the callback to get the result for the activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
//If everythig ok and a image is selected
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data)
//Get the image path
Uri selectedImage = data.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 picturePath = cursor.getString(columnIndex);
cursor.close();
//Show the image in your ImageView
ImageView imageView = (ImageView) findViewById(R.id.imgView);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
好的,现在你有了你想要决定如何处理它的图像,这就是我认为你想要的“在我的 apk 中上传”。您现在拥有的图像在内存手机或 SDCard 中,现在您有了该图像的路径。如果您想复制它并将其存储在您的应用程序中,您可以将图像复制到您的应用程序私有文件夹,更改图像名称并以您想要的方式存储新路径(sqlite,sharedPrefs,将名称更改为您可以的一些逻辑获取图像名称等),现在图像已“上传”到您的应用程序。要获取应用程序私有文件夹,请使用Context.getFilesDir()
。但是你已经有了图像文件,只要用它做你想做的事。并注意权限。其他方式是将图像存储在服务器中的 Web 服务,将图像存储在数据库中的 sqlite。
【讨论】:
非常感谢 Labreu 的 grt 帮助。赞赏。以上是关于上传图片到apk的主要内容,如果未能解决你的问题,请参考以下文章
android一个上传图片的样例,包含怎样终止上传过程,假设在上传的时候更新进度条