`
hilary3113
  • 浏览: 265996 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

即时访问网络图片文件展示---HttpURLConnection

阅读更多

创建Main类:

package com.action;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class Main extends Activity
{
  private Button bt;
  private TextView tv;
  private ImageView image;
  String uriPic = "http://image.techweb.com.cn/upload/2011/0201/img20110212964974010.jpg";

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    bt = (Button) findViewById(R.id.myButton1);
    tv = (TextView) findViewById(R.id.myTextView1);
    image = (ImageView) findViewById(R.id.myImageView1);

    bt.setOnClickListener(new Button.OnClickListener()
    {
      @Override
      public void onClick(View arg0)
      {
    	//设置Bitmap在IMageView中
        image.setImageBitmap(getURLBitmap());
        tv.setText("");
      }
    });
  }

  public Bitmap getURLBitmap()
  {
    URL imageUrl = null;
    Bitmap bitmap = null;
    try
    {
            //new Url对象,将网址传入
      imageUrl = new URL(uriPic);
      //取得连接
      HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
      conn.connect();
      //取得返回的InputStream
      InputStream is = conn.getInputStream();
      //将InputStream变成Bitmap
      bitmap = BitmapFactory.decodeStream(is);
      //关闭InputStream
      is.close();
       } catch (IOException e)
    {
      e.printStackTrace();
    }
    return bitmap;
  }

}

 layout配置文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:background="@drawable/white" 
  android:orientation="vertical" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  > 
  <TextView 
    android:id="@+id/myTextView1" 
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:text="@string/app_name"/> 
  <Button 
    android:id="@+id/myButton1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/str_button1" /> 
  <ImageView 
    android:id="@+id/myImageView1"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:layout_gravity="center" />  
</LinearLayout>

 

values 中的color:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
  <drawable name="darkgray">#808080FF</drawable> 
  <drawable name="white">#FFFFFFFF</drawable> 
</resources>

 

values 中的string:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
  <string name="hello">Hello World</string> 
  <string name="app_name">即时访问网络图片</string> 
  <string name="str_button1">显示网络上的图片</string> 
</resources>

 

最后不要忘记配置访问网络权限

分享到:
评论

相关推荐

    Android与Internet接轨案例源代码

    8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为...

    Android实现网络图片浏览器

    首先,我们需要导入必要的库,如`HttpURLConnection`用于网络请求,`BitmapFactory`用于解析图片数据,以及`Handler`来更新UI线程。 ```java import android.graphics.Bitmap; import android.graphics....

    自定义图片三级缓存工具类

    当用户快速滑动图片或者频繁访问同一图片时,内存缓存能提供近乎即时的加载速度。 2. 磁盘缓存:存储在设备的文件系统中,相比内存缓存,访问速度稍慢,但数据持久化,即使应用关闭后仍可复用。磁盘缓存用于存储...

    Android 新浪、腾讯、人人、豆瓣、Facebook、Twitte-IT计算机-毕业设计.zip

    - 使用HttpURLConnection、OkHttp或Retrofit等库进行网络请求,获取社交平台的数据。 - JSON解析,如使用Gson或Jackson库将服务器返回的JSON数据转化为Java对象。 4. **OAuth授权** - 社交应用通常使用OAuth进行...

    Android网络编程 王家林

    - 网络权限管理:介绍AndroidManifest.xml文件中关于网络访问权限的设置,确保应用在网络操作前获得必要的权限。 2. **HTTP基础** - HTTP协议简介:解释HTTP的基本概念,包括请求方法(GET、POST等)、状态码、...

    Android 即时通讯demo.zip

    即时通讯应用可能需要访问网络、读写存储等权限,这些都需要在AndroidManifest.xml中设置。 3. **Activity与UI设计** - 即时通讯应用通常包含多个Activity,如登录界面、联系人列表、聊天界面等。这些Activity会...

    Android即时通讯代码

    在Android平台上进行即时通讯(Instant Messaging,简称IM)开发是一项挑战性的任务,涉及到网络通信、数据同步、用户体验等多个方面。本项目"Android即时通讯代码"是专为Android Studio设计的,旨在帮助开发者创建...

    安卓Android个人移动网盘设计毕业源码案例设计.zip

    - **网络编程**:使用HttpURLConnection或OkHttp等库进行网络请求,实现与服务器的数据交换,如登录验证、文件上传下载。 - **文件系统交互**:访问本地文件系统,读写文件,管理用户存储的文件。 - **异步处理**...

    10 网络访问(更新版)1

    【网络访问技术】 在IT行业中,网络访问是设备与设备之间进行信息交换的关键途径。本文主要探讨了Android系统中常见的几种网络访问技术,包括开放式无限通讯标准、HTTP网络访问、WIFI编程和蓝牙编程。 首先,开放...

    android网络开发原理

    首先,Android中的网络访问主要通过Java的Socket编程接口和HttpURLConnection类来实现。Socket编程允许应用程序之间建立直接的、双向的通信通道,可以用于TCP/IP或UDP通信。Android提供了Socket和ServerSocket类来...

    Android应用源码之边下载边播music.zip

    在边下边播的场景中,MediaPlayer可能被用来即时播放正在下载的音乐文件。 - **缓冲和预读**:为了保证流畅播放,应用可能需要实现缓冲区管理和预读机制,预先加载一部分即将播放的数据,防止播放中断。 - **文件...

    ImageDiscernDemo.rar

    【ImageDiscernDemo.rar】是一个压缩包,包含了一个图像识别的Demo应用,主要功能是能够识别网络上的图片、用户相册中的图片以及通过相机即时拍摄的图片。这个Demo旨在展示如何在Android平台上实现图像识别技术,它...

    Android天气预报(中国气象网)

    - 因为应用涉及到网络访问,必须在AndroidManifest.xml文件中声明`INTERNET`权限: ```xml &lt;uses-permission android:name="android.permission.INTERNET" /&gt; ``` 3. **异步处理**: - 为了防止网络请求阻塞UI...

    Android网络通信六解

    可以使用ConnectivityManager检测网络状态,当网络不可用时,可以采用离线缓存策略,如使用SQLite数据库或文件系统存储已下载的数据,以便在无网络时使用。 总结,Android网络通信涵盖了多种技术栈,包括选择合适的...

    Android源码——仿飞鸽传书源码.zip

    - 学习如何在清单文件中声明权限,如互联网访问、读写外部存储,这对于文件传输和网络通信至关重要。 3. **Activity和Fragment**: - 理解如何创建和管理Android的UI组件,如Activity和Fragment,以及它们之间的...

    Android项目源码基于LBS的社交软件包括服务端

    - **Android权限系统**:请求并处理运行时权限,如访问GPS和网络。 - **服务端权限验证**:确保只有合法用户可以访问和操作数据。 7. **地图标记与覆盖物**: - **自定义Marker**:在地图上添加个性化标记,展示...

    Android代码-基于安卓的手机网盘系统设计与实现

    使用WebSocket进行实时通信,可以实现文件同步状态的即时更新。 数据存储方面,Android提供了SQLite数据库和SharedPreferences等本地存储方式。对于网盘应用,SQLite适合存储文件元信息,如文件名、大小、创建时间...

    实习 topic-复杂的listview

    ListView控件是Android中用于显示列表数据的重要组件,它能够以列表的形式展示大量的数据项,每一个数据项都可以通过自定义的布局文件来展示。通过本次实习,学习者将对ListView控件的灵活应用有一个初步的了解和...

    Android手机QQ

    这款应用展示了Android开发中的多个关键知识点,包括界面设计、布局管理、网络通信、数据存储以及用户交互等。 1. **界面设计与布局**: - **XML布局**:在`QQLoginUI`中,可以看到Android使用XML文件来定义用户...

Global site tag (gtag.js) - Google Analytics