Android 分享小结

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

在这里插入图片描述

一、导读

我们继续总结学习,温故知新。

鉴于前阵子有人问到分享相关的功能,说不知道在哪里注册,本文做一个收集整理。

本文主要介绍QQ、微信、新浪微博、支付宝、钉钉等几个国内主流三方分享平台,以及一些聚合分享平台。

二、微信 分享

微信开发平台
Android接入指南

  1. 注册 > 获取应用APPID
  2. 接入sdk

在build.gradle中添加

dependencies {
    api 'com.tencent.mm.opensdk:wechat-sdk-android:+'
}

项目的根 build.gradle 文件中,添加如下代码

buildscript {
    repositories {
        jcenter()       // 原有 jCenter 引用可继续保留
        mavenCentral()
    }
}

allprojects {
    repositories {
        jcenter()      // 原有 jCenter 引用可继续保留
        mavenCentral()
    }
}

配置AndroidManifest


  1. 接收微信的请求及返回值

在你的包名相应目录下新建一个 wxapi 目录,并在该 wxapi 目录下新增一个 WXEntryActivity 类,该类继承自 Activity


public class WXEntryActivity extends Activity implements IWXAPIEventHandler {

    private IWXAPI api;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        api = WXAPIFactory.createWXAPI(this, CorePackageConfig.APPINFO.WEIXIN_APPID, false);
        try {
            Intent intent = getIntent();
            api.handleIntent(intent, this);
        } catch (Exception e) {
        }
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        api.handleIntent(intent, this);
    }

    @Override
    public void onReq(BaseReq req) {
        // 微信发送请求到第三方应用时,会回调到该方法
    }

    @Override
    public void onResp(BaseResp baseResp) {

    }


}

mani

<activity
    android:name=".wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:exported="true"
    android:taskAffinity="填写你的包名"
    android:launchMode="singleTask">
</activity>

添加混淆

  1. 调试



    private final IWXAPI iwxapi;

    /**
     * 分享文本
     */
    @Override
    public void shareText(Activity activity, Entity Entity, ShareListener listener) {
        String shareText = Entity.getDesc();
        if (TextUtil.isEmpty(shareText)) {
            return;
        }

        WXTextObject textObj = new WXTextObject();
        textObj.text = shareText;

        WXMediaMessage msg = new WXMediaMessage();
        msg.mediaObject = textObj;
        msg.description = shareText;
        SendMessageToWX.Req req = new SendMessageToWX.Req();
        req.transaction = buildTransaction("text");
        req.message = msg;
        req.scene = getSendScene(Entity.getShare_type());
        iwxapi.sendReq(req);
        addOnStarListener(listener);
    }

三、 QQ 、QQ空间(Qzone) 分享

QQ互联官网
文档资料

  1. 注册 > 获取应用APPID
  2. 下载sdk
  3. 接入sdk
    将下载好的 open_sdk_xxx_lite.jar 拷贝到 lib目录下

在build.gradle中添加

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
}

配置AndroidManifest

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


<application>


 <activity
       android:name="com.tencent.tauth.AuthActivity"
       android:noHistory="true"
       android:launchMode="singleTask" >
    <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="tencent你的AppId" />
    </intent-filter>
 </activity>
<activity
       android:name="com.tencent.connect.common.AssistActivity"
       android:configChanges="orientation|keyboardHidden"
       android:screenOrientation="behind" 
       android:theme="@android:style/Theme.Translucent.NoTitleBar" />
       
       
       
       
       
<application>
  1. 调试
public class QQShareMediaAction {

    private final Tencent mTencent;

    public QQShareMediaAction(Activity activity) {
        mTencent = Tencent.createInstance(qqAppId(), activity.getApplicationContext(), "");
    }

    /**
     * 分享文本
     * QQ不支持分享纯文本
     */

    public void shareText(Activity activity, ShareEntity ShareEntity, ShareManager.CustomShareListener listener) {
        shareWeb(activity, ShareEntity, listener);
    }

    /**
     * 分享图片
     * 只支持本地图片
     */
    public void shareImage(Activity activity, ShareEntity ShareEntity, ShareManager.CustomShareListener listener) {
        String shareImgUrl = ShareEntity.getImg_url();
        if (ShareTextUtil.isEmpty(shareImgUrl) || !limitSize(ShareEntity.getImg_url(), listener)) {
            return;
        }
        
        Bundle params = new Bundle();
        params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);
        params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, shareImgUrl);
        mTencent.shareToQQ(activity, params, listener);
        addOnStarListener(listener);
    }

}

四、新浪微博

登录 新浪微博开放平台

移动客户端接入说明

Android SDK文档

授权回调页、取消授权回调页设置在应用信息—>高级信息,iOS应用具体位置参考下图注意这里的授权回调页需要和代码中的redirectURL参数保持一致bundle ID设置注意和工程保持一致

五、钉钉

登录 钉钉开放平台

钉钉分享介绍

六、支付宝

支付宝开放平台

使用支付宝账号登录,注册APP,点击应用 > 在功能信息中添加分享功能 > 最后申请上线审核,通过即可

七、企业微信

企业微信官方平台

要使用企业微信分享功能模块,需要先在企业微信官方平台注册企业账号,并建立iOS或者安卓端应用,启用 “企业微信授权登录” 接口

八、聚合分享平台

如umeng,极光等一些国内聚合的分享。

九、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

ddd

  • 88
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 67
    评论
Android Studio走马灯设计实验小结是一个有趣的实验项目,它可以帮助学生和开发人员了解如何在Android Studio中实现走马灯设计。下面是该实验的一些要点: 1. **理解走马灯的基本概念**:走马灯是一种在移动设备上显示动态图像的设计,通常用于展示连续的信息流。 2. **使用Android Studio创建新项目**:首先,你需要使用Android Studio创建一个新的Android项目。 3. **设计布局**:在活动布局中,你需要创建一个滚动列表或滚动视图,以显示走马灯的内容。你可以使用XML布局文件或代码来创建这个滚动视图。 4. **添加数据源**:你需要为滚动视图添加数据源,这通常是一个包含走马灯内容的列表或数组。 5. **设置适配器**:为了使滚动视图能够显示数据源中的内容,你需要设置一个适配器。你可以使用Java或Kotlin代码来实现这个适配器。 6. **实现滚动效果**:为了使走马灯看起来更流畅,你可以使用Android的动画效果来实现滚动效果。例如,你可以使用View动画或LayoutAnimationDescriptor。 7. **样式和主题设置**:你可以使用样式和主题来更改走马灯的外观,使其更具吸引力。 8. **测试和优化**:完成设计后,你需要测试你的走马灯应用程序以确保它正常工作,并对其进行优化以提高性能和用户体验。 9. **分享和发布**:最后,你可以将你的应用程序分享给其他人,并考虑将其发布到应用商店供其他人下载。 通过这个实验,你将学习到如何使用Android Studio创建走马灯应用程序,并了解如何使用代码来实现动态效果和滚动列表。此外,你还将学习到如何设置样式和主题来改进用户体验。这将是一个非常有益的实验,适合所有Android开发人员。
评论 67
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android西红柿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值