androidurl获取图片
1. 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中展示的功能。
2. Android开发:求教,如何通过一个gif_url地址保存gif图片到本地并且能播放
在你的appuild.gradle文件里面需要添加
dependencies{
//在API<14上的机器支持WebP时,需要添加
compile'com.facebook.fresco:animated-base-support:0.12.0'
//支持GIF动图,需要添加
compile'com.facebook.fresco:animated-gif:0.12.0'
//支持WebP(静态图+动图),需要添加
compile'com.facebook.fresco:animated-webp:0.12.0'
compile'com.facebook.fresco:webpsupport:0.12.0'
//仅支持WebP静态图,需要添加
compile'com.facebook.fresco:webpsupport:0.12.0'
}
3. 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();
4. Android 视频开发中如何通过url或者本地视
第一步:将bitmap转换成drawable对象,并设置给surfaceView视频播放窗口作为背景图片
//通过getVideoThumbnail方法取得视频中的第一帧图片,该图片是一个bitmap对象Bitmap bitmap=getVideoThumbnail(String url);//将bitmap对象转换成drawable对象Drawable drawable=new BitmapDrawable(bitmap);//将drawable对象设置给视频播放窗口surfaceView控件作为背景图片surfaceView.setBackgroundDrawable(drawable);123456
第二部分:通过url网址或者本地文件路径获得视频的第一帧图片
public Bitmap getVideoThumbnail(String url) {
Bitmap bitmap = null;//MediaMetadataRetriever 是android中定义好的一个类,提供了统一//的接口,用于从输入的媒体文件中取得帧和元数据;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
//()根据文件路径获取缩略图//retriever.setDataSource(filePath);
retriever.setDataSource(url, new HashMap()); //获得第一帧图片
bitmap = retriever.getFrameAtTime();
}
catch(IllegalArgumentException e) {
e.printStackTrace();
}
catch (RuntimeException e) {
e.printStackTrace();
}
finally {
try {
retriever.release();
}
catch (RuntimeException e) {
e.printStackTrace();
}
}
Log.v("bitmap", "bitmap="+bitmap); return bitmap;
}
5. 请问android怎样通过json数据从服务器获取图片
直接获取是不行的,要有一个文件服务器,对于文件服务器会为每个图片生成一个资源路径,然后json数据中返回的就是这个资源路径,最后用URL类就可以通过这个资源路径把图片download下来
6. android开发如何执行下载图片到指定目录里,然后通过imageview去读取该图片。
1、首先你有一个保存图片的路径 filePath
还有一个现在图片的链接 url
java">StringfilePath="....";
Stringurl="....";
bytes[]b=newbytes[1024];
Filefile=newFile(filePath);
FileOutputStreamfs=newFileOutputStream(file);
InputStreamin=newURL(url);
while(in.read(b)){
fs.wirte(b);
}
Bitmapbitmap=BitmmapFactory.decodeStream(in);
imageView.setBitmapResource()
大概就是这样详细的你自己弄吧
7. android如何获取url指定的图片资源
就是下载图片,然后保存下来就是啊。
一般可以使用第三方封装好的框架下载比如okhttp imagelLoader等
也可自己通过网络编程获取图片然后保存
8. android 使用URL获取本地的文件
public String getFromAssets(String fileName){
try {
InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}
9. android中怎么跳转到相册获取照片并得到url
方法/步骤
1
如下图所示,需要根据URL地址获取图片加载到图中Anroid机器人所在的位置,这是运行前的效果:
2
首先需根据URL地址获取图片,如下所示,urladdr即为图片地址,返回Drawable对象:
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
// TODO Auto-generated method stub
Drawable drawable = null;
try{
//judge if has picture locate or not according to filename
drawable = Drawable.createFromStream(new URL(urladdr).openStream(), "image.jpg");
}catch(IOException e){
Log.d("test",e.getMessage());
}
if(drawable == null){
Log.d("test","null drawable");
}else{
Log.d("test","not null drawable");
}
return drawable;
}
3
获取到图片后,需要更新主线程UI资源,考虑到时间以及界面反应延迟等,所以采用线程加以处理,如下图所示:
// image
new Thread(new Runnable(){
Drawable drawable = loadImageFromNetwork(urladdress);
@Override
public void run(){
//post() is quite important,update pictures in UI main thread
image.post(new Runnable(){
@Override
public void run(){
//TODO Auto-generated method stub
image.setImageDrawable(drawable);
}
});
}
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
//... 略(如 1 中所示)
}
}).start(); //线程启动
4
说明:在上述示例代码中,image是ImageView类的一个对象,也就是APP中的一个显示图像组件,利用获取到的图片drawable去更新image,运行效果如下所示: