android获取图片数据

Android 获取手机应用数据 联系人,图片,拍照等 Android、ContentResolver、 Intent、权限获取 阅读详情

网络的访问在我们日常生活中太重要了,如果没有网络我们的生活将会是什么样子呢?android手机和浏览器也是一样的,也可以通过网络通讯获取数据,如调用webservice,EJB等。下面就通过一个小例子从网络获取一幅图片并显示在手机上,开发中将会使用到一个新的组件ImageView.

1.写一个用来处理字节流的工具类


package org.lxh.util;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;

public class StreamTool {
	public static byte[] readInputStream(InputStream in) throws Exception{
		int len=0;
		byte buf[]=new byte[1024];
		ByteArrayOutputStream out=new ByteArrayOutputStream();
		while((len=in.read(buf))!=-1){
			out.write(buf,0,len);  //把数据写入内存
		}
		out.close();  //关闭内存输出流
		return out.toByteArray(); //把内存输出流转换成byte数组
	}

}

2.写一个得到图片byte数组的service类


package org.lxh.service;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import org.lxh.util.StreamTool;

import android.util.Log;

public class WebService {
	public static byte[] getImage(String path){
		
		URL url;
		byte[] b=null;
		try {
			url = new URL(path);   //设置URL
			HttpURLConnection con;
			
		    con = (HttpURLConnection)url.openConnection();  //打开连接
		
			con.setRequestMethod("GET"); //设置请求方法
			//设置连接超时时间为5s
			con.setConnectTimeout(5000);
			InputStream in=con.getInputStream();  //取得字节输入流
		
		    b=StreamTool.readInputStream(in);
			
		} catch (Exception e) {
			
			e.printStackTrace();
		}
		return b;  //返回byte数组
		
	}
	
}

3.写一个用户操作界面


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    <TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/picaddress"
    />
    <EditText
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="http://www.desk9.com/Desk9Image/21/Desk9_21_1690_35790_S.jpg"
    android:id="@+id/imageaddress"
    />
    <Button
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/look"
    android:id="@+id/button"
    />
    <ImageView
     android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/image"/>
</LinearLayout>


4.写一个activity类


package org.lxh.net;

import org.lxh.service.WebService;

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.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class NetActivity extends Activity {
   private EditText picaddress;
   private Button button;
   private ImageView imageView;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button=(Button)this.findViewById(R.id.button);
        imageView=(ImageView)this.findViewById(R.id.image);
        picaddress=(EditText)this.findViewById(R.id.imageaddress);
        button.setOnClickListener(new View.OnClickListener() {
			
			public void onClick(View v) {
				String address=picaddress.getText().toString();
				
				try {
				
					byte[] data=WebService.getImage(address); //得到图片的输入流
					
					//二进制数据生成位图
					Bitmap bit=BitmapFactory.decodeByteArray(data, 0, data.length);
					
					imageView.setImageBitmap(bit);
				
				} catch (Exception e) {
				    Log.e("NetActivity", e.toString());
					
					Toast.makeText(NetActivity.this, R.string.error, 1).show();
				}
			}
		});
    }
}

5.添加网络访问的权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.lxh.net"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".NetActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="7" />

    <uses-permission android:name="android.permission.INTERNET"/>
</manifest> 

6.这里把strings.xml文件也贴出来


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, NetActivity!</string>
    <string name="app_name">图片查看</string>
    <string name="picaddress">图片地址</string>
    <string name="look">查看</string>
    <string name="error">网络连接异常</string>
</resources>

下面是运行效果图,代码我也上传给大家。


Android多媒体信息获取 Android多媒体涉及视频、音频、图片,首先有几个概念: 1.Android中所有的多媒体文件除了存储在物理硬盘上,还会将文件信息(路径、id、类型、)保存到数据库中,这样当我们想要获取这些文件的信息时,就不需要耗时的扫描硬盘,只需要读数据库就可以了。Android平台中称手机终端内存为内部存储空间,称SD卡为外部存储空间。针对内部和外部存储空间中的媒体文件信息是分开管理的,各自有独立的数 阅读详情

相关推荐

Android基础进阶 - 获取、调用相册内图片

本篇讲的是获取我们相册的照片,用于展示,包含获取对应的图片的存放地址。

Android、前端、小程序、后端 7305

Android获取相册图片信息

Android获取相册图片信息

m0_38047544的博客 694

Android基础进阶 - 调用拍照、获取图片

