簡介
今天給大家帶來的是使用ShareSDK實現應用分享的功能。下面我們先看下效果圖。
效果圖
步驟
1. 獲取AppKey
訪問mob官網http://mob.com注冊賬號–》點擊頭像進入“后臺中心”–》選擇shareSDK–》添加應用–》獲取AppKey。
點擊添加后,就可以生成項目對應的AppKey。
2. SDK下載
訪問mob官網http://mob.com下載最新的sdk。
然后點擊一鍵下載就可以下載最新的sdk。
3. sdk目錄結構
上面這張圖就是我們下載下來的sdk的所有文件,其中我們集成用到的就是紅色區域標記的部分。
4. 使用java命令生成項目
使用java -jar命令編譯我們下載的QuickIntegrater.jar文件,就會彈出一個對話框,我們添入我們的項目名稱還有包名,點擊確定,然后就會自動生成一個和我們項目相關的文件夾。如下圖所示:
5. 復制文件
我們只需要把對應的文件復制到我們的項目中就可以。詳細的目錄結構如下圖所示。
需要注意的是,圖中的libs中的jar包我們已經添加為library了。在第一次復制進來的時候,我們需要右鍵–》點擊“Add as library”進行編譯。這樣我們才能使用其中的api。
6. AppKey的替換
替換assets文件夾下的AppKey
7. 權限添加
在AndroidManifest.xml添加下列權限:
<uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <!-- 藍牙分享所需的權限 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
8. activity聲明
<activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize"> <!-- QQ和QQ空間分享 QQ登錄的回調必須要配置的 --> <intent-filter> <data android:scheme="tencent100371282" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!-- 新浪微博客戶端分享回調必須配置 --> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
9. 創建ShareApplication
初始化ShareSDK
public class ShareApplication extends Application { private static final String APP_KEY = "193e71d0869ce"; @Override public void onCreate() { super.onCreate(); ShareSDK.initSDK(this, APP_KEY); } }
并把ShareApplication應用到AndroidManifest中:
<application android:name=".ShareApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity">
10. MainActivity實現分享
public class MainActivity extends AppCompatActivity { private Button shareButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); shareButton = (Button) findViewById(R.id.share_button); initListener(); } private void initListener() { shareButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { share(); } }); } private void share() { ShareSDK.initSDK(this); OnekeyShare oks = new OnekeyShare(); //關閉sso授權 oks.disableSSOWhenAuthorize(); // title標題,印象筆記、郵箱、信息、微信、人人網和QQ空間等使用 oks.setTitle("標題"); // titleUrl是標題的網絡鏈接,QQ和QQ空間等使用 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平臺都需要這個字段 oks.setText("Testing message"); // imagePath是圖片的本地路徑,Linked-In以外的平臺都支持此參數 //oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片 // url僅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://sharesdk.cn"); // comment是我對這條分享的評論,僅在人人網和QQ空間使用 oks.setComment("我是測試評論文本"); // site是分享此內容的網站名稱,僅在QQ空間使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此內容的網站地址,僅在QQ空間使用 oks.setSiteUrl("http://sharesdk.cn"); // 啟動分享GUI oks.show(this); } }
總結
至此,整個ShareSDK就集成到我們的項目中來了,實現效果就是我們篇頭的gif動畫。
其實所有的東西本身并不難,就看你敢不敢去做這件事,并且很出色地把它完成。
源碼下載:Android實現ShareSDK分享
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/kuangxiaoguo0123/article/details/53301005