Skip to content

Commit d5dcf7b

Browse files
committed
update README
1 parent 4a858c1 commit d5dcf7b

6 files changed

Lines changed: 273 additions & 2 deletions

File tree

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
`ShareUtil`是一个综合性的分享及登录工具库,支持微信分享,微博分享,QQ分享,QQ空间分享以及Android系统默认分享,支持微信登录,微博登录以及QQ登录并获取用户信息。
33

44
## Preview
5-
![share](./preview/shareutil_share.gif)
6-
![login](./preview/shareutil_login.gif)
5+
![share](/preview/shareutil_share.gif)
6+
![login](/preview/shareutil_login.gif)
77
## Feature
88

99
1. 多种分享方式:
@@ -44,6 +44,8 @@
4444
.qqId(QQ_ID)
4545
.wxId(WX_ID)
4646
.weiboId(WEIBO_ID)
47+
// 下面两个,如果不需要登录功能,可不填写
48+
.weiboRedirectUrl(REDIRECT_URL)
4749
.wxSecret(WX_ID);
4850
ShareManager.init(config);
4951

@@ -88,6 +90,7 @@
8890
QQ版本:3.1.0 lite版
8991
微博版本: 3.1.4
9092
3. 分享的bitmap,会在分享之后被回收掉,所以分享之后最好不要再对该bitmap做任何操作。
93+
4. example 中的代码可以参考,但是不可运行,因为需要保证包名以及签名文件和你申请各个平台id所填写信息保持一致
9194

