1----导包sdk中的
2app类
package bweie.com.moni3.di; import android.app.Application; import com.umeng.commonsdk.UMConfigure; import com.umeng.socialize.PlatformConfig; public class App extends Application { @Override public void onCreate() { super.onCreate(); UMConfigure.init(this,"5b78d66ff29d9829500006e3" ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0 PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0"); //豆瓣RENREN平台目前只能在服务器端配置 PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com"); PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf"); PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO"); PlatformConfig.setAlipay("2015111700822536"); PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e"); PlatformConfig.setPinterest("1439206"); PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f"); PlatformConfig.setDing("dingoalmlnohc0wggfedpk"); PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J"); PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a"); } }
3-------------------login.xml
<LinearLayout android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.activity.LoginActivity"> <Button android:id="@+id/but_qqlogin" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="QQ登录" /> <LinearLayout android:id="@+id/ll_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:orientation="vertical" android:visibility="gone"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="个人信息" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/btn_icon" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="9" android:text="头像" /> <ImageView android:id="@+id/iv_icon" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@mipmap/ic_launcher" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="9" android:text="用户名" /> <TextView android:id="@+id/tv_gender" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@mipmap/ic_launcher" android:text="userName字段" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="9" android:text="昵称" /> <TextView android:id="@+id/tv_nickName" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@mipmap/ic_launcher" android:text="Kson" /> </LinearLayout> <Button android:id="@+id/btn_showData" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="展示数据" /> </LinearLayout> </LinearLayout>
4-------------------
public class LoginActivity extends AppCompatActivity { @BindView(R.id.but_qqlogin) Button butQqlogin; UMAuthListener authListener = new UMAuthListener() { /** * @desc 授权开始的回调 * @param platform 平台名称 */ @Override public void onStart(SHARE_MEDIA platform) { } /** * @desc 授权成功的回调 * @param platform 平台名称 * @param action 行为序号,开发者用不上 * @param data 用户资料返回 */ @Override public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) { //uid //name //gender //iconurl String uid = data.get("uid"); final String name = data.get("name"); final String gender = data.get("gender"); final String iconurl = data.get("iconurl"); for (int i = 0; i < data.size(); i++) { String s = data.get(i); } Toast.makeText(LoginActivity.this, "成功了" + uid + "********" + name + "********" + gender + "********" + iconurl, Toast.LENGTH_LONG).show(); runOnUiThread(new Runnable() { @Override public void run() { Picasso.get().load(iconurl).into(ivIcon); tvGender.setText(gender); tvNickName.setText(name); } }); } /** * @desc 授权失败的回调 * @param platform 平台名称 * @param action 行为序号,开发者用不上 * @param t 错误原因 */ @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText(LoginActivity.this, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show(); } /** * @desc 授权取消的回调 * @param platform 平台名称 * @param action 行为序号,开发者用不上 */ @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText(LoginActivity.this, "取消了", Toast.LENGTH_LONG).show(); } }; @BindView(R.id.btn_icon) TextView btnIcon; @BindView(R.id.iv_icon) ImageView ivIcon; @BindView(R.id.tv_gender) TextView tvGender; @BindView(R.id.tv_nickName) TextView tvNickName; @BindView(R.id.btn_showData) Button btnShowData; @BindView(R.id.ll_container) LinearLayout llContainer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); ButterKnife.bind(this); if (Build.VERSION.SDK_INT >= 23) { String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CALL_PHONE, Manifest.permission.READ_LOGS, Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.SET_DEBUG_APP, Manifest.permission.SYSTEM_ALERT_WINDOW, Manifest.permission.GET_ACCOUNTS, Manifest.permission.WRITE_APN_SETTINGS}; ActivityCompat.requestPermissions(this, mPermissionList, 123); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { } @OnClick({R.id.but_qqlogin, R.id.iv_icon, R.id.btn_showData}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.but_qqlogin: butQqlogin.setVisibility(View.GONE); UMShareAPI.get(this).getPlatformInfo(LoginActivity.this, SHARE_MEDIA.QQ, authListener); llContainer.setVisibility(View.VISIBLE); break; case R.id.iv_icon: break; case R.id.btn_showData: Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); break; } } }