Parcourir la source

集成分享功能

316044749 il y a 7 ans
Parent
commit
254f93765b

+ 1 - 1
app/build.gradle

@@ -11,7 +11,7 @@ android {
         javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
 
         ndk {
-            abiFilters 'armeabi-v7a', 'x86'//, 'armeabi-v7a', 'x86_64', 'arm64-v8a', mips, mips64...加入需要生成的文件夹
+            abiFilters 'armeabi-v7a'//, 'armeabi-v7a', 'x86_64', 'arm64-v8a', mips, mips64...加入需要生成的文件夹
         }
     }
 

BIN
app/libs/umeng_social_shareboard.jar


+ 23 - 3
app/src/main/java/com/ynstkz/shitu/android/activity/CourseDetailActivity.java

@@ -6,7 +6,7 @@ import android.support.annotation.Nullable;
 import android.support.v4.view.ViewPager;
 import android.text.TextUtils;
 import android.view.View;
-import android.webkit.WebView;
+import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
@@ -18,6 +18,7 @@ import com.ynstkz.shitu.android.bean.CourseDetilBean;
 import com.ynstkz.shitu.android.data.RequestGroup;
 import com.ynstkz.shitu.android.data.SharedPreferencesUtils;
 import com.ynstkz.shitu.android.data.UrlCat;
+import com.ynstkz.shitu.android.helper.UmengShareHelper;
 
 import butterknife.Bind;
 import okhttp3.Call;
@@ -43,8 +44,13 @@ public class CourseDetailActivity extends TitleBarActivity {
     TextView tvPrice;
     @Bind(R.id.tv_apply)
     TextView tvApply;
+    @Bind(R.id.iv_collect)
+    ImageView ivCollect;
+    @Bind(R.id.iv_share)
+    ImageView ivShare;
 
     private String courseId;
+    private CourseDetilBean courseDetilBean;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -80,17 +86,30 @@ public class CourseDetailActivity extends TitleBarActivity {
         tvApply.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                if(!isLogin()){
+                if (!isLogin()) {
                     startActivity(new Intent(CourseDetailActivity.this, LoginActivity.class));
                     return;
                 }
                 Intent intent = new Intent(CourseDetailActivity.this, WebViewActivity.class);
                 intent.putExtra("title", "报名信息");
-                intent.putExtra("url", UrlCat.URL_APPLY_P43+"?userId=" +
+                intent.putExtra("url", UrlCat.URL_APPLY_P43 + "?userId=" +
                         SharedPreferencesUtils.getUserId() + "&token=" + SharedPreferencesUtils.getToken());
                 startActivity(intent);
             }
         });
+
+        /**
+         * 分享
+         */
+        ivShare.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if(courseDetilBean != null){
+                    UmengShareHelper.show(CourseDetailActivity.this, courseDetilBean.getData().getTitle(), courseDetilBean.getData().getDetail(),
+                            "http://www.baidu.com", courseDetilBean.getData().getCoursePic());
+                }
+            }
+        });
     }
 
     /**
@@ -116,6 +135,7 @@ public class CourseDetailActivity extends TitleBarActivity {
                 CourseDetilBean courseDetilBean = (CourseDetilBean) response;
                 if (courseDetilBean != null) {
                     if ("200".equals(courseDetilBean.getCode()) && courseDetilBean.getData() != null) {
+                        CourseDetailActivity.this.courseDetilBean = courseDetilBean;
                         initCourseDetail(courseDetilBean);
                     } else {
                         showToast(courseDetilBean.getMsg());

+ 12 - 0
app/src/main/java/com/ynstkz/shitu/android/activity/OrgDetailActivity.java

@@ -31,6 +31,7 @@ import com.ynstkz.shitu.android.common.Constants;
 import com.ynstkz.shitu.android.data.RequestGroup;
 import com.ynstkz.shitu.android.data.UrlCat;
 import com.ynstkz.shitu.android.exter.GlideRoundTransform;
+import com.ynstkz.shitu.android.helper.UmengShareHelper;
 import com.ynstkz.shitu.android.view.ListViewForScrollView;
 
 import java.util.Date;
@@ -158,6 +159,17 @@ public class OrgDetailActivity extends TitleBarActivity {
                 }
             }
         });
+
+        /**
+         * 分享
+         */
+        ivShare.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                UmengShareHelper.show(OrgDetailActivity.this, dataBean.getMemberName(), dataBean.getIntroduction(),
+                        "http://www.baidu.com", dataBean.getHeadPic());
+            }
+        });
     }
 
     /**

+ 3 - 3
app/src/main/java/com/ynstkz/shitu/android/bean/OrgDetailBean.java

@@ -26,7 +26,7 @@ public class OrgDetailBean extends BaseBean{
         private int scoreCount;
         private int collectCount;
         private String memberName;
-        private Object headPic;
+        private String headPic;
         private int score;
         private String phone;
         private int viewCount;
@@ -69,11 +69,11 @@ public class OrgDetailBean extends BaseBean{
             this.memberName = memberName;
         }
 
-        public Object getHeadPic() {
+        public String getHeadPic() {
             return headPic;
         }
 
-        public void setHeadPic(Object headPic) {
+        public void setHeadPic(String headPic) {
             this.headPic = headPic;
         }
 

+ 66 - 0
app/src/main/java/com/ynstkz/shitu/android/helper/UmengShareHelper.java

@@ -0,0 +1,66 @@
+package com.ynstkz.shitu.android.helper;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.BitmapFactory;
+import android.text.TextUtils;
+
+import com.umeng.socialize.ShareAction;
+import com.umeng.socialize.UMShareListener;
+import com.umeng.socialize.bean.SHARE_MEDIA;
+import com.umeng.socialize.media.UMImage;
+import com.umeng.socialize.media.UMWeb;
+import com.ynstkz.shitu.android.R;
+
+/**
+ * 作者:fuchangle on 2018/3/28 10:13
+ */
+
+public class UmengShareHelper {
+
+    private static UMWeb umWeb = null;
+
+    public static void show(Activity mContext, String title, String content, String share_url, String imageUrl){
+        final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] {
+                SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA,
+                SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE
+        };
+        UMImage umImage;
+        if (!TextUtils.isEmpty(imageUrl) && imageUrl.startsWith("http")) {
+            umImage = new UMImage(mContext, imageUrl);
+        } else {
+            umImage = new UMImage(mContext, BitmapFactory.decodeResource(mContext.getResources(), R.drawable.logo));
+        }
+        umWeb = new UMWeb(share_url);
+        umWeb.setTitle(title);
+        umWeb.setThumb(umImage);
+        umWeb.setDescription(content);
+
+        new ShareAction(mContext).setDisplayList(displaylist)
+            .withMedia(umWeb)
+            .setCallback(umShareListener)
+            .open();
+    }
+
+   public static UMShareListener umShareListener = new UMShareListener() {
+       @Override
+       public void onStart(SHARE_MEDIA share_media) {
+
+       }
+
+       @Override
+       public void onResult(SHARE_MEDIA share_media) {
+
+       }
+
+       @Override
+       public void onError(SHARE_MEDIA share_media, Throwable throwable) {
+
+       }
+
+       @Override
+       public void onCancel(SHARE_MEDIA share_media) {
+
+       }
+   };
+}

