android获取图片地址
⑴ android 下使用Cursor如何获得专辑图片
android下使用cursor获取专辑图片,主要是在数据库里面先保存专辑图片的url地址,当使用cursor游标遍历数据库数据的时候,使用资源操作类进行加载相应的url,如下代码:
Cursor cursor = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI, columns, null, null, null);
Log.e("cursor" , (cursor==null) + "");
while(cursor.moveToNext()) {
// 查找封面图片
long albumId = cursor.getLong(5);
// 读取专辑图片
String album_uri = "content://media/external/audio/albumart"; // 专辑Uri对应的字符串
Uri albumUri = ContentUris.withAppendedId(Uri.parse(album_uri), albumId);
// 取图片 ==> 得到一个输入流
Bitmap coverPhoto = null ;
try {
InputStream is = context.getContentResolver().openInputStream(albumUri);
if(null != is) {
coverPhoto = BitmapFactory.decodeStream(is);
}
} catch (Exception e) {
e.printStackTrace();
}
data.add(new Audio(cursor.getLong(0), cursor.getString(1) , cursor.getString(2) , cursor.getLong(3) , cursor.getString(4) , albumId , coverPhoto));
}
cursor.close();
⑵ Android 两个Activity之间怎样使用Uri传递图片,怎样获取图片的Uri,怎样通过Uri得到图片
图片类:
class Image implements Serializable{
private String url;
private Bitmap bitmap;
}
传递:
Image image = new Image();
image.seturl(url);
image.setbitmap(bitmap);
intent.putExtra("image", image);
获取
Image image = intent.getSerializableExtra("image");
String url = image.geturl();
Bitmap bitmap =image.getbitmap();
⑶ Android中 怎么获取apk中的素材图片
有些APK程序里的图标、图片很漂亮,在使用程序时你可能会想,如果能把这些漂亮的图标、图片提取出来就好了,其实这是可以办到的,请看教程。
更多例子请参考android学习手册,里面有源码。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
本教程以“电影超人”的APK安装包为例,其它APK程序的提取方法基本相同。以下内容需要在电脑中进行操作。
1.用压缩软件打开APK
APK程序其实就是个ZIP压缩包,想提取其中的资源就得先用解压缩软件将其打开,如图我们在APK安装包上右键、打开方式、选择压缩软件,我这里选择的是RAR,如果你安装的是其它的解压缩软件,选择它即可。如果你以前没有用压缩软件打开过APK文件,可以点击选择默认程序然后找到解压缩软件进行打开。
2.解压图片文件夹
用解压缩软件打开APK程序后,如图里面有几个文件夹,我们拖出“res”这个文件,一般APK程序的图片资源都在这个文件中。
3.寻找需要的图片
把“res”文件夹解压后我们打开可以看到里面的几个文件夹一般程序图标等图片都在“drawable-hdpi”这个文件夹,打开看看,是不是有自己需要的东西,如果没有再到其它的几个文件夹中查找一下。APK文件里的图片都是png格式的,可直接查看,这点比水果要厚道了许多。
4.反编译查找资源
也许大家发现了,解压后“电影超人”里大量的电影图片并没有看到,那是因为APK程序制作时把它们编译到了“resources.arsc”文件里我们想提取的话把APK文件进行反编译就可以了。具体反编译方法这里就不讲解了,请自行网络。
⑷ android 网络获取图片并在activity上显示
在Android应用中,获取网络图片并在Activity中显示,是一个常见的需求。首先,你需要使用HttpURLConnection或OkHttp等网络库来下载图片。这里,我们可以使用OkHttp,因为它提供了简洁且高效的API。
以下是一个简单的示例代码,用于从网络获取图片并将其设置为Activity的背景:
1. 添加依赖
在项目级build.gradle文件中添加OkHttp依赖:
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
2. 获取网络图片
使用OkHttp发起网络请求获取图片。这里我们使用一个简单的GET请求:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://example.com/image.png").build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
byte[] bytes = response.body().bytes();
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
3. 设置图片为Activity背景
获取到图片后,可以将其设置为Activity的背景。我们可以在Activity的onCreate方法中完成这一操作:
ImageView imageView = findViewById(R.id.background_image);
imageView.setImageBitmap(bitmap);
View backgroundView = findViewById(R.id.activity_background);
backgroundView.setBackground(new BitmapDrawable(getResources(), bitmap));
以上步骤展示了如何从网络获取图片并在Android应用的Activity中显示。值得注意的是,为了提升用户体验,应当确保网络请求异步执行,避免阻塞主线程。
此外,在实际应用中,还需要处理可能出现的异常情况,比如网络请求失败或图片下载失败等。可以使用try-catch语句来捕获并处理这些异常。
通过这种方式,我们可以在Android应用中轻松实现从网络获取图片并在Activity中展示的功能。
⑸ android 调用相册的图片 图片无法找到 路径应该怎么写
先引入Environment类,然后调用getExternalStorageDirectory()函数获得sd卡路径,然后连接在你的filename前面,应该就可以解决.
具体:
import android.os.Environment;
......
File f = new File(Environment.getExternalStorageDirectory() + fileName);
其他用到fileName的地方类似.
另外,读写sd卡需要在AndroidManifest.xml文件内加入权限,具体:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />