当前位置:首页 » 安卓系统 » androidurl显示图片

androidurl显示图片

发布时间: 2023-02-26 09:17:23

‘壹’ 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,运行效果如下所示:

‘贰’ android根据url获取网络图片报错

这个看着是https协议的URL,用普通的http请求就报错了,我这里只有请求https到流的代码,给你先看看,把流再转成文件 就可以了

java">
@SuppressLint("ParserError")
(StringdownUrl,StringpostStr)throwsIOException{
Stringres="";

HttpsURLConnection.setDefaultHostnameVerifier(newNullHostNameVerifier());
SSLContextcontext=null;
try{
context=SSLContext.getInstance("TLS");
}catch(NoSuchAlgorithmExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}

try{
context.init(null,newX509TrustManager[]{newmyX509TrustManager()},newSecureRandom());
}catch(KeyManagementExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());

URLdUrl=newURL(downUrl);
HttpsURLConnectiondConn=(HttpsURLConnection)dUrl.openConnection();

dConn.setDoInput(true);
if(postStr!=""){
dConn.setDoOutput(true);
dConn.setRequestMethod("POST");
}

dConn.connect();

if(postStr!=""){
try{
BufferedWriterout=newBufferedWriter(newOutputStreamWriter(
dConn.getOutputStream()));
out.write(postStr);
out.flush();

}catch(Exceptione){
StringerrMsg=e.getMessage();
if(null!=errMsg){
Toasttoast=Toast.makeText(null,errMsg,Toast.LENGTH_LONG);
toast.show();
}

e.printStackTrace();
}

}


BufferedInputStreamin=newBufferedInputStream(dConn.getInputStream());

returnin;
}


{
@Override
publicbooleanverify(Stringhostname,SSLSessionsession){
//Log.i("RestUtilImpl","Approvingcertificatefor"+hostname);
returntrue;
}
}

{
@Override
publicX509Certificate[]getAcceptedIssuers(){
returnnull;
}

@Override
publicvoidcheckClientTrusted(X509Certificate[]chain,StringauthType)
throwsCertificateException{
//TODOAuto-generatedmethodstub
}

@Override
publicvoidcheckServerTrusted(X509Certificate[]chain,StringauthType)
throwsCertificateException{
//TODOAuto-generatedmethodstub
}
}

‘叁’ android原生开发,从http下载图片,下载失败或成功提示,并放图片显示出来。

下载类
public class DownFile
{
public InputStream getInput(String path)
{
InputStream in = null;
try {
URL url = new URL(path);
HttpURLConnection hcon = (HttpURLConnection) url.openConnection();
in = hcon.getInputStream();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return in;
}
public int downIamge(String path,String name)
{
InputStream in = getInput(path);
int type = 0;
File ex = Environment.getExternalStorageDirectory();
try {
FileOutputStream out = new FileOutputStream(new File(ex.getAbsoluteFile()+File.separator+name));
int len = 0;
byte[] bb = new byte[1024];
while((len = in.read(bb))!=-1)
{
out.write(bb,0,len);
}
out.close();
type = 1;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
type = 2;
}
return type;
}
}
2在另外一个activity里面调用这个方法DownFile().downIamge(path,name); 返回1就是下载成功 ,2 就显示下载失败
自己手写的 望采纳 不懂 可继续追问

‘肆’ android:URL网络下载图片问题,,源代码已经有权限了 电脑也有网络为啥就是在ImageView中显示不出来呢

因为你获取图片的时候访问网络了
而android4.0之后 访问网络智能在非主线程中使用,,
难道你这么写没报错吗?

‘伍’ 微信小程序分享 设置的URL图片地址不显示(安卓机上不显示)

微信小程序分享  onShareAppMessage  设置的  imageUrl  图片链接在安卓手机上不显示分享的图片,别人看到的分享是一片黑的

解决办法:

因为微信小程序在安卓手机上不兼容这种https 的链接,要改成http 就完美实现

这个图片链接不支持 https://xxx.png   需改成  http://xxx.png

string.replace('s','')   去掉 s

‘陆’ 怎样在java里用URL引入图片引入图片

URL对象中前而几个方法都非常容易理解,而该对象提供的openStream()可以读取该 URL资源的InputStream,通过该方法可以非常方便地读取远程资源。

下面的程序示范如何通过URL类读取远程资源:

1)只显示网络图片


1)只显示网络图片


引用图片处理的java类:

packagejun.king.urlgetimage;

importjava.io.InputStream;

importjava.net.URL;

importandroid.app.Activity;

importandroid.graphics.Bitmap;

importandroid.graphics.BitmapFactory;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.os.Message;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.widget.ImageView;

{

Bitmapbitmap;

ImageViewimageview;

Handlerhandler=newHandler(){

@Override

publicvoidhandleMessage(Messagemsg){

if(msg.what==0x9527){

//显示从网上下载的图片

imageview.setImageBitmap(bitmap);

}

}

};

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageview=(ImageView)findViewById(R.id.imageView1);

//创建并启动一个新线程用于从网络上下载图片

newThread(){

@Override

publicvoidrun(){

try{

//创建一个url对象

URLurl=newURL("http://www..com/img/bdlogo.png");

//打开URL对应的资源输入流

InputStreamis=url.openStream();

//从InputStream流中解析出图片

bitmap=BitmapFactory.decodeStream(is);

//imageview.setImageBitmap(bitmap);

//发送消息,通知UI组件显示图片

handler.sendEmptyMessage(0x9527);

//关闭输入流

is.close();

}catch(Exceptione){

e.printStackTrace();

}

}

}.start();

}

@Override

(Menumenu){

//Inflatethemenu;.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

@Override

(MenuItemitem){

//Handleactionbaritemclickshere.Theactionbarwill

///Upbutton,solong

//.xml.

intid=item.getItemId();

if(id==R.id.action_settings){

returntrue;

}

returnsuper.onOptionsItemSelected(item);

}

}

‘柒’ android怎么加载一个有图片的url

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("img");

‘捌’ 想问一下在Android studio里面怎么实现显示网络图片,就是输入一个网址,显示一张图片

使用第三方图片加载框架如picasso,使用很简单,以下几步即可完成你的需求。

  1. 在app的build.gradle文件中添加依赖

    implementation 'com.squareup.picasso:picasso:2.71828'

  2. 传入网络图片地址,以及要在哪个ImageView上显示

    Picasso.get().load(imageurl).into(mImageView);

很简单,通过以上步骤,就可以完成在Android studio里面怎么实现显示网络图片,就是输入一个网址,显示一张图片。

‘玖’ android如何显示多个网络上的图片(提供的是图片的url),按照一个列表的形式显示

你可以使用一个listview,自己定义下适配器。从网络上面下载图片,并显示

热点内容
密码锁写什么最好 发布:2025-05-15 19:05:31 浏览:780
5的源码是 发布:2025-05-15 19:04:07 浏览:718
c语言创建的源文件 发布:2025-05-15 18:54:08 浏览:610
3个数字密码锁有多少种 发布:2025-05-15 18:49:48 浏览:683
压缩包手机打开 发布:2025-05-15 18:37:34 浏览:216
安卓取消耳机模式怎么取消 发布:2025-05-15 18:24:24 浏览:58
气球怎么解压视频 发布:2025-05-15 18:20:00 浏览:782
电脑软件密码怎么设置密码 发布:2025-05-15 18:09:07 浏览:107
android应用是否运行 发布:2025-05-15 18:02:40 浏览:10
java排序list 发布:2025-05-15 18:02:40 浏览:298