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

获取本地图片并显示

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

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;
//	}

}

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 资源网站(电驴替代方案)

    资源网站(电驴替代方案) 0、http://www.emule-project.net/这个不用说了,emule官方,没有它就没有下面的所有一切,德国人开的。只提供官方版emule软件,没有资源下载。秉承理念“eMule是完全免费的,它也决不包含广告软件、间谍和流氓软件。我们之所以创造eMule是为了快乐和知识,而不是为了金钱。”eMule的作者是一个德国人Merkur,本名Hendrik.Breitk…

    2022年7月15日
  • npm的卸载与安装流程

    安装1、下载地址为:https://nodejs.org/en/2、检查是否安装成功:如果输出版本号,说明我们安装node环境成功3、为了提高我们的效率,可以使用淘宝的镜像:http://npm.taobao.org/输入:npminstall-gcnpm–registry=https://registry.npm.taobao.org,即可安装npm镜像,以后再用到npm的地方…

    2022年4月5日
  • Smail语法「建议收藏」

    Smail语法「建议收藏」Smail语言首先了解什么是smail?apk文件通过apktool反编译出来的都有一个smali文件夹,里面都是以.smali结尾的文件。smali语言是Davlik的寄存器语言,语法上和汇编语言相似,DalvikVM[1]与JVM的最大的区别之一就是DalvikVM是基于寄存器的。基于寄存器的意思是,在smali里的所有操作都必须经过寄存器来进行。S…

    2022年10月22日
  • UVA 10600 ACM contest and Blackout(次小生成树)

    UVA 10600 ACM contest and Blackout(次小生成树)

    2021年9月4日
  • java中array的方法_array java

    java中array的方法_array java题目要求为:卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的…

    2022年9月20日
  • java一维数组、二维数组初始化

    java一维数组、二维数组初始化版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。…

    2022年5月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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