获取本地图片并显示「建议收藏」

获取本地图片并显示

大家好,又见面了,我是全栈君。

package com.example.showgetpic;

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

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends Activity {
	private ImageView iv;
	private OnClickListener imgViewListener;
	private Bitmap myBitmap;
	private int REQUEST_OK = 1;
	private LinearLayout ly_list;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		iv = (ImageView) findViewById(R.id.iv);
		ly_list=(LinearLayout) findViewById(R.id.ly_list);
		iv.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();  
				//intent = new Intent(Intent.ACTION_GET_CONTENT);
                /* 开启Pictures画面Type设定为image */  
                intent.setType("image/*");  
                /* 使用Intent.ACTION_GET_CONTENT这个Action */  
                intent.setAction(Intent.ACTION_GET_CONTENT);   
                /* 取得相片后返回本画面 */  
                startActivityForResult(intent, 1);  

			}
		});
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		if (requestCode	 == REQUEST_OK) {
			Uri selectedImage = data.getData();
			try {
				Bitmap bitmap = BitmapFactory.decodeStream(this
						.getContentResolver().openInputStream(Uri.parse(selectedImage.toString())));
				iv.setImageBitmap(bitmap);
				Toast.makeText(getApplicationContext(), "上传成功",
						Toast.LENGTH_SHORT).show();
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}

//	public static Bitmap getPicFromBytes(byte[] bytes,
//			BitmapFactory.Options opts) {
//		if (bytes != null)
//			if (opts != null)
//				return BitmapFactory.decodeByteArray(bytes, 0, bytes.length,
//						opts);
//			else
//				return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
//		return null;
//	}
//
//	public static byte[] readStream(InputStream in) throws Exception {
//		byte[] buffer = new byte[1024];
//		int len = -1;
//		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
//
//		while ((len = in.read(buffer)) != -1) {
//			outStream.write(buffer, 0, len);
//		}
//		byte[] data = outStream.toByteArray();
//		outStream.close();
//		in.close();
//		return data;
//	}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116317.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python 可迭代对象 迭代器 生成器_Python3迭代器获取

    python 可迭代对象 迭代器 生成器_Python3迭代器获取在日常提升Python基本功的时候,可能会被Python的迭代器和生成器搞晕,之前在学习和使用时,本来forin循环体和enumerate函数用的飞起,觉得自己已经彻底了解了Python的迭代特性,但接触了迭代器和生成器后,突然感觉懵逼,大概率会被可迭代、迭代器、生成器等概念搞的不知所向,本文就是结合日常项目应用,对Python的迭代概念进行系统性的全面解析,包括其底层实现原理,还有一些常见的应用,希望能帮助更多人,同时也算作给自己梳理思路了。一、基本概念二、迭代器三、生成器四、基本应用

  • [java面试题]最长的回文字符串中出现确定[通俗易懂]

    [java面试题]最长的回文字符串中出现确定

  • Android常见手机分辨率[通俗易懂]

    Android常见手机分辨率[通俗易懂]480*320800*480854*480960*5401020*6001024*7681196*7201280*7701280*8001812*10801920*10802560*1440获取设备最小宽度:DisplayMetricsdm=newDisplayMetrics();getWindo…

  • delphi教程视频教程_delphi7下载

    delphi教程视频教程_delphi7下载第二季的视频我准备了很久,当然了与其说准备不如说是懒,平时上班挺累的一到了周六日就想着睡觉,导致拖延症复发,心里想着反正看的人也不多而且不赚钱晚点儿录也没事儿,最后视频录制的事情就一拖再拖!当然了懒是一个原因,另一个原因是第二季我想录制(或者说学习)网络编程相关的知识,但是因为网络编程相关的东西太大了,就【TCP/IP详解】这一本书就有三卷之多,而每一卷都是300多页,同时Delphi更多的时候是运行在Windows平台的,那这样就离不开winsoket,当年研究win32API的结果是让我直接放弃了学习

    2022年10月28日
  • 判断同构数 c语言程序(java人脸识别算法)

    给定的两个邻接矩阵,判断其三个必要非充分条件:①结点数目相同②变数相同③度数相同的结点数相同以①②③为前提进行矩阵变换,看给定的两个矩阵中,其中的一个矩阵是否能变换为另一个矩阵;实现代码和说明:#include<iostream>#include<stdlib.h>#defineMAX100usingnamespacestd;structAdjacencyMatrix{//邻接矩阵intpoints;/

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号