当前位置:首页 » 安卓系统 » android网络获取图片

android网络获取图片

发布时间: 2023-03-26 16:17:35

Ⅰ android 网络图片查看器 无法获取服务器上的图片

你直接在手机的浏览器里面输入这个地址也可以显示出这个图片吗?
先怀疑一种可能性:你的手机上网方式不和电脑在一个局域网内部,也就是说不能通过192.168.***来访问你自己服务器上的图片,你可以先换一张公共网络图片的地址来调试。

Ⅱ Android viewpager的高度动态设置为网络获取到的图片的高度 怎么设置试了各种方法都不行

用自定猛陪义的view就可枝拦蠢以,重写viewPager的onMeasure方法。源代码衡指已上传

java" wealth="5" />

Ⅲ android 加载网络图片错误

如果使用固定地址,如每个用户头像都是用户id+什么什么的,固定下来,这样更新有两种:
1。每次都重新加载。(不符合)。
2。服务器在返回其它数据的api中返回一个标记。通过标记判断。
对于2,如果用单独api去获取是否更新,有点浪费。选择你每次都要访问的api,服务器那边在其中加一个关于头像是否更新的标记。这样,只需要一次api访问就能一并解决这个问题。

Ⅳ 如何通过网络获取图片和文字信息显示在android的listview中

通过httpurlconnection或者HTTPclient通过线程访问网络,并且你这个返回的是JSON数据。通过数据解析,得到封装成实体类,然后绑定数据在listview上。

Ⅳ Android如何获取网络图片

android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况。对于这种情况,一般的方法就是耗时操作用线程来实现。下面列三种获取url图片的方法:


  1. 直接获取:(容易:ANR,不建议)

mImageView=(ImageView)this.findViewById(R.id.imageThreadConcept);
Drawabledrawable=loadImageFromNetwork(IMAGE_URL);
mImageView.setImageDrawable(drawable);

2. 后台线程获取url图片:

mImageView=(ImageView)this.findViewById(R.id.imageThreadConcept);
newThread(newRunnable(){
Drawabledrawable=loadImageFromNetwork(IMAGE_URL);
@Override
publicvoidrun(){

//post()特别关键,就是到UI主线程去更新图片
mImageView.post(newRunnable(){
@Override
publicvoidrun(){
//TODOAuto-generatedmethodstub
mImageView.setImageDrawable(drawable);
}});
}

}).start();

3.AsyncTask获取url图片

mImageView=(ImageView)this.findViewById(R.id.imageThreadConcept);
newDownloadImageTask().execute(IMAGE_URL);
<String,Void,Drawable>
{

(String...urls){
returnloadImageFromNetwork(urls[0]);
}
protectedvoidonPostExecute(Drawableresult){
mImageView.setImageDrawable(result);
}
}

Ⅵ android关于网络上获取图片后保存在本地的问题

private InputStream ins = null;

....

HttpClient httpClient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(server_path_up);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httppost);
HttpEntity entity = response.getEntity();

ins = entity.getContent();

这个ins是一个数据流,然后通过BitmapFactory.decodeStream(ins)就可以得到这个图片了。得到图片后保存到sd卡上,也是通过数据流保存,方法雷同。

Ⅶ Android如何从服务器获取图片

  • 直接获取bitmap对象

  • //传输网络图片

  • publicBitmapgetPic(StringuriPic){

  • URLimageUrl=null;

  • Bitmapbitmap=null;

  • try{

  • imageUrl=newURL(uriPic);

  • }catch(MalformedURLExceptione){

  • e.printStackTrace();

  • }

  • try{

  • HttpURLConnectionconn=(HttpURLConnection)imageUrl

  • .openConnection();

  • conn.connect();

  • InputStreamis=conn.getInputStream();

  • bitmap=BitmapFactory.decodeStream(is);

  • is.close();

  • }catch(IOExceptione){

  • e.printStackTrace();

  • }

  • returnbitmap;

  • }

Ⅷ 如何在Android当中显示网络图片

在android当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。

在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的BitMap。

packagecom.jinyan.image;

importjava.io.IOException;
importjava.io.InputStream;
importjava.net.HttpURLConnection;
importjava.net.MalformedURLException;
importjava.net.URL;

importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.ImageView;

{
/**.*/

StringimageUrl="http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";
BitmapbmImg;
ImageViewimView;

Buttonbutton1;

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imView=(ImageView)findViewById(R.id.imview);
imView.setImageBitmap(returnBitMap(imageUrl));


}

publicBitmapreturnBitMap(Stringurl){
URLmyFileUrl=null;
Bitmapbitmap=null;
try{
myFileUrl=newURL(url);
}catch(MalformedURLExceptione){
e.printStackTrace();
}
try{
HttpURLConnectionconn=(HttpURLConnection)myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
InputStreamis=conn.getInputStream();
bitmap=BitmapFactory.decodeStream(is);
is.close();
}catch(IOExceptione){
e.printStackTrace();
}
returnbitmap;
}

}

Ⅸ android bitmap 从网络获取图片并处理问题 溢出

在 Java中,JavaVM拥有自动管理内存的功能,Java的GC能够进行垃圾回收,但是如果ImageView使用过多的Bitmap的话,经常会报OOM(内存溢出)。

造成内存溢出及解决方案:

  1. 使用BitmapFactory.decodeStream替代createBitmap方法

    原因是该方法直读取图片字节,调用JNI>>nativeDecodeAsset()来完成decode,无需再使用java层的createBitmap。

  2. 使用压缩读取技术

    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;

BitmapFactory.decodeFile(imageSdUri, options);

final int height = options.outHeight;

final int width = options.outWidth;

options.inSampleSize = 1;

int w = 320;

int h = 480;

h = w*height/width;//计算出宽高等比率

int a = options.outWidth/ w;

int b = options.outHeight / h;

options.inSampleSize = Math.max(a, b);

options.inJustDecodeBounds = false;

Bitmap bitmap = BitmapFactory.decodeFile(imageSdUri, options);


3.及时释放Bitamp
Bitmap对象在不使用时,我们应该先调用recycle()释放内存,然后才它设置为null.虽然recycle()从源码上看,调用它应该能立即释放Bitmap的主要内存,但是测试结果显示它并没能立即释放内存。但是我它应该还是能大大的加速Bitmap的主要内存的释放。

Ⅹ android根据url获取网络图片报错

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


@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
}
}
热点内容
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:162
怎么引入安卓项目 发布:2025-05-14 21:26:39 浏览:823
游戏辅编程 发布:2025-05-14 21:18:49 浏览:686
三菱plc一段二段密码什么意思 发布:2025-05-14 21:17:16 浏览:527
电脑开机密码忘记了怎么破解 发布:2025-05-14 21:09:40 浏览:56
pythondict格式 发布:2025-05-14 21:09:38 浏览:885
落叶片拍摄脚本 发布:2025-05-14 20:40:49 浏览:798
安卓为什么不能用cmwap 发布:2025-05-14 20:40:43 浏览:657
jquery获取上传文件 发布:2025-05-14 20:27:57 浏览:44
云web服务器搭建 发布:2025-05-14 20:25:36 浏览:526