首页 > 其他分享 >记账本8

记账本8

时间:2024-02-10 19:55:06浏览次数:18  
标签:getcode mobile void 记账 SMSSDK msg new

今天主要实现了登录注册功能的客户端和服务端,但由于短信接口调用出现问题,导致注册功能还不完整。

截止到今天,APP的功能已经基本完成,后续还会陆陆续续的完善各功能模块与服务端的交互,因为需要和云端关联的模块与细节太多,所以就不具体规定时间完成。

在以往的学习和开发中并没有用到多少第三方的依赖。今天记录一下基于mob的Android 短信接口的使用代码。

首先注册监听回调:

复制代码 复制代码
EventHandler eh=new EventHandler(){
            @Override
            public void afterEvent(int event, int result, Object data) {
                // TODO 此处不可直接处理UI线程,处理后续操作需传到主线程中操作
                Message msg = new Message();
                msg.arg1 = event;
                msg.arg2 = result;
                msg.obj = data;
                handler.sendMessage(msg);

            }
        };
        //注册一个事件回调监听,用于处理SMSSDK接口请求的结果
        SMSSDK.registerEventHandler(eh);
复制代码 复制代码

然后给获取验证码按钮添加点击监听:

复制代码 复制代码
getcode.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                final String mobile = fusername.getText().toString();
                if(InputFormat.isMobile(mobile)){
                    Log.v("mobile", mobile);
                    new AlertDialog.Builder(SigninActivity.this)
                            .setTitle("发送短信")
                            .setMessage("我们将把验证码发送到以下号码:\n"+"+86:"+mobile)
                            .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    SMSSDK.getVerificationCode("86", mobile);
                                    getcode.setClickable(false);
                                    getcode.setBackgroundResource(R.drawable.btn_unclick_style);
                                    getcode.setText("重新发送(" + i + ")");
                                    new Thread(new Runnable()
                                    {
                                        @Override
                                        public void run()
                                        {
                                            for (; i > 0; i--)
                                            {
                                                handler.sendEmptyMessage(-9);
                                                if (i <= 0)
                                                {
                                                    break;
                                                }
                                                try
                                                {
                                                    Thread.sleep(1000);
                                                } catch (InterruptedException e)
                                                {
                                                    e.printStackTrace();
                                                }
                                            }
                                            handler.sendEmptyMessage(-8);
                                        }
                                    }).start();
                                }
                            })
                            .create()
                            .show();
                }

            }
        });
复制代码 复制代码

然后构造一个处理器用来处理返回的请求参数:

复制代码 复制代码
Handler handler = new Handler() {
        @Override
        public void handleMessage(@NonNull Message msg) {
            if (msg.what == -9) {
                getcode.setText("重新发送(" + i + ")");
            } else if (msg.what == -8) {
                getcode.setText("获取验证码");
                getcode.setBackgroundResource(R.drawable.log_btn_style);
                getcode.setClickable(true);
                i = 30;
            } else {
                int i = msg.arg1;
                int i1 = msg.arg2;
                Object o = msg.obj;
                Log.v("iandi1",i+" "+i1);
                if (i1 == SMSSDK.RESULT_COMPLETE) {
                    // 短信注册成功后,返回MainActivity,然后提示
                    if (i == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                        Toast.makeText(SigninActivity.this, "提交验证码成功", Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent(SigninActivity.this, LoginActivity.class);
                        Bundle bundle = new Bundle();
                        bundle.putString("username", fusername.getText().toString().trim());
                        intent.putExtras(bundle);
                        startActivity(intent);

                    } else if (i == SMSSDK.EVENT_GET_VOICE_VERIFICATION_CODE) {
                        Toast.makeText(SigninActivity.this, "正在获取验证码", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        }
    };

标签:getcode,mobile,void,记账,SMSSDK,msg,new
From: https://www.cnblogs.com/wangxinyuan1108/p/18013014

相关文章

  • 记账本7
    今天完成的主要任务如下:1.设置页功能的布局2.云服务器的部署3.成功将一个本地Javaweb项目部署到阿里云没什么特别说明的,直接上图:首先是侧边栏功能的布局:                                      ......
  • 记账本6
    1.统计页的布局和功能2.主页碎片的图表功能实现效果如下:               其中,统计功能的个人分析部分可以按照不同的条件进行统计,条件的选择在顶部的下拉按钮样式处,可以按周、按月、按年以及自定义日期段进行统计,逐月对比功能类似,只不过只能选中指定年......
  • 记账本5
    记账本5 1.账单查询功能的完善以及查询结果的显示和编辑2.侧边栏布局的实现3.首页fragment中本月与上月对比账目情况实现的效果如图:已添加的账单内容以及最近两月对比如下: 侧边栏样式如下(貌似图片有点失真,设备上白色背景区域分割线是均衡的): 查询页面如下: 按......
  • 记账本4
    今天完成的主要内容有:1.主页面账单明细部分细节展示2.对每个列表项,点击打开新的可编辑修改具体页面3.实现了搜索页面的UI布局4.优化了部分页面的UI,提升用户视觉和使用体验实现效果如下:         今天把明细内容的思路改了,主要还是因为网上的解决办法不足以支持......
  • 记账本3
    今天主要是对昨天做的添加账单信息的功能做了完善,实现了数据库的相关操作,如图是对已添加的账单信息的总结显示。 目前实现了通过日期进行汇总的功能,如上图中的各项item就是通过对所有账单信息进行按日期汇总的结果。绿色字样代表收入金额,红色字样代表输出金额。在今天的开发......
  • 《kimi记账》会员协议
    感谢您使用kimi记账会员增值服务,为使用kimi记账会员增值服务(简称为:本服务),您应当阅读并遵守《kimi记账会员服务协议》(简称为:本协议)。请您务必审慎阅读、充分理解各条款内容,特别是免除或限制责任等相应条款,以及开通或使用某项服务的单独协议,并选择接受或不接受。免除或限制责任条款......
  • 《kimi记账》连续订阅服务协议
    更新时间:2024年1月2号感谢您申请使用kimi记账为您提供的自动续费委托扣款服务(以下简称为“本服务”),请您仔细阅读并同意《kimi记账会员自动续费服务协议》(以下简称为“本协议”)的各项条款为准。如您不同意本协议的全部或部分内容,请勿以任何确认的形式(包括但不限于:勾选、点击)选择“......
  • 《kimi记账》隐私政策
    版本更新时间:2024年1月2日版本生效时间:2024年1月2日上海哈斯卡网络科技有限公司是kimi记账的运营者(以下称“kimi记账”或“我们”),kimi记账非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务时,我们可能会收集和使用您的相关信息。我们希望通过《kimi记账隐私......
  • 家庭记账本(二)
    1.数据库连接类1packagecom.wang.utils;23importjava.sql.Connection;4importjava.sql.DriverManager;5importjava.sql.ResultSet;6importjava.sql.SQLException;7importjava.sql.Statement;89publicclassDBUtils{10......
  • 家庭记账本(三)
    实现新增消费账单1.前端页面 我们可以看到点击新增消费记录超链接的地址是跳转到cost_edit.jsp页面。cost_edit.jsp负责编辑消费账单,该页面用来实现两个功能:添加和修改如何判断用户是要添加消费账单还是要修改消费账单:通过判断id是否为空,当进行添加操作时,id未被赋值,所以为......