`

显示Web图片和SD卡图片

阅读更多

下面是res/layout/show_image.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <Button android:id="@+id/show_image_button"
  	android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Show Image"
    />
  <TextView android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="下列图片来自互联网:"
    />
  <ImageView android:id="@+id/web_image"
  	android:layout_width="fill_parent"
    android:layout_height="100dp"
    />
  <TextView android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="下列图片来自SD卡:"
    />
  <ImageView android:id="@+id/sd_image"
  	android:layout_width="fill_parent"
    android:layout_height="100dp"
    />
</LinearLayout>

 

下面是ShowImageActivity.java代码

 

import java.io.IOException;
import java.io.InputStream;

import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class ShowImageActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show_image);
        Button showButton = (Button)findViewById(R.id.show_image_button);
        showButton.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View view) {
				getWebPicture();
				getSDCardPicture();
			}
		});
	}

	private void getWebPicture() {
		HttpGet httpGet = new HttpGet("http://www.2014412.com/wp-content/uploads/2011/04/17-150x150.jpg");
		HttpClient client = getHttpClient();
		Bitmap bitmap = null;
		try {
			HttpResponse res = client.execute(httpGet);
			if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				HttpEntity entity = res.getEntity();
				InputStream is = entity.getContent();
				bitmap = BitmapFactory.decodeStream(is);
			} else {
				Toast.makeText(this, "网络图片没有取到", Toast.LENGTH_LONG).show();
				return;
			}
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		ImageView iv = (ImageView)findViewById(R.id.web_image);
		iv.setImageBitmap(bitmap);
	}

	private void getSDCardPicture() {
		String picPath = "/sdcard/pictures/sd_image.jpg";
		Bitmap bitmap = BitmapFactory.decodeFile(picPath);
		ImageView iv = (ImageView)findViewById(R.id.sd_image);
		iv.setImageBitmap(bitmap);
	}

	private HttpClient getHttpClient() {
		//设置HTTP参数(httpParams参数不是必需)
		HttpParams httpParams = new BasicHttpParams();
		HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
		HttpConnectionParams.setSoTimeout(httpParams, 5000);
		HttpConnectionParams.setSocketBufferSize(httpParams, 10240);
		//创建HttpClient
		HttpClient client = new DefaultHttpClient(httpParams);
		//设置代理(如果不需要代理可以不用设置)
		HttpHost proxy = new HttpHost("192.168.190.251",3128);
		client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
		return client;
	}
}
 

上面代码有个从SD卡取图片的功能。因此,需要放一张图片到模拟器的SD卡中。操作如果

 

#在SD卡中创建目录(如果放在sdcard目录下就不需要创建目录)

打开cmd,依次输入:

adb shell

adb sdcard

mkdir pictures

exit

 

#把文件放入SD卡中

adb push H:\sd_image.jpg /sdcard/pictures

 

注意:不要用下面格式

adb push H:\sd_image.jpg \sdcard\pictures

 

出现以下异常

failed to copy 'H:\sd_image.jpg' to '\sdcard\pictures': Read-only file system

 

原因是第二个参数是Linux目录,应该使用“/”而不是“\”来表示路径

 

 

 

运行结果


当点击Show Image按钮后,显示如下面


 

 

  • 大小: 5.1 KB
  • 大小: 10.9 KB
分享到:
评论

相关推荐

    C# winfrom中webservice接口连接服务器上传图片和下载图片

    在C# WinForm应用开发中,与Web服务交互是一个常见的需求,特别是在涉及到文件传输,如上传和下载图片等操作时。本教程将详细介绍如何利用C# WinForm客户端连接到Web Service接口来实现这一功能,特别关注如何上传和...

    Gallery从SD卡中获取图片,并显示.zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...

    load图片-28个

    在网页设计和开发中,"load图片"通常指的是在页面加载过程中显示的动画图像,用于指示用户页面内容正在加载。这种图片通常是GIF格式,因为GIF支持动画效果且兼容性好,适合在网络环境中使用。"load图片-28个"可能是...

    基于android的授权图片浏览系统的实现.pdf

    SD卡缓存则可以将经常访问的图片存储在外部存储介质上,减少网络请求次数。 4. 安全性与授权 由于系统关注的是授权图片浏览,因此在设计时应考虑版权保护。可能的实现方式包括:对图片进行加密传输,确保数据在...

    使用element-ui的upload组件实现上传图片和pdf可查看方法

    本篇文章将详细介绍如何利用Element-UI的`upload`组件来实现图片和PDF文件的上传,并提供查看功能。 首先,`upload`组件是Element-UI中的一个重要组成部分,它提供了文件上传的功能,支持预览、进度条显示、多文件...

    Web微信聊天室

    头像和朋友圈图片的上传可能借助于云存储服务如阿里云OSS或AWS S3。 6. **API接口**:如果实现了朋友圈功能,可能需要设计RESTful API,让客户端能够发送和获取朋友圈内容。 7. **界面设计**:界面的良好体验离不...

    基于Ant Design Upload listType=“picture-card“ 实现多图上传以及点击预览图片的组件

    // 更新存储图片信息的数据结构 updateImages(response.data); }; ``` 最后,考虑到用户体验,我们可以添加一个加载中的状态来显示文件上传进度: ```jsx // ... showUploadList={{ showProgress: true, }}...

    一个web切换组件

    开发者可能会使用CSS来控制这些图片在页面上的显示位置和大小。 `js`文件夹则包含JavaScript代码,这是实现组件交互逻辑的关键部分。在Web切换组件中,JavaScript通常用于处理用户的交互事件,比如点击按钮或链接时...

    Android 网络编程入门之图片下载

    - 将接收到的二进制数据保存到本地文件,通常存储在外部存储(SD卡)的特定目录下,需要`WRITE_EXTERNAL_STORAGE`权限。 3. **Tomcat服务器**: - Tomcat是一款流行的开源Java Servlet容器,可以用来搭建Web...

    上传头像插件,图片展示

    综上所述,"上传头像插件,图片展示"涉及的技术点包括前端的文件选择、预览、处理、上传功能,后端的图片接收与存储,以及用户体验相关的错误处理和性能优化。通过这样的插件,用户可以方便地上传和管理自己的头像,...

    购物网站web前端

    同时,要遵循Web标准和最佳实践,确保代码可维护性和可扩展性。 综上所述,购物网站的Web前端开发涉及HTML+CSS基础、Bootstrap框架的使用,以及对响应式设计、交互组件和前后端交互的理解。通过熟练掌握这些技术,...

    两张唯美秋天落叶PPT背景图片.zip

    5. **www.1ppt.com.html**:这同样是一个链接文件,很可能指向一个名为"1PPT"的网站,该网站可能是一个专门提供PPT模板、背景图片和其他相关资源的在线平台。用户可以浏览该网站,查找更多与PPT设计相关的素材和教程...

    web前端面试宝典

    ### Web前端面试宝典知识点详解 #### 一、HTML和CSS ##### 1. 页面测试过的浏览器及其内核 - **Chrome**: Blink引擎 - **Firefox**: Gecko引擎 - **Safari**: WebKit引擎 - **Edge (旧版)**: EdgeHTML引擎 - **IE**...

    万金WEB版游戏娱乐源码+2套风格+卡密充值+在线充值

    【万金WEB版游戏娱乐源码】是一款专为线上游戏娱乐平台设计的源代码解决方案,包含两套不同的界面风格,支持卡密充值和在线支付功能。这个完整的源码包不仅提供了游戏后台管理的基础架构,还涵盖了用户界面和支付...

    Word2021文档中怎么压缩图片.docx

    例如,选择“Web/屏幕”选项,通常适用于大多数网页和电子设备的显示需求,这会降低图片的分辨率从而减小文件大小。 - 可以根据实际需求调整其他选项,如是否删除裁剪区域等。 4. **确认压缩**: - 设置完所需的...

    word2021缩小图片文件大小.docx

    * .jpeg 或 .jpg (JPEG):一种图形文件格式,受到为压缩和存储照片图像而开发的许多 Web 浏览器的支持。最好使用它来处理色彩丰富的图形,如扫描的照片。 * .tiff (TIFF):一种基于标记的高分辨率图形格式。标记图像...

    Asp.net 实现验证码功能的Web控件

    验证码Web控件是ASP.NET提供的一种服务器控件,它能够生成随机的验证码图片,并将其显示在网页上供用户验证。这种控件支持多种图像格式(如JPG、GIF、PNG和BMP),并且可以通过设置来调整验证码的长度、宽度和高度等...

Global site tag (gtag.js) - Google Analytics