小白 android开发 简书,Android 分享-给小白总结

前言

分享很简单。但是是个非常烦人的东西,说简单很简单,但是很耗时,如果有一些精细化的东西在里面。所以这个东西总结出来,节省时间

分享(很烦的一件事,但是做好了可以省很多事)

微信

压缩图片

private byte[] bmpByteArray(final Bitmap bitmap,final boolean needRecycle) {

ByteArrayOutputStream output=new ByteArrayOutputStream();//定义一个字节数组输出流对象,用于接收转换后二进制的结果

bitmap.compress(Bitmap.CompressFormat.PNG, 100,output);//把二进制的结果放在output对象中

if (needRecycle) {

bitmap.recycle();//释放图片资源的内存

}

byte [] result=output.toByteArray();//把output对象转化成实际的数组

try {

output.close();

} catch (IOException e) {

e.printStackTrace();

}

return result;

}

媒体分享

//第一步创建:WXVideoObject对象,用来指定音频的Url

WXVideoObject videoObject=new WXVideoObject();

videoObject.videoUrl="http://v.youku.com/v_show/id_XODkyNjAyMzg4.html";//http://startv.m.yinyuetai.com/v2-1/app/share.html?videoId=1987&channelId=82&from=singlemessage

//第二步:创建WXMediaMessage对象

WXMediaMessage msg=new WXMediaMessage();

msg.mediaObject=videoObject;

msg.title="Mikyou最爱之---秦时明月之帝子降兮";

msg.description="唯美中国风";

//第三步指定缩略图:

Bitmap thmuBitmap=BitmapFactory.decodeResource(mActivity.getResources(), R.drawable.splash);

Bitmap thBitmap=Bitmap.createScaledBitmap(thmuBitmap, 120, 120, true);//注意:压缩的缩略图的尺寸有限制(视频的缩略图尺寸不能超过:120*120),否则后面的api.sendReq(req)会返回false

msg.thumbData=bmpByteArray(thBitmap, true);

分享URL图片

public boolean shareWechatWithNetUrlPic(final int mFlag) {

final IWXAPI api = WXAPIFactory.createWXAPI(mActivity, AppSetting.WEIXIN_APP_ID, false);

api.registerApp(AppSetting.WEIXIN_APP_ID);

if (!api.isWXAppInstalled()) {

ToastUtils.showWarnToast("手机中没有安装微信客户端");

return false;

}

ToastUtils.showSuccessToast(mActivity.getResources().getString(R.string.share_go_to));

Thread thread = new Thread(new Runnable() {

@Override

public void run() {

//初始化一个wxwebpageobject对象 填写url

WXWebpageObject webpageObject = new WXWebpageObject();

webpageObject.webpageUrl = getShareUrl();

//用wxwebpageobject对象初始化一个wxmediamessage对象 填写标题 描述

WXMediaMessage msg = new WXMediaMessage(webpageObject);

msg.title = getShareDescription();

msg.description = getShareDescription();

Bitmap thumb = BitmapFactory.decodeResource(mActivity.getResources(), R.mipmap.ic_launcher);

WXImageObject imageObject=new WXImageObject();

//设置Url

imageObject.imagePath=mImageIconUrl;

Bitmap bitmap= null;//用网络流获取图片

try {

bitmap = BitmapFactory.decodeStream(new URL(mImageIconUrl).openStream());

} catch (IOException e) {

YYTLog.e("test---"+e.getMessage());

}

Bitmap thBitmap=Bitmap.createScaledBitmap(bitmap, 120, 65, true);

bitmap.recycle();//释放图像所占用的图片内存资源

msg.thumbData=bmpByteArray(thBitmap, true);//设置缩略图

//构造一个req

SendMessageToWX.Req req = new SendMessageToWX.Req();

req.transaction = buildTransaction("yyt_share", 1);

req.message = msg;

req.scene = mFlag == 0 ? SendMessageToWX.Req.WXSceneSession : SendMessageToWX.Req.WXSceneTimeline;

//调用api接口发送数据到微信

api.sendReq(req);

}

});

thread.start();

return true;

}

ps:比例不能超过150,否则分享不出去。

微博

QQ

待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值