Android集成联图服务实现动态生成二维码源码例子
2014-10-17 13:24:02 By: shinyuu
通过集成联图二维码服务、来实现二维码的生成、换句话说是通过调用联图的API来实现的
有兴趣的朋友可以上联图官网看一下 http://www.liantu.com
那么我们在 Android 里面其实也是访问的一个地址、把我们想要生成的地址或文本提交过去
然后联图在收到我们请求之后会给我们返回一个图片给我们、这个图片就是我们生成的二维码
有图有真像、效果图上起
初始化代码
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainpage); image = (ImageView) findViewById(R.id.imageView1); inputValue = (EditText) findViewById(R.id.editText1); btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new Button.OnClickListener(){//创建监听 public void onClick(View v) { try { String value = inputValue.getText().toString(); String urlcontext = "http://qr.liantu.com/api.php?text="+value+ "&w=240&bg=FFFFFF&fg=000000&logo=http://www.liantu.com/images/2013/sample.jpg"; image.setImageBitmap(getHttpBitmap(urlcontext)); Toast.makeText(v.getContext(), "请求二维码成功", Toast.LENGTH_LONG).show(); } catch (Exception e) { // TODO Auto-generated catch block Log.e(tagName, "Except:", e.getCause()); Toast.makeText(v.getContext(),"请求二维码失败", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } }); //网络访问兼容 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build()); }解析图片的代码
public Bitmap getHttpBitmap(String data) { Bitmap bitmap = null; try { //初始化一个URL对象 URL url = new URL(data); //获得HTTPConnection网络连接对象 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(5*1000); connection.setDoInput(true); connection.connect(); //得到输入流 InputStream is = connection.getInputStream(); Log.i("TAG", "*********inputstream**"+is); bitmap = BitmapFactory.decodeStream(is); Log.i("TAG", "*********bitmap****"+bitmap); //关闭输入流 is.close(); //关闭连接 connection.disconnect(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return bitmap; }
核心的代码就贴完了、希望对大家有帮助
另外以前我分享过一个生成 Android 生成条形码的例子、如果有需要
大家可以去看一下 http://dwtedx.com/itshare_151.html
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1gdCGOIf 密码: rdbg
若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力
想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)
或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)
如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教
为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)
感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