引导语:现在Android app开发已经趋于更快速,功能更加丰富,运行更加优化方向发展,而且开发趋势更趋向于单枪匹马,在个人能力有限情况下,想要完成高级功能,只能用引入第三方的方法(目前市面上只有友盟做到了微社区功能)。
简介:微社区是指APP内部的独立的交流平台,类似于qq空间或者新浪微博
步骤:
1.进入友盟微社区官网:
https://wsq.umeng.com/communities/pro/home/
2.注册账号以及开通管理社区平台点击创建微社区
3.下载最新微社区Android版sdk
亮点来了:在微社区的api中模糊的叙述了如何添加Jar包进微社区的步骤,由于内部包也是冲突的,所以我们添加的时候一定不要按照友盟微社区的官方坑爹文档来
步骤如下:
一.加入以下jar包:
1.httpmime-4.1.3.jar
2.libammsdk.jar(微信相关jar包)
3.open_sdk_r5509.jar
4.SocialSDK_QQZone_3.jar
5.SocialSDK_Sina.jar
6.SocialSDK_WeiXin_2.jar
7.umeng_activeandroid.jar
8.umeng_community_location.jar
9.umeng_community_sdk_core.jar
10.umeng_community_sdk_login.jar
11.umeng_community_share.jar
12.umeng_social_sdk.jar
13.weiboSDKCore_3.1.4.jar
备注:
除此之外的包便不是必要的,(如果你的项目中有V4包在gradle架构中,那么只需要保留一个,如果你的项目中有相关微信支付,微信接口的jar包,那么你只需要保留 libammsdk.jar(微信相关jar包))因为其中有几个包相互有冲突,因此舍弃,至于相关定位,分享,第三方登录的依赖包均在上述包中。好!接下来把相关so库文件一并考入对应文件夹。
二:将所有依赖文件(drawable的图片,String的文件夹一一对应考入你的项目(注意String文件中有重名了的引用String,在加入完成运行的时候在慢慢删除))
三,选择如下两个文件夹,完整考入你的项目
说明:这是在官方文档中交代不清晰的地方,总让人误以为这两个包是二者选其一的,其实真正的目录应该是上图的样子。然后将二者包下面所有的
文件统统考入你的项目中对应的文件夹下。
接着在ActivityManifest 中进行配置
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="com.mktou.android.permission.JPUSH_MESSAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<application
android:name=".common.AppContext"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="UMENG_APPKEY"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" >
meta-data>
<meta-data
android:name="UMENG_MESSAGE_SECRET"
android:value="ab0ac7f61616d38ead8c03f2595e6fa6" >
meta-data>
<activity
android:name="com.umeng.comm.ui.activities.FindActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.commm.ui.activities.UserInfoActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.UserInfoActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.common.ui.activities.TopicPickActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.FeedsActivity"
android:alwaysRetainTaskState="true"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.TopicDetailActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.RelativeUserActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.PostFeedActivity"
android:configChanges="orientation|keyboardHidden"
android:exported="true"
android:windowSoftInputMode="stateHidden|adjustResize" >
activity>
<activity
android:name="com.umeng.comm.ui.activities.RelativeUserActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.ForwardActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.SearchActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.SearchTopicActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateVisible|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.FeedDetailActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name="com.umeng.comm.ui.activities.GuideActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity android:name="com.umeng.comm.ui.activities.SettingActivity" />
<activity android:name="com.umeng.common.ui.activities.SettingActivity" />
<activity android:name="com.umeng.comm.ui.activities.GuideBaseActivity" />
<activity android:name="com.umeng.comm.ui.activities.LikeUsersActivity" />
<activity android:name="com.umeng.community.login.LoginActivity" />
<activity android:name="com.umeng.comm.ui.activities.LocationFeedActivity" />
<activity
android:name="com.umeng.socialize.view.ShareActivity"
android:configChanges="orientation|keyboard"
android:launchMode="singleTask"
android:noHistory="true"
android:theme="@android:style/Theme.Dialog"
android:windowSoftInputMode="stateVisible|adjustResize" >
activity>
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent101135384" />
intent-filter>
activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity android:name="com.umeng.common.ui.activities.MessageChatActivity" />
<activity
android:name="wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity android:name="com.umeng.common.ui.activities.AlbumActivity" />
<activity android:name="com.umeng.comm.ui.activities.FollowedTopicActivity" />
<activity android:name="com.umeng.comm.ui.activities.NotificationActivity" />
<activity android:name="com.umeng.comm.ui.activities.NewMsgActivity" />
<activity android:name="com.umeng.common.ui.imagepicker.PhotoSelectorActivity" />
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="557e18d1afb32a69351be5abc7f1cd25" />
<activity
android:name="com.umeng.comm.ui.activities.BrowserActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
**注意:**如果没有集成友盟推送需要注销
<activity
android:name="com.umeng.socialize.view.ShareActivity"
android:configChanges="orientation|keyboard"
android:launchMode="singleTask"
android:noHistory="true"
android:theme="@android:style/Theme.Dialog"
android:windowSoftInputMode="stateVisible|adjustResize" >
activity>
结束语:这样的话,集成工作已经完成,那么如何使用呢,就需要大家详细阅读友盟微社区Api官方文档,另外,友盟微社区中的初始化工作,最好建立在你的Application中进行
备注:友盟微社区本来就矛盾多多,尤其是有一些自己重复的部分,例如Style 中的重复,String引用文件中的重复,需要大家细心剔除重复部分。最后上图: