基於xmpp openfire smack 開發(三)羣聊發送圖片

1、Activity

case TAKE_PHOTO:
			if (arg2 != null) {
				Bitmap one = null;
				Uri photoUri = arg2.getData(); 
				Bundle extra = arg2.getExtras();  
		        if (extra != null) {  
		        	one = (Bitmap)extra.get("data");
		        }
			    iv3.setImageBitmap(one);
			    SecureRandom random = new SecureRandom();  
			    String picPath = Util.saveBitmap(""+random.nextInt(10000), one);
	            semdrommessage(picPath.trim(), Content.DaTingSERVICE_Home
						+ "@conference." + Content.DaTingSERVICE_Name);
			}
			break;

2、工具,保存圖片到地址

	public static String saveBitmap(String name, Bitmap bitmap) {
		File oneFile = new File(Content.APP_PATH + File.separator + name
				+ ".png");
		if (oneFile.exists())
			oneFile.delete();
		try {
			oneFile.createNewFile();
			FileOutputStream stream = new FileOutputStream(oneFile);
			bitmap.compress(CompressFormat.JPEG, 100, stream);
			stream.flush();
			stream.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return oneFile.toString();
	}

3、Adapter 

if (entity.getText().contains(".png")) {
			viewHolder.tvContent.setText("");
			ImageSpan imageSpan = new ImageSpan(ctx,Util.getDiskBitmap(entity.getText())); 
            SpannableString spannableStringTuPian = new SpannableString("pp");   //這個pp不能刪,必須有任意字符串,否則報錯
            spannableStringTuPian.setSpan(imageSpan, 0, spannableStringTuPian.length(),  
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
            viewHolder.tvContent.setText(spannableStringTuPian);
		} else {
			viewHolder.tvContent.setText(spannableString);
		}
4、轉本地爲Bitmap

if (entity.getText().contains(".png")) {
			viewHolder.tvContent.setText("");
			ImageSpan imageSpan = new ImageSpan(ctx,Util.getDiskBitmap(entity.getText())); 
            SpannableString spannableStringTuPian = new SpannableString("pp"); 
            spannableStringTuPian.setSpan(imageSpan, 0, spannableStringTuPian.length(),  
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
            viewHolder.tvContent.setText(spannableStringTuPian);
		} else {
			viewHolder.tvContent.setText(spannableString);
		}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章