想学一下验证码的生成,就是用户注册时出来验证码让用户填写,应该怎么实现啊
解决方案 »
- Android开发中jsoup解析网页的问题,高手请进,急急急!!!
- android横屏竖屏触发事件问题?
- android开发调用Intent出错
- appwidget-provider minHeight动态指定
- 求助android..CursorIndexOutOfBoundsException: Index 0 requested,with a size of 0
- Android真机如何加载驱动?
- 请教各位Project Properties里的Is Library选项是干什么的?
- Textview显示图片问题
- ViewGroup如何重写onMeasure
- 程序包org.apache.http不存在
- 【求助】SDK安装问题
- 谁有android项目设计文档?
Canvas canvas = new Canvas(bitmap);
canvas.drawText("A1B2", 0, 0, new Paint());
这样写不可以么?这是我的方法。不知道是否符合你的要求。public static int RandomInt(int Start,int End)
{
return (int) ((Math.random()*100)%(End-Start+1)+Start);
}
比如生成4个验证码
int []Code = new [4];
for(int i=0;i<4;i++)
{
Code[i] = RandomInt(0,99);
}
调用图片的时候
for(int i=0;i<4;i++)
{
switch(Code[i])
{
case XX:
canvas.draw ....这里可以画图,也可以写文字。随便了。
}
}当客户端传递上来4个字符的时候,只要跟Code比较就可以了。相等ok。不等就sorry。
/* set backgroud clolr */
canvas.drawColor(Color.GRAY); canvas.save();
canvas.translate(10, 10);
/* set paint color */
mPaint.setColor(Color.BLUE);
// build random code
Random random = new Random();
String sRand = "";
for (int i = 0; i < 4; i++) {
String rand = String.valueOf(random.nextInt(10));
canvas.drawText(rand, TEXT_SIZE * i + 4, 10, mPaint);
sRand += rand;
}
saveCode(sRand);
canvas.restore();
}
http://developer.aiwgame.com/achieve-the-verification-code-in-android.html