58、微信-我-我的二维码MyCodeActivity

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#2E3132" >

<includeandroid:id="@+id/layout_bar"layout="@layout/layout_title" />

<LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerInParent="true"android:layout_margin="30dp"android:background="@drawable/btn_bg_gray"android:orientation="vertical"android:paddingBottom="20dp"android:paddingLeft="10dp"android:paddingRight="10dp"android:paddingTop="10dp" >

<RelativeLayoutandroid:id="@+id/view_user"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp" >

<ImageViewandroid:id="@+id/head"android:layout_width="60.0dip"android:layout_height="60.0dip"android:layout_margin="10dp"android:src="@drawable/head" />

<TextViewandroid:id="@+id/tvname"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="17dp"android:layout_toRightOf="@+id/head"android:text="菲儿"android:textSize="18.0dip" />

<TextViewandroid:id="@+id/tvmsg"style="@style/txt_ContextStyle1"android:layout_below="@+id/tvname"android:layout_marginTop="5dp"android:layout_toRightOf="@+id/head"android:text="微信号:dada20150625"android:textSize="14.0dip" />              <ImageViewandroid:id="@+id/iv_sex"android:layout_toRightOf="@+id/tvname"android:layout_width="20dp"android:layout_height="20dp"android:layout_marginTop="22dp"android:layout_marginLeft="5dp"android:src="@drawable/ic_sex_female" />        </RelativeLayout>

<ImageViewandroid:id="@+id/img_code"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginTop="10dp"android:contentDescription="@string/app_name"android:scaleType="centerCrop"android:src="@drawable/default_image" />

<TextViewstyle="@style/txt_ContextStyle1"android:layout_gravity="center"android:layout_marginTop="20dp"android:text="扫一扫上面的二维码图案,加我微信"android:textSize="14.0dip" />    </LinearLayout>

</RelativeLayout>

实现代码:

public class MyCodeActivity extends BaseActivity implements View.OnClickListener {

private TextView txt_title, txt_right, tvname, tv_accout;private ImageView img_back;

@Overridepublic void onCreate(Bundle savedInstanceState) {        setContentView(R.layout.activity_mycode);super.onCreate(savedInstanceState);    }

@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.img_back:                Utils.finish(MyCodeActivity.this);break;default:break;        }    }

@Overrideprotected void initControl() {txt_title = (TextView) findViewById(R.id.txt_title);txt_title.setText("我的二维码");img_back = (ImageView) findViewById(R.id.img_back);img_back.setVisibility(View.VISIBLE);tvname = (TextView) findViewById(R.id.tvname);tv_accout = (TextView) findViewById(R.id.tvmsg);    }

@Overrideprotected void initView() {img_back.setOnClickListener(this);    }

@Overrideprotected void initData() {        String id = Utils.getValue(this, Constants.User_ID);tv_accout.setText("微信号:" + id);        User user = GloableParams.Users.get(id);if (user != null && !TextUtils.isEmpty(user.getUserName()))tvname.setText(user.getUserName());        Bitmap qrcode = generateQRCode("[email protected]:" + id);        ImageView imageView = (ImageView) findViewById(R.id.img_code);        imageView.setImageBitmap(qrcode);    }

