资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android图片读取,android图片

android如何读取图片

使用android-support-v4.jar中的加载器(Loader)来实现获取本机中所有图片,关于这个包在以前的文章中也提到,是一个非常有用的包,关于这个包的详细信息请大家查看官方文档:。

创新互联公司服务项目包括耿马网站建设、耿马网站制作、耿马网页制作以及耿马网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,耿马网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到耿马省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

关于加载器(Loader)是在Android3.0中才开始引进并使用的,Android3.0以前的版本中要想使用加载器则需要用android-support-v4.jar来实现,我这个示例是基于Android2.2的。加载器(Loader)有什么作用呢?官方文档介绍是:它能够使用得在activity或fragment中异步加载数据变得更加容易,它具有以下的特点:

1.它们对每一个Activity和Fragment都是有效的。

2.它们提供了一种异步加载数据的能力。

3.它们监视数据源并且数据内容改变时将会传递新的结果。

4.当配置改变而被重新创建时,它们自动的会重连到上一个加载器的游标,然而,它们不需要重新查询数据。

android应用程序中可以直接从资源文件之中进行图片资源的读取操作类是

Http网络工具类,主要包括httpGet、httpPost以及http参数相关方法,以httpGet为例:staticHttpResponsehttpGet(HttpRequestrequest)staticHttpResponse。

httpGet(java.lang.StringhttpUrl)staticStringhttpGetString(StringhttpUrl)包含以上三个方法,默认使用gzip压缩,使用bufferedReader提高读取速度。HttpRequest中可以设置url、timeout、userAgent等其他http参数HttpResponse中可以获取返回内容、http响应码、http过期时间(Cache-Control的max-age和expires)等前两个方法可以进行高级参数设置及丰富内容返回,第三个方法可以简单的传入url获取返回内容,httpPost类似。更详细的设置可以直接使用HttpURLConnection或apache的HttpClient。源码可见HttpUtils.java,更多方法及更详细参数介绍可见HttpUtilsApiGuide。

android如何读取sd卡的图片并显示

首先你要在AndroidManifest.xml申请读取sdcard的权限

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" / !-- 向SDCard写入数据权限 --

关键代码:

package com.sdcardread;  

import java.io.File;  

import android.os.Bundle;  

import android.os.Environment;  

import android.widget.ImageView;  

import android.widget.LinearLayout;  

import android.widget.TextView;  

import android.app.Activity;  

import android.graphics.Bitmap;  

import android.graphics.BitmapFactory;  

public class MainActivity extends Activity {  

private TextView textView1;  

private LinearLayout linearLayout1;  

@Override  

protected void onCreate(Bundle savedInstanceState) {  

super.onCreate(savedInstanceState);  

setContentView(R.layout.activity_main);  

textView1 = (TextView) findViewById(R.id.textView1);  

linearLayout1 = (LinearLayout) findViewById(R.id.linearLayout1);  

boolean isSdCardExist = Environment.getExternalStorageState().equals(  

Environment.MEDIA_MOUNTED);// 判断sdcard是否存在  

if (isSdCardExist) {  

String sdpath = Environment.getExternalStorageDirectory()  

.getAbsolutePath();// 获取sdcard的根路径  

textView1.setText("sd卡是存在的。以下是sdcard下的img25.jpg!");  

String filepath = sdpath + File.separator + "img25.jpg";  

File file = new File(filepath);  

ImageView imageView = new ImageView(this);//创建一个imageView对象  

if (file.exists()) {  

Bitmap bm = BitmapFactory.decodeFile(filepath);  

// 将图片显示到ImageView中  

imageView.setImageBitmap(bm);  

linearLayout1.addView(imageView);  

}  

} else {  

textView1.setText("sd卡不存在!");  

}  

}  

}

android中如何从SDcard中读取图片文件

用路径的方法寻找,BitmapFactory.decodeFile(路径)返回值是一个Bitmap,比如sdcard的根目录有个test.png,那么可以这么用BitmapFactory.decodeFile("mnt/sdcard/test.png")。然后ImageView之类的图片控件,可以用setImageBitmap(Bitmap)之类的方法,就可以使用sdcard中的图片了,

不过好像需要加一个权限的,就是在androidmanifest.xml中添加。

你说的读取系统一个小图标R.drawable.ic_menu_camera,其实也是用路径寻找的,不过被google封装起来了,用映射的方法寻找到相关路径下的文件。 比如R.drawable 就知道是res下面drawable-XX(根据系统配置,寻找不同文件夹下的图片)文件下的图片,比如R.layout 就是res下面layout下面的文件。SimpleAdapter可以算是一个测试用的设配器,最好自己尝试写设配器,自由空间比较大。

android,如何读取资源文件里的图片到bitmap里

方式:以R文件的方式

路径:假设 res/drawable下有 test.jpg文件

Bitmap bitmap=BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.test)

三种方式:

现总结以下几种读取Bitmap的方法:

以文件流的方式,假设在sdcard下有 test.png图片

FileInputStream fis = new FileInputStream("/sdcard/test.png");

Bitmap bitmap  = BitmapFactory.decodeStream(fis);

以R文件的方式,假设 res/drawable下有 test.jpg文件

Bitmap  bitmap = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.test);

以ResourceStream的方式,但不用到R文件

Bitmap.bitmap=BitmapFactory.decodeStream(getClass.getResourceAsStream(“/res/drawable/test.png”)


新闻名称:android图片读取,android图片
网址分享:http://cdkjz.cn/article/dscdjhe.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220