Android(安卓)app集成友盟微社区详细步骤
引导语:现在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引用文件中的重复,需要大家细心剔除重复部分。最后上图:
更多相关文章
- 安全新手入坑——HTML标签
- Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- Android(安卓)@+id与@id的区别
- 利用Hierarchy Viewer优化布局 ---》android布局文件优化
- Android(安卓)Pull方式解析XML