androidurl顯示圖片
『壹』 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,使用很簡單,以下幾步即可完成你的需求。
在app的build.gradle文件中添加依賴
implementation 'com.squareup.picasso:picasso:2.71828'
傳入網路圖片地址,以及要在哪個ImageView上顯示
Picasso.get().load(imageurl).into(mImageView);
很簡單,通過以上步驟,就可以完成在Android studio裡面怎麼實現顯示網路圖片,就是輸入一個網址,顯示一張圖片。
『玖』 android如何顯示多個網路上的圖片(提供的是圖片的url),按照一個列表的形式顯示
你可以使用一個listview,自己定義下適配器。從網路上面下載圖片,並顯示