初学android,想学个验证码生成
想学一下验证码的生成,就是用户注册时出来验证码让用户填写,应该怎么实现啊 --------------------编程问答-------------------- 把图片做出来。编成编号,如1,2,3,4。。。然后随机数随到哪个号码。就是哪个图片。这样应该可以吧。用户输入的时候只要输入字符,就把对应的编号上传。这样就能得到是否正确了。注意,验证码是有时效的。过期作废。这样行不? --------------------编程问答--------------------
谢谢你了,不过具体的代码什么的 ,如何实现啊,有没有相关的文章资料啊什么的 --------------------编程问答-------------------- 譬如说,我在网上搜了好多java生成验证码的例子,都需要修改web.xml代码,但是android程序里没有这个xml文件。我要重新建一个吗 --------------------编程问答-------------------- 这个简单呀,创建一张空的图片,然后在图片上绘制数字或者字母,最后把图片拿出来用就好了。
--------------------编程问答--------------------
Bitmap bitmap = Bitmap.createBitmap(64, 64, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawText("A1B2", 0, 0, new Paint());
不需要xml文件吧。
这样写不可以么?这是我的方法。不知道是否符合你的要求。
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。
--------------------编程问答-------------------- http://developer.aiwgame.com/achieve-the-verification-code-in-android.html
protected void onDraw(Canvas canvas) {
/* 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 --------------------编程问答-------------------- 怎么获取verifyCodeView上的内容呢 --------------------编程问答--------------------
怎么获取验证码的值呢?
补充:移动开发 , Android