本篇给大家带来的是拍照回传的初级使用,用的同样是数据回传的方式,首先 startActivityForResult 确定 Action、requestCode,之后重写 onActivityResult 进行逻辑操作,拍照的照片回传,AndroidMainfest 添加权限。

Android、前端、小程序、后端 3883

android如何简单便捷的获取图片类型信息

时光匆匆,第二篇博客落笔时间距离第一篇已经一年有余。毕业了,一直在忙华润系列的开发工作,有很多零散的感悟却没有时间整理。今个周末不加班,先分享一个获取图片类型的小技巧吧。 在android开发中,有时候我们需要获知图片的类型(png,gif等等),以便做进一步的处理。搜索了下,要么就是根据文件名后缀,要么就是分析文件中的某几个特定的字节信息,从而确定图片的类型。第一个真的很不可靠,因为后缀名可以

qiu_-的专栏 1800

用Spirent Test Center测试交换机Head of Line(HOL)Blocking

测试目的:设备执行拥塞控制,使非阻塞端口不受阻塞端口影响 预设条件:在RFC2889里按以下步骤设置,端口1和端口3同时向端口4发送数据包,端口1向端口2发送数据包 测试步骤:运行设置好的RFC2889 测试结果:所有frame size都显示没有Head of Line(HOL),即非阻塞端口不受阻塞端口所影响 ...

Yuna_的博客 1357

RK3568 MIPI屏幕启动异常:从uboot logo到黑屏的排查与修复

本文详细分析了RK3568平台MIPI屏幕在启动过程中,从uboot阶段正常显示logo到内核阶段黑屏的典型故障。通过硬件测量与软件调试,最终定位问题根源在于电源时序,并提供了在设备树中为屏幕供电的regulator节点添加`regulator-boot-on`属性的关键解决方案,有效解决了因内核启动早期电源管理导致的显示异常。

weixin_29161719的博客 541

java 图片字节_java 图片缩放,获取图片类型,字节数据和流的转换

import java.awt.Image; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import...

weixin_39534395的博客 448

告别单一帧:在CFD-POST中完整加载Fluent瞬态计算结果的实战指南

本文详细介绍了在CFD-POST中完整加载Fluent瞬态计算结果的实战指南,解决工程师常见的只能看到最后一帧数据的问题。通过Fluent端的正确设置和CFD-POST端的完整加载技巧,帮助用户高效处理瞬态数据,提升后处理效率。文章还提供了常见问题排查、性能优化和高级后处理技巧,适用于Workbench环境下的流体流动分析。

weixin_29284657的博客 538

安卓利用inten获取图片数据和Content Provider获取图片数据的区别?

对比项Intent核心机制组件通信,依赖用户交互数据共享,直接访问系统数据库典型场景用户手动选图应用主动遍历图库数据获取需解析返回的Uri直接查询MediaStore权限要求动态申请同上代码复杂度需处理多版本Uri兼容需熟悉数据库结构选择建议若需用户主动选择图片,用Intent;若需批量获取图库数据,用Content Provider。

小新的博客 858

SAP开发顾问简历模板范文(精选篇)

SAP开发顾问简历该怎么写呢?

Huanzhucv的博客 1568

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1911

安卓java文件获取界面数据,Android编程获取图片数据的方法详解

本文实例讲述了Android编程获取图片数据的方法。分享给大家供大家参考,具体如下:网络的访问在我们日常生活中太重要了,如果没有网络我们的生活将会是什么样子呢?Android手机和浏览器也是一样的,也可以通过网络通讯获取数据,如调用webservice,EJB等。下面就通过一个小例子从网络获取一幅图片并显示在手机上,开发中将会使用到一个新的组件ImageView.1. 写一个用来处理字节流的工具类...

weixin_30419759的博客 313

[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)

[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341) Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成,在GPL2.0及更新协议下发布。Drupal在某些情况下,通过文件模块或者子系统上传恶意文件触发XSS漏洞。

qq_51577576的博客 2208

android 读取数据库图片地址,Android 通过API获取数据库中的图片文件方式

Overview今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示。开发环境以及技术使用Visual Studio 2019Android Studio 3.5API 使用 ASP .NET WEB API 开发数据库操作只用Entity Framework使用本地数据库作为数据源如果你是一个需要开发软件和API的程序员,那么你可以看一下,如果你不是可...

weixin_29223603的博客 838

纯方位观测下的三维定位,IV-PLKF(Inverse Velocity-Weighted Pseudo-Linear Kalman Filter)