9295
## ChangeLog
9396

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.younglive.livestreaming;
2+
3+
import android.os.Bundle;
4+
import android.support.v7.app.AppCompatActivity;
5+
import android.view.View;
6+
import android.widget.Toast;
7+
import me.shaohui.shareutil.LoginUtil;
8+
import me.shaohui.shareutil.ShareConfig;
9+
import me.shaohui.shareutil.ShareManager;
10+
import me.shaohui.shareutil.login.LoginListener;
11+
import me.shaohui.shareutil.login.LoginPlatform;
12+
import me.shaohui.shareutil.login.LoginResult;
13+
import me.shaohui.shareutil.login.result.QQToken;
14+
import me.shaohui.shareutil.login.result.QQUser;
15+
16+
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
17+
18+
private LoginListener mLoginListener;
19+
20+
@Override
21+
protected void onCreate(Bundle savedInstanceState) {
22+
super.onCreate(savedInstanceState);
23+
setContentView(R.layout.activity_login);
24+
25+
ShareConfig config = ShareConfig.instance()
26+
.qqId("XXXXXX")
27+
.weiboId("XXXXX")
28+
.wxId("XXXXX")
29+
.weiboRedirectUrl("XXXXXX")
30+
.wxSecret("XXXXXX");
31+
ShareManager.init(config);
32+
33+
findViewById(R.id.login_qq).setOnClickListener(this);
34+
findViewById(R.id.login_weibo).setOnClickListener(this);
35+
findViewById(R.id.login_wx).setOnClickListener(this);
36+
37+
mLoginListener = new LoginListener() {
38+
@Override
39+
public void loginSuccess(LoginResult result) {
40+
Toast.makeText(LoginActivity.this,
41+
result.getUserInfo() != null ? result.getUserInfo().getNickname()
42+
: "" + "登录成功", Toast.LENGTH_SHORT).show();
43+
44+
// 处理result
45+
switch (result.getPlatform()) {
46+
case LoginPlatform.QQ:
47+
QQUser user = (QQUser) result.getUserInfo();
48+
QQToken token = (QQToken) result.getToken();
49+
break;
50+
case LoginPlatform.WEIBO:
51+
// 处理信息
52+
break;
53+
case LoginPlatform.WX:
54+
55+
break;
56+
}
57+
}
58+
59+
@Override
60+
public void loginFailure(Exception e) {
61+
Toast.makeText(LoginActivity.this, "登录失败", Toast.LENGTH_SHORT).show();
62+
}
63+
64+
@Override
65+
public void loginCancel() {
66+
Toast.makeText(LoginActivity.this, "登录取消", Toast.LENGTH_SHORT).show();
67+
}
68+
};
69+
}
70+
71+
@Override
72+
public void onClick(View view) {
73+
switch (view.getId()) {
74+
case R.id.login_qq:
75+
LoginUtil.login(this, LoginPlatform.QQ, mLoginListener);
76+
break;
77+
case R.id.login_weibo:
78+
LoginUtil.login(this, LoginPlatform.WEIBO, mLoginListener, false);
79+
break;
80+
case R.id.login_wx:
81+
LoginUtil.login(this, LoginPlatform.WX, mLoginListener);
82+
break;
83+
}
84+
}
85+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.younglive.livestreaming;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
import android.util.Log;
6+
import android.view.View;
7+
import me.shaohui.shareutil.ShareConfig;
8+
import me.shaohui.shareutil.ShareManager;
9+
import me.shaohui.shareutil.login.LoginListener;
10+
import me.shaohui.shareutil.login.LoginPlatform;
11+
import me.shaohui.shareutil.login.LoginResult;
12+
import me.shaohui.shareutil.LoginUtil;
13+
import me.shaohui.shareutil.login.result.BaseToken;
14+
15+
public class MainActivity extends AppCompatActivity {
16+
17+
String APP_ID = "XXXXXX";
18+
String APP_SECRET = "XXXXXXX";
19+
20+
@Override
21+
protected void onCreate(Bundle savedInstanceState) {
22+
super.onCreate(savedInstanceState);
23+
setContentView(R.layout.activity_main);
24+
25+
ShareConfig config = ShareConfig.instance().wxId(APP_ID).wxSecret(APP_SECRET);
26+
ShareManager.init(config);
27+
28+
findViewById(R.id.action_login).setOnClickListener(new View.OnClickListener() {
29+
@Override
30+
public void onClick(View view) {
31+
LoginUtil.login(MainActivity.this, LoginPlatform.WX, new LoginListener() {
32+
@Override
33+
public void loginSuccess(LoginResult result) {
34+
Log.i("TAG", result.getUserInfo().getNickname());
35+
Log.i("TAG", "登录成功");
36+
}
37+
38+
@Override
39+
public void beforeFetchUserInfo(BaseToken token) {
40+
Log.i("TAG", "获取用户信息");
41+
}
42+
43+
@Override
44+
public void loginFailure(Exception e) {
45+
e.printStackTrace();
46+
Log.i("TAG", "登录失败");
47+
}
48+
49+
@Override
50+
public void loginCancel() {
51+
Log.i("TAG", "登录取消");
52+
}
53+
});
54+
}
55+
});
56+
}
57+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.younglive.livestreaming;
2+
3+
import android.os.Bundle;
4+
import android.support.v7.app.AppCompatActivity;
5+
import android.util.Log;
6+
import android.view.View;
7+
import me.shaohui.shareutil.ShareConfig;
8+
import me.shaohui.shareutil.ShareManager;
9+
import me.shaohui.shareutil.ShareUtil;
10+
import me.shaohui.shareutil.share.ShareListener;
11+
import me.shaohui.shareutil.share.SharePlatform;
12+
13+
public class ShareActivity extends AppCompatActivity {
14+
15+
@Override
16+
protected void onCreate(Bundle savedInstanceState) {
17+
super.onCreate(savedInstanceState);
18+
setContentView(R.layout.activity_share);
19+
20+
findViewById(R.id.action_share).setOnClickListener(new View.OnClickListener() {
21+
@Override
22+
public void onClick(View view) {
23+
ShareBottomDialog dialog = new ShareBottomDialog();
24+
dialog.show(getSupportFragmentManager());
25+
}
26+
});
27+
28+
findViewById(R.id.action_share_qq).setOnClickListener(new View.OnClickListener() {
29+
@Override
30+
public void onClick(View view) {
31+
ShareUtil.shareImage(ShareActivity.this, SharePlatform.QQ,
32+
"http://shaohui.me/images/avatar.gif", new ShareListener() {
33+
@Override
34+
public void shareSuccess() {
35+
Log.i("TAG", "分享成功");
36+
}
37+
38+
@Override
39+
public void shareFailure(Exception e) {
40+
Log.i("TAG", "分享失败");
41+
}
42+
43+
@Override
44+
public void shareCancel() {
45+
Log.i("TAG", "分享取消");
46+
}
47+
});
48+
}
49+
});
50+
51+
// 初始化shareUtil
52+
ShareConfig config = ShareConfig.instance()
53+
.qqId("XXXXXX")
54+
.weiboId("XXXXXX")
55+
.wxId("xXXXXX");
56+
ShareManager.init(config);
57+
}
58+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout
3+
xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:app="http://schemas.android.com/apk/res-auto"
5+
xmlns:tools="http://schemas.android.com/tools"
6+
android:id="@+id/activity_login"
7+
android:layout_width="match_parent"
8+
android:layout_height="match_parent"
9+
tools:context="com.younglive.livestreaming.LoginActivity"
10+
>
11+
12+
<LinearLayout
13+
android:layout_width="wrap_content"
14+
android:layout_height="wrap_content"
15+
android:orientation="vertical"
16+
android:layout_centerInParent="true"
17+
>
18+
<Button
19+
android:id="@+id/login_wx"
20+
android:layout_width="200dp"
21+
android:layout_height="60dp"
22+
android:layout_marginBottom="16dp"
23+
android:text="微信登录"
24+
/>
25+
<Button
26+
android:id="@+id/login_weibo"
27+
android:layout_width="200dp"
28+
android:layout_height="60dp"
29+
android:layout_marginBottom="16dp"
30+
android:text="微博登录"
31+
/>
32+
<Button
33+
android:id="@+id/login_qq"
34+
android:layout_width="200dp"
35+
android:layout_height="60dp"
36+
android:layout_marginBottom="16dp"
37+
android:text="QQ登录"
38+
/>
39+
</LinearLayout>
40+
41+
</RelativeLayout>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout
3+
xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:app="http://schemas.android.com/apk/res-auto"
5+
xmlns:tools="http://schemas.android.com/tools"
6+
android:id="@+id/activity_share"
7+
android:layout_width="match_parent"
8+
android:layout_height="match_parent"
9+
tools:context="com.younglive.livestreaming.ShareActivity"
10+
>
11+
<Button
12+
android:id="@+id/action_share"
13+
android:layout_width="200dp"
14+
android:layout_height="60dp"
15+
android:layout_centerInParent="true"
16+
android:text="Share"
17+
android:textAllCaps="false"
18+
/>
19+
20+
<Button
21+
android:id="@+id/action_share_qq"
22+
android:layout_width="200dp"
23+
android:layout_height="60dp"
24+
android:text="qq分享"
25+
/>
26+
27+
</RelativeLayout>

0 commit comments

Comments
 (0)