想学一下验证码的生成,就是用户注册时出来验证码让用户填写,应该怎么实现啊

解决方案 »

  1.   

    譬如说,我在网上搜了好多java生成验证码的例子,都需要修改web.xml代码,但是android程序里没有这个xml文件。我要重新建一个吗
      

  2.   

    这个简单呀,创建一张空的图片,然后在图片上绘制数字或者字母,最后把图片拿出来用就好了。Bitmap bitmap = Bitmap.createBitmap(64, 64, Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    canvas.drawText("A1B2", 0, 0, new Paint());
      

  3.   

    不需要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。
      

  4.   

    http://developer.aiwgame.com/achieve-the-verification-code-in-android.htmlprotected 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();
    }
      

  5.   

    参考这里
    http://developer.aiwgame.com/achieve-the-verification-code-in-android.html
      

  6.   

    怎么获取verifyCodeView上的内容呢