Android中传递图片的2种方法_Android

方法一:

基本思路是先把bitmap转化为byte数组,用Intent传递数组,在将数组转化为bitmap
 
bitmap转化为byte数组的方法:
 

复制代码 代码如下:

private byte[] Bitmap2Bytes(Bitmap bm){      
    ByteArrayOutputStream baos = new ByteArrayOutputStream();        
    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);        
    return baos.toByteArray();      
   }  

  
byte数组转化为bitmap方法:

复制代码 代码如下:

byte buff[]=mIntent.getByteArrayExtra("image");   
bitmap = BitmapFactory.decodeByteArray(buff, 0, buff.length);  

方法2:

发送图片:

复制代码 代码如下:

Intent intent  = new Intent(ChangePortraitActivity.this , UserProfileActivity.class);   
 mImageView.setDrawingCacheEnabled(Boolean.TRUE);   
intent.putExtra("BITMAP", mImageView.getDrawingCache()); //这里可以放一个bitmap   
 startActivity(intent);   

接收图片:

复制代码 代码如下:

//接收的activity 
Intent intent = getIntent();   
if (intent  != null &&  intent.getParcelableExtra("BITMAP") != null) {   
    Bitmap bitmap = (Bitmap)getIntent().getParcelableExtra("BITMAP");   
    mImageViewPortrait.setImageBitmap(bitmap);   
}

时间: 2024-09-19 09:30:21

Android中传递图片的2种方法_Android的相关文章

Android中传递图片的2种方法

方法一: 基本思路是先把bitmap转化为byte数组,用Intent传递数组,在将数组转化为bitmap   bitmap转化为byte数组的方法:   复制代码 代码如下: private byte[] Bitmap2Bytes(Bitmap bm){           ByteArrayOutputStream baos = new ByteArrayOutputStream();             bm.compress(Bitmap.CompressFormat.PNG, 10

Android中使用定时器的三种方法_Android

本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第一种方法:Thread.sleep();方法 Runnable runnable = new Runnable() { @Override public void run() { while (true) { mHandler.sendEmptyMessage(0); try { Thread.sl

Android中WebView图片实现自适应的方法_Android

本文实例讲述了Android中WebView图片实现自适应的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: WebSettings ws = tv.getSettings(); 加上这个属性后,html的图片就会以单列显示就不会变形占了别的位置 ws.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //让缩放显示的最小值为起始 webView.setInitialScale(5); // 设置支持缩放 webSettin

Android 中对于图片的内存优化方法_Android

1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource. BitmapFactory.decodeResource 来设置一张大图,因为这些方法在完成 decode 后,最终都是通过 Java 层的 createBitmap 来完成的,需要消耗更多内存.因此,改用先通过 BitmapFactory.decodeStream 方法,创建出一个 bitmap,再将其设为 ImageView 的 source,decodeStream 最大的秘密在于其直

android中开启actionbar的两种方法_Android

两种方法,第一种是静态开启方法 把application 或者 activity的主题设置为Theme.Holo即可 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.baidu.homer" android:versi

Android中刷新界面的二种方法_Android

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用. Android界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面. 利用Handler刷新界面 实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新:而在线程中通过sendMessag

Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍_Android

Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写

Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍

Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写

Android中杀进程的几种方法 (1) - killBackgroundProcesses

Android中杀进程的几种方法 (1) - killBackgroundProcesses ActivityManager中提供了几种方式来杀进程,比如有forceStopPackage.removeTask.killBackgroundProcesses等. 下面我们就来看看它们的背后都做了些什么. removeTask 我们之前已经写了一篇<关于Android的浅杀>来介绍这个方法的变迁,大家可以回忆一下找找感觉. 复习一下removeTask的好处是,相对后面几个,它的逻辑要简单得多.