移动开发----第三方QQ登录

原创 2016年06月02日 08:36:25
package com.yzw.news.activity;


import java.util.List;
import java.util.Map;


import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.yzw.news.R;
import com.yzw.news.bean.User;
import com.yzw.news.dao.UserDao;


public class LoginActivity extends BaseActivity {


/**
* 登陆界面
*/
private ImageView qq;
private UMShareAPI mShareAPI;
private String name;
private String url;
private String province;
private String gender;
private String city;
public static SharedPreferences sp;


@Override
public int getLayout() {
int activity_login = R.layout.activity_login;
return activity_login;
}


@Override
public void findView() {
qq = (ImageView) findViewById(R.id.qq);
tv_regist = (TextView) findViewById(R.id.tv_regist);
et_name = (EditText) findViewById(R.id.et_name);
et_pwd = (EditText) findViewById(R.id.et_pwd);
btn_log = (Button) findViewById(R.id.btn_log);
}


@Override
public void initData() {
mShareAPI = UMShareAPI.get(this);
sp = getSharedPreferences("info", MODE_PRIVATE);


}


@Override
public void setData() {
UserDao dao = new UserDao(this);
userList = dao.query();
}


@Override
public void setListener() {
qq.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
SHARE_MEDIA platform = SHARE_MEDIA.QQ;
mShareAPI.doOauthVerify(LoginActivity.this, platform,
umAuthListener);
}
});
tv_regist.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
Intent intent = new Intent(LoginActivity.this,
YanZhengActivity.class);
startActivity(intent);
}
});
btn_log.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
String username = et_name.getText().toString();
String password = et_pwd.getText().toString();
if (username == null || password == null||"".equals(username)||"".equals(password)) {
Toast.makeText(LoginActivity.this, "用户名或者密码不能为空!", 0)
.show();
} else {
for (User u : userList) {
if (u.getUsername().equals(username)
&& u.getPassword().equals(password)) {
Toast.makeText(LoginActivity.this, "登陆成功!", 0)
.show();
finish();
return;
} else {
Toast.makeText(LoginActivity.this, "用户名或者密码错误!", 0)
.show();
}


}
}


}
});
}


private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform, int action,
Map<String, String> data) {
Toast.makeText(LoginActivity.this, "Authorize OK",
Toast.LENGTH_SHORT).show();
// 鑾峰彇骞冲彴淇℃伅
mShareAPI.getPlatformInfo(LoginActivity.this, platform,
new UMAuthListener() {


@Override
public void onComplete(SHARE_MEDIA share_media, int i,
Map<String, String> map) {
// Set set = map.keySet();
name = map.get("screen_name");
url = map.get("profile_image_url");
province = map.get("province");
gender = map.get("gender");
city = map.get("city");
Toast.makeText(LoginActivity.this, "successs", 0)
.show();
sp.edit().putBoolean("islogin", true).commit();
Editor edit = sp.edit();
edit.putBoolean("islogin", true);
edit.putBoolean("isqq", true);
edit.putString("img", url);
edit.putString("name", name);
edit.commit();
finish();


// Iterator it = set.iterator();
// while (it.hasNext()) {
// Object o = it.next();
// // System.out.println(("key is :" + o
// + "-----value is :" + map.get(o)));


// }
}


@Override
public void onError(SHARE_MEDIA share_media, int i,
Throwable throwable) {


}


@Override
public void onCancel(SHARE_MEDIA share_media, int i) {


}
});
}


@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText(LoginActivity.this, "Authorize fail",
Toast.LENGTH_SHORT).show();
}


@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(LoginActivity.this, "Authorize cancel",
Toast.LENGTH_SHORT).show();
}
};
private TextView tv_regist;
private EditText et_name;
private EditText et_pwd;
private Button btn_log;
private List<User> userList;


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);


}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[Phonegap+Sencha Touch] 移动开发72 List列表横向滑动操作(仿QQ列表滑动删除)

请看示例图,仿照的QQ的列表横滑删除。 支持Ext.dataview.List和Ext.dataview.DataView。本功能是Sencha touch插件类(不是Cordova插件),可...

[Phonegap+Sencha Touch] 移动开发56 安卓要注意不同CPU指令集的第三方.so库文件的引用

公司有个测试人员的手机是联想的机器,x86的cpu。 公司App用到了百度云推送、百度地图和百度定位,安卓项目中分别引用了这三个SDk的.so库文件 注:.so库文件,C++编写的,比java运行速度...

微信,QQ这类移动开发IM app怎么做?

本文原作者:一缕殇流化隐半边冰霜(简书) 前言 关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕业之后的第一份工作。直到最近换了工作,到了一家是含...

[转载]iOS开发之第三方登录QQ

转载自 iOS_developer_zhong 1. 申请腾讯开发账号。 地址:点击打开链接 2. 下载最新的SDK   地址: SDK下载 SDK内容如下: 1.sample 这个是...

实现QQ的第三方登录 iOS开发

现在大多数App在登录时候都会有第三方登录,如QQ,微信,微博等,如下面的截图 下面我们主要讲一下qq的第三方登陆如何实现 首先,到官网注册: 一,下载SDK 下载S...

第三方登录(QQ登录)开发流程详解

第三方登录(QQ登录)开发流程详解   近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解。   对于整个流程...

Android开发第三方登录--QQ登录

长话短说。。。 1、创建APP,获取APP_ID和APP_KEY,当然,首先得有个账号** 2、下载sdk 点击去下载 3、导包(我的是AndroidStudio 2.3.2)解压下载的sdk...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:移动开发----第三方QQ登录
举报原因:
原因补充:

(最多只允许输入30个字)