团队冲刺第七天--校园百晓生(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();
                }

存入云数据库(待完善)

明天加油!