引导语:现在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引用文件中的重复,需要大家细心剔除重复部分。最后上图:

更多相关文章

  1. 安全新手入坑——HTML标签
  2. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  3. 一款常用的 Squid 日志分析工具
  4. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  5. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  6. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  7. Android(安卓)@+id与@id的区别
  8. 利用Hierarchy Viewer优化布局 ---》android布局文件优化
  9. Android(安卓)Pull方式解析XML

随机推荐

  1. Android的SQLite使用介绍
  2. Android双屏异显另辟蹊径---minui的移植
  3. 编译android部分模块
  4. 如何查看Android里面其他应用的数据
  5. Android 中的时间日期控件
  6. android TextView自定义字体样式
  7. Android适配器Adapter的学习
  8. MAC下编译arm架构的tcpdump
  9. android占位符使用
  10. Android Studio GitHub 提交项目代码