@Overrideprotected void setListener() {// TODO Auto-generated method stub}

private Bitmap generateQRCode(String content) {try {            QRCodeWriter writer = new QRCodeWriter();// MultiFormatWriter writer = new MultiFormatWriter();BitMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE, 500, 500);return bitMatrix2Bitmap(matrix);        } catch (WriterException e) {            e.printStackTrace();        }return null;    }

private Bitmap bitMatrix2Bitmap(BitMatrix matrix) {int w = matrix.getWidth();int h = matrix.getHeight();int[] rawData = new int[w * h];for (int i = 0; i < w; i++) {for (int j = 0; j < h; j++) {int color = Color.WHITE;if (matrix.get(i, j)) {                    color = Color.BLACK;                }                rawData[i + (j * w)] = color;            }        }

Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);        bitmap.setPixels(rawData, 0, w, 0, 0, w, h);return bitmap;    }}

生成二维码的函数generateQRCode可以重用,使用了zxing的QRCodeWriter。

时间: 2024-11-29 12:17:40

58、微信-我-我的二维码MyCodeActivity的相关文章

微信开发——带参数二维码的使用

---恢复内容开始--- 最近做微信PC端网页微信相关功能的开发,从一个新手的角度来说,微信公众号的文档还是不好理解的,网上找的帖子大都也都基本上是复制微信公众平台上给的文档,开发微信带参数二维码过程中还是遇到不少坑的,在此把我的开发过程比较详细的记录下,希望对大家有所帮助. 我本次开发使用的是认证服务号. 1 接入 首先进入微信公众号 -> 基本配置 下面是基本配置的页面,在URL中填写服务器地址,这个地址就是接受微信推送事件的一个接口,我是使用thinkPHP框架开发的程序,在其中一个Mod

有个人微信号怎么生成二维码

有个人微信号怎么生成二维码,比如说管理员的微信号是:hqfeijian  ,那么现在我想要这个微信号的二维码图片,怎么办? 不急,腾讯官方提供了一个接口可以直接生成: 浏览器地址栏输入:http://open.weixin.qq.com/qr/code/?username=hqfeijian 接着把底色为绿色的地方替换成你的微信号就可以了,(个人微信.公众号都可以的) 还有更多资源关注我的微信号哟: hqfeijian,复制上面的扫描一下就可以啦! 本文[微资源联盟]原创,转载请注明出处!,谢谢

spa(单页应用)中,使用history模式时,微信长按识别二维码在ios下失效的问题

spa(单页应用,vue)中,使用history模式时,微信长按识别二维码在ios下失效的问题. 触发条件: spa单页应用: 路由模式 history 从其他页面跳转到带有微信二维码识别的页面(不是直接打开该页面) ios版本的微信(实测版本6.5.19) 结果: 二维码长按无法识别,刷新页面后恢复正常,安卓下正常. 解决方案: 1. 进入该页面的方式不使用路由跳转,而改为 <a href="xxx">目标二维码页面</a>的方式: 2. 在beforeCre

微信服务器与项目服务器的交互(关注功能、微信扫描带参数二维码)

<?php /** * wechat php test */ //define your token define("TOKEN", "txtj"); $wechatObj = new wechatCallbackapiTest(); if (isset($_GET['echostr'])) { $wechatObj->valid(); }else{ $wechatObj->responseMsg(); } class wechatCallback

夺命雷公狗---微信开发38----临时二维码

我们要做一个临时的二维码,就类似超市的最后抢购30秒. 临时二维码手册的查找方式几乎差不了什么 第一步都是需要先申请到一个ticket值,然后通过ticket值去换取二维码,temp_qrcode.php代码如下: <?php header("Content-Type:text/html;charset=utf-8"); require_once "get_token.php"; require_once "common.php"; //首

夺命雷公狗---微信开发37----永久二维码2

我们刚才已经生成永久的二维码了,现在我们开始让二维码如何知道是从哪里扫描进来的了,这一般都用在于让开发者们更加了解流量来源. 首先我们来设计一张表用来记录流量的来源,表如下所示: 我们还是老方法,看下手册 然后开始修改index.php文件, <?php /** * wechat php test */ //define your token require_once "common.php"; //这里是引入curl发送函数的类 require_once 'WeChat.cla

夺命雷公狗---微信开发36----永久二维码1

目前有两种类型的二维码: 1,临时二维码,是有限时常的,7天,604800秒过期,但是能生成较多数量,主要途:KFC促销等 2,永久二维码,是无限时长的,但是数量最多值是10万个,主要用途:帐号绑定,用户来源统计等 用户扫描带场景时二维码时,可能推送以下两种事件: 1,如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者 2,如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者 生成带参数的二维码的过程包括两步,首先创建二

前端JS调用微信扫一扫二维码

来源: 最近做一个项目,H5页面,在微信中打开,里面有个功能,就是  点击按钮弹出微信二维码扫一扫. 项目截图: 暂时没有图,下次再补上.就是页面点击按钮,弹出扫二维码的窗口 我只负责前端,所以只上前端代码,后端代码是java. HTML代码(如下):我用的是jQuery WeUI 框架快速开发(jQuery WeUI地址:http://jqweui.com/),所以a标签有样式 1 <a class="weui-btn weui-btn_primary submit-btn"

微信生产带参数二维码

1.生成场景号 根据业务需求生产场景号. 用户扫描带场景值二维码时,可能推送以下两种事件: 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者. 如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者. 2.创建二维码ticket 每次创建二维码ticket需要提供一个开发者自行设定的参数(scene_id),分别介绍临时二维码和永久二维码的创建二维码ticket过程 /// <summary> /// 创建临时二维码