怎么样在两个Acitivtiy中传递Bitmap型的对象 如题,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能说的具体一点么,是把bitmap型的对象直接设置为静态变量,然后再另一个activity中引用么,我试了下,可是不行的 你可以把Bitmap保存到文件中哇,这样再去取,两个activity中不可以传递bitmap的。 恩,是滴哈,谢谢,可是我不知道那个Bitmap保存到文件的函数,不好意思,我是新手的,麻烦你能把函数给我说下么,或者有没有其他的资料可以看下的麻烦你了哈 我定义了静态变量,可是在另一个activity还是不能用的 保存图片:Bitmap picture = ***;try { FileOutputStream fos = null; File file = null; file = context.getFileStreamPath(picName); picName自己定义 fos = new FileOutputStream(file); // save picture to local file picture.compress(Bitmap.CompressFormat.JPEG, 90, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }拿图片:FileInputStream is = null; try { is = context.openFileInput(picName); return BitmapFactory.decodeStream(is); } catch (Exception e) { e.printStackTrace(); } 楼主你可图片的ID传过去 在下一个activity根据id在重新creat一下 就可以了! 除非你的这两个activity 不是在一个程序中。。 最方便的方法就是保存图片,不管什么情况都可以用。我上面的代码lz要根据自己的情况改改的,比如图片的格式,我用的是picture.compress(Bitmap.CompressFormat.JPEG, 90, fos);jpeg格式,要根据自己的图片来定义的。 file = context.getFileStreamPath(picName);这一行的出错了我查了下Parameters的意思是:The name of the file for which you would like to get its path.这个路径是必须存在的么,还是我随便指定的,如果是我随便指定的,没有的这个路径的哈,是不是就自己创建了呢? 图片的id,恩恩,我的activity不是在一个程序的,谢谢了哈~~~ 1. 如果是由一个Activity启动另一个Activity,可通过Intent 对象来传递(Camera 就是这么传的) 传送方: intent.putExtra("image", bmp); 接受方: Bitmap bmp = getIntent().getParcelableExtra("image")2. 两个Activity在同一进程中,可以用静态对象 真有种爆楼主菊花的冲动,写了半天突然看到说两个activity不在一个程序中,我了个擦,你写文件吧 intent好像也不能直接传自定义的对象,需要串行化一下,不知道可不可以传Bitmap对象 有代码么,发过来,看一下吧~~我试了用文件的方法,好像不行的能麻烦你发下intent传bitmap的代码么我只知道intent可以字符串,整型的简单变量的谢了哈~~~ Context.getApplicationContext或Context.getApplication方法获得 Application Context 你怎么写的哇,picName就是自己定义的,例如a.jpg.我都是这样写的,供其他API调用的。你怎么不行???所以两个activit不在一个程序中,最好用这种方法 不明白楼上的高手们都在说啥,传递直接Intent android.content.Intent.putExtra(String name, Parcelable value)就可以啊! Activity中,对象是可以传递的,楼主可以把Bitmap分装在一个对象中,该对象可以是单实例,然后传递过去,贴一些以前写的代码如下LstActivityActivity: Button bt = (Button) findViewById(R.id.test); bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Bundle dataBundle = new Bundle(); dataBundle.putSerializable("data", DataLst.getInstance()); Intent myIntent = new Intent(); myIntent.setClass(LstActivityActivity.this, TwoActivity.class); myIntent.putExtras(dataBundle); startActivity(myIntent); } });TwoActivity.javaTextView myTv = (TextView) findViewById(R.id.hello); String str = ""; DataLst dataLst = (DataLst)getIntent().getSerializableExtra("data"); List<Map<String, Object>> datas = dataLst.getLstData(); Iterator it = null; for(int i=0; i<datas.size(); i++) { it = datas.get(i).entrySet().iterator(); while(it.hasNext()) { str += it.next().toString() + "\n"; } } myTv.setText(str);再贴个帮助文档,应该能搞定的:http://disanji.net/2011/02/12/android-intent-serializable-parcelable/ 你好,我想问一下这个代码(一个activity返回一个图片给另一个acctivity)为什么出错? CustomeClass c = new CustomeClass();//CustomeClass实现了接口Serializable img1.setDrawingCacheEnabled(true);//img1是个imageview c.cc = Bitmap.createBitmap(img1.getDrawingCache()); img1.setDrawingCacheEnabled(false); Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putSerializable("back", c); intent.putExtras(bundle); setResult(RESULT_CODE, intent); finish();提示是在finish()的时候出错。。 楼上的亲们,我是想在点击按钮启动另一个Activity的时候传递Bitmap图片,为什么一直不成功,有源码的亲传哈 做了个免费的APP,想放到网上给Android手机用户下载使用,可以到哪发布? 如何取出2个#号的参数呢 android 怎么给我写的程序添加一个图标并且在menu里面显示 关于GridView Scroll时非正常切换Image的问题 毕业项目系统架构问题 安卓修改程序的问题 安卓edittext控件问题 安卓开发导入第三方jar包报错 verifyerror,都尝试一天半了 eclipse新建工程中res 和layout为空 急急急,求解关于viewpager的问题 Android挂机键键位检测不到啊,怎么回事? android文件上传失败,返回405
麻烦你了哈
Bitmap picture = ***;try {
FileOutputStream fos = null;
File file = null;
file = context.getFileStreamPath(picName); picName自己定义
fos = new FileOutputStream(file);
// save picture to local file
picture.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
拿图片:
FileInputStream is = null;
try {
is = context.openFileInput(picName);
return BitmapFactory.decodeStream(is);
} catch (Exception e) {
e.printStackTrace();
}
这一行的出错了
我查了下Parameters的意思是:
The name of the file for which you would like to get its path.
这个路径是必须存在的么,还是我随便指定的,如果是我随便指定的,没有的这个路径的哈,是不是就自己创建了呢?
传送方:
intent.putExtra("image", bmp);
接受方:
Bitmap bmp = getIntent().getParcelableExtra("image")2. 两个Activity在同一进程中,可以用静态对象
我试了用文件的方法,好像不行的
能麻烦你发下intent传bitmap的代码么
我只知道intent可以字符串,整型的简单变量的
谢了哈~~~
你怎么写的哇,picName就是自己定义的,例如a.jpg.我都是这样写的,供其他API调用的。你怎么不行???所以两个activit不在一个程序中,最好用这种方法
Button bt = (Button) findViewById(R.id.test);
bt.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Bundle dataBundle = new Bundle();
dataBundle.putSerializable("data", DataLst.getInstance());
Intent myIntent = new Intent();
myIntent.setClass(LstActivityActivity.this, TwoActivity.class);
myIntent.putExtras(dataBundle);
startActivity(myIntent);
}
});TwoActivity.java
TextView myTv = (TextView) findViewById(R.id.hello);
String str = "";
DataLst dataLst = (DataLst)getIntent().getSerializableExtra("data");
List<Map<String, Object>> datas = dataLst.getLstData();
Iterator it = null;
for(int i=0; i<datas.size(); i++)
{
it = datas.get(i).entrySet().iterator();
while(it.hasNext())
{
str += it.next().toString() + "\n";
}
}
myTv.setText(str);再贴个帮助文档,应该能搞定的:
http://disanji.net/2011/02/12/android-intent-serializable-parcelable/
你好,我想问一下这个代码(一个activity返回一个图片给另一个acctivity)为什么出错?
CustomeClass c = new CustomeClass();//CustomeClass实现了接口Serializable
img1.setDrawingCacheEnabled(true);//img1是个imageview
c.cc = Bitmap.createBitmap(img1.getDrawingCache());
img1.setDrawingCacheEnabled(false);
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putSerializable("back", c);
intent.putExtras(bundle);
setResult(RESULT_CODE, intent); finish();
提示是在finish()的时候出错。。