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的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+