+ 49 - 3
app/src/main/res/layout/activity_course_detail.xml

@@ -5,9 +5,56 @@
     android:layout_height="match_parent"
     android:background="@color/default_bg">
 
-    <include
+    <RelativeLayout
         android:id="@+id/view_title"
-        layout="@layout/view_title"/>
+        android:layout_width="match_parent"
+        android:layout_height="?attr/actionBarSize"
+        android:background="@color/colorPrimary">
+
+        <ImageView
+            android:id="@+id/iv_back"
+            android:layout_width="@dimen/company_20dp"
+            android:layout_height="@dimen/company_20dp"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="@dimen/company_10dp"
+            android:src="@drawable/back_icon"/>
+
+        <TextView
+            android:id="@+id/tv_title"
+            style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerInParent="true"
+            android:lines="1"
+            android:ellipsize="end"
+            android:scrollHorizontally="true"
+            android:textColor="@color/white"/>
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:paddingRight="@dimen/company_20dp"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/iv_collect"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/collect_icon"/>
+
+            <ImageView
+                android:id="@+id/iv_share"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:paddingLeft="@dimen/company_15dp"
+                android:paddingRight="@dimen/company_10dp"
+                android:src="@drawable/share_icon"/>
+
+        </LinearLayout>
+
+    </RelativeLayout>
 
     <ScrollView
         android:layout_width="match_parent"
@@ -89,7 +136,6 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/company_5dp"
-                    android:text="新东方创办于1993年,23年专注教育培训,累积培训学员超过2000万,从早教到成人,业务涵盖早教、学前、小学、中学、四六级、考研、出国考试、留学咨询、英语能力提升、国际游学、国际教育、图书、网络课堂等60多所学校,30000多名教职员工,旨在为学员提供一站式终身学习服务"
                     android:textColor="@color/color_666"
                     android:textSize="@dimen/company_14sp" />
 

+ 3 - 2
app/src/main/res/layout/activity_org_detail.xml

@@ -43,13 +43,14 @@
                 android:id="@+id/iv_collect"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@drawable/collect_icon"
-                android:layout_marginRight="@dimen/company_15dp"/>
+                android:src="@drawable/collect_icon"/>
 
             <ImageView
                 android:id="@+id/iv_share"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:paddingLeft="@dimen/company_15dp"
+                android:paddingRight="@dimen/company_10dp"
                 android:src="@drawable/share_icon"/>
 
         </LinearLayout>

+ 25 - 0
app/src/main/res/layout/socialize_share_menu_item.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <com.umeng.socialize.shareboard.SocializeImageView
+        android:id="@+id/socialize_image_view"
+        android:layout_width="50dp"
+        android:layout_height="50dp"
+        android:padding="5dp"
+        android:src="@drawable/umeng_socialize_menu_default" />
+
+    <TextView
+        android:id="@+id/socialize_text_view"
+        android:layout_width="63dp"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:ellipsize="end"
+        android:singleLine="true"
+        android:text="未知"
+        android:textSize="12sp" />
+
+</LinearLayout>