zoukankan      html  css  js  c++  java
  • 团队冲刺第七天--校园百晓生(STDeverything)

    摘要:获取了第三方登录返回数据的openid、昵称和40*40像素头像(以地址形式保存),并将其存入云服务器数据库,由于一天满课,实现功能还需完善。

    代码:

    QQToken qqToken = mTencent.getQQToken();
                UserInfo info = new UserInfo(getApplicationContext(), qqToken);
                userId = mTencent.getOpenId();//获取唯一标识符
                Log.v("userId",userId);
                //    info.getUserInfo(new BaseUIListener(this,"get_simple_userinfo"));
                info.getUserInfo(new IUiListener() {
                    @Override
                    public void onComplete(Object o) {
                        //用户信息获取到了
                        try {
    
                            Toast.makeText(getApplicationContext(), ((JSONObject) o).getString("nickname")+((JSONObject) o).getString("gender"), Toast.LENGTH_SHORT).show();
                            Log.v("UserInfo",o.toString());
                            username=((JSONObject) o).getString("nickname");//获取昵称
                            Log.v("username",username);
                            userimage=((JSONObject) o).getString("figureurl_qq_1");//获取头像
                            Log.v("userimage",userimage);
                            Intent intent1 = new Intent(Login.this,MainActivity.class);
                            startActivity(intent1);
                            finish();
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
    获取用户基本信息
     private final static String requrl="http://#/STDEverything/login_servlet";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.activity_register);
            FloatingActionButton register_btn = findViewById(R.id.register_btn);
            name_text=findViewById(R.id.name);
            pwd_text=findViewById(R.id.pwd);
            handler=new RegisterHandler(this);
            register_btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String name=name_text.getText().toString();
                    String pwd=pwd_text.getText().toString();
                    final String reqdata="method=login&name="+name+"&pwd="+pwd+"";
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                JSONObject jsonObject=new JSONObject(String.valueOf(HttpUtil.sendPost(requrl,reqdata)));
                                Message msg=new Message();
                                msg.what=100;
                                msg.obj=jsonObject;
                                handler.sendMessage(msg);
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                }
            });
    
        }
    
        static class RegisterHandler extends Handler{
    
            private final WeakReference<Register> mcontext;
    
            RegisterHandler(Register context){
                mcontext=new WeakReference<>(context);
            }
            @Override
            public void handleMessage(@NonNull Message msg) {
                super.handleMessage(msg);
                if(msg.what==100){
                    JSONObject jsonObject= (JSONObject) msg.obj;
                    try {
                        if(jsonObject.get("name").equals("yes"))
                            Toast.makeText(mcontext.get(),"用户名已存在",Toast.LENGTH_SHORT).show();
                        else if(jsonObject.get("name").equals("no")){
                            new Thread(new Runnable() {
                                @Override
                                public void run() {
                                    String name=mcontext.get().name_text.getText().toString();
                                    String pwd=mcontext.get().pwd_text.getText().toString();
                                    final String reqdata="method=register&name="+name+"&pwd="+pwd+"";
                                    HttpUtil.sendPost(requrl,reqdata);
                                    sendEmptyMessage(888);
                                }
                            }).start();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
    存入云数据库(待完善)

    明天加油!

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    【手绘漫画】图解LeetCode之最长上升子序列(LeetCode300题),贪心算法 + 二分查找
    C 语言编程 — GDB 调试工具
    【debug】Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
    tf.expand_dims()函数解析(最清晰的解释)
    C 语言编程 — 堆栈与内存管理
    C 语言编程 — 输入/输出与文件操作
    C 语言编程 — 头文件
  • 原文地址:https://www.cnblogs.com/dd110343/p/12748778.html
Copyright © 2011-2022 走看看