在现代定位系统中,纯方位观测因其无需测距设备的优势,在无线通信、无人机导航和室内定位等领域备受关注。本文深入探讨基于算法的三维定位方法,并提供完整的MATLAB仿真例程。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 672

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 读取mysql中的图片_怎么在Android中利用API获取数据库中的图片文件

怎么在Android中利用API获取数据库中的图片文件发布时间:2021-01-16 10:28:45来源:亿速云阅读:92作者:Leah这期内容当中小编将会给大家带来有关怎么在Android中利用API获取数据库中的图片文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。开发环境以及技术使用Visual Studio 2019Android Studio 3.5...

weixin_30802367的博客 418

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 读取mysql中的图片_Android 通过API获取数据库中的图片文件方式

Overview今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示。开发环境以及技术使用Visual Studio 2019Android Studio 3.5API 使用 ASP .NET WEB API 开发数据库操作只用Entity Framework使用本地数据库作为数据源如果你是一个需要开发软件和API的程序员,那么你可以看一下,如果你不是可...

weixin_42468562的博客 933

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android读取存储mysql图片,Android从Sqlite数据库保存并获取图像

DearsHow I can Android Save Image And Get Image From Sqlite Database I'm Using Android Studio ?解决方案Instead working with Contact for example, you can implement this waypublic class Image{String imageP...

weixin_30786631的博客 661

如何检索获取安卓图片数据库的所有信息

如何检索获取安卓图片数据库的所有信息: 使用内容解析者通过Uri:  获取这些信息 数据库位置:data/data/com.android.providers/media/databases/external.db 获取图库图片信息的Uri:Media.EXTERNAL_CONTENT_URI和Media.INTERNAL_CONTENT_URI分别是访问外部SD卡和内部存储

菜鸟进化史 3394

Android调用相机和相册获取图片并存入数据库(反思)

最近在做项目的时候有一个需求,是要从相机中或相册中获取图片,而且还要将其存入SQLite,最开始的时候我想的是直接将图片存入数据库,但是后来在Google上发现不行,sqlite不支持这种类型,但是我看到了它支持Blob这种类型,也就是二进制,这种类型可以储存图片和视频,既然最基本的储存解决了,那么就开始动手写代码了。直接用模板代码调用相机和相册调用相机和相册是有模板代码的,可以考虑以后把它写成一个

浪浪的麦子 7324

android读取服务器数据库数据,Android从服务器获取图片数据

在昨天的 Android 使用 HttpClient 从服务器获取数据 这一小节里,我们演示了 Android 如何从服务器获取数据,并把数据更新到 UI 上。但是这还不是我们的目标,我们的目标是做一个图片应用,所以今天我们做的例子是,从服务器拿一张图片,并且更新到 UI 上。程序跟前面小节基本一致,区别仅仅是从拿文字数据变成拿图片数据而已。直接上代码:private ImageView img...

weixin_33791941的博客 766

android获取区域内像素坐标,Android利用BitMap获得图片像素数据的方法

本文实例讲述了Android利用BitMap获得图片像素数据的方法。分享给大家供大家参考,具体如下:网上看到的参考是:int[] pixels = new int[bit.getWidth()*bit.getHeight()];//保存所有的像素的数组,图片宽×高bit.getPixels(pixels,0,bit.getWidth(),0,0,bit.getWidth(),bit.getHeig...

weixin_34779181的博客 1565

android通过json获取图片,Android-okhttp获取json数据及解析

Okhttp简介okhttp是目前android开发中比较流行的一个开源网络请求框架,相比于官网api提供的网络接口有很多优点。android6.0以前,官方sdk提供的是httpUrlConnection,android6.0以后,已经将这个框架移除了,目前最常见是okhttp优点1.支持 SPDY ,共享同一个Socket来处理同一个服务器的所有请求2.缓存响应数据来减少重复的网络请求3.即便...

weixin_30647489的博客 1014

android 读取mysql中的图片_Android 通过API获取数据库中的图片文件

Overview今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示。开发环境以及技术使用Visual Studio 2019Android Studio 3.5API 使用 ASP .NET WEB API 开发数据库操作只用Entity Framework使用本地数据库作为数据源如果你是一个需要开发软件和API的程序员,那么你可以看一下,如果你不是可...

weixin_34502341的博客 521
上一篇: ibatis+spring存储blob数据
下一篇: 第一个asp.net程序
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值