Android最全自定义ShareSDK分享平台界面,2024年最新3年Android开发工程师面试经验分享

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021最新上万页的大厂面试真题

七大模块学习资料:如NDK模块开发、Android框架体系架构…

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。

这份体系学习笔记,适应人群:
**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。
**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。
**第三,**到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。

由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

// 实例化一个ColorDrawable颜色为半透明

ColorDrawable dw = new ColorDrawable(0xb0000000);

// 设置SelectPicPopupWindow弹出窗体的背景

this.setBackgroundDrawable(dw);

gridView.setOnItemClickListener(new ShareItemClickListener(this));

}

private class ShareItemClickListener implements OnItemClickListener {

private PopupWindow pop;

public ShareItemClickListener(PopupWindow pop) {

this.pop = pop;

}

@Override

public void onItemClick(AdapterView<?> parent, View view, int position,

long id) {

share(position);

pop.dismiss();

}

}

/**

  • 分享

  • @param position

*/

private void share(int position) {

if (position == 1) {

qq();

} else if (position == 4) {

qzone();

} else if(position==5){

shortMessage();

}else{

Platform plat = null;

plat = ShareSDK.getPlatform(context, getPlatform(position));

if (platformActionListener != null) {

plat.setPlatformActionListener(platformActionListener);

}

plat.share(shareParams);

}

}

/**

  • 初始化分享参数

  • @param shareModel

*/

public void initShareParams(ShareModel shareModel) {

if (shareModel != null) {

ShareParams sp = new ShareParams();

sp.setShareType(Platform.SHARE_TEXT);

sp.setShareType(Platform.SHARE_WEBPAGE);

sp.setTitle(shareModel.getText());

sp.setText(shareModel.getText());

sp.setUrl(shareModel.getUrl());

sp.setImageUrl(shareModel.getImageUrl());

shareParams = sp;

}

}

/**

  • 获取平台

  • @param position

  • @return

*/

private String getPlatform(int position) {

String platform = “”;

switch (position) {

case 0:

platform = “Wechat”;

break;

case 1:

platform = “QQ”;

break;

case 2:

platform = “SinaWeibo”;

break;

case 3:

platform = “WechatMoments”;

break;

case 4:

platform = “QZone”;

break;

case 5:

platform = “ShortMessage”;

break;

}

return platform;

}

/**

  • 分享到QQ空间

*/

private void qzone() {

ShareParams sp = new ShareParams();

sp.setTitle(shareParams.getTitle());

sp.setTitleUrl(shareParams.getUrl()); // 标题的超链接

sp.setText(shareParams.getText());

sp.setImageUrl(shareParams.getImageUrl());

sp.setComment(“我对此分享内容的评论”);

sp.setSite(shareParams.getTitle());

sp.setSiteUrl(shareParams.getUrl());

Platform qzone = ShareSDK.getPlatform(context, “QZone”);

qzone.setPlatformActionListener(platformActionListener); // 设置分享事件回调 //

// 执行图文分享

qzone.share(sp);

}

private void qq() {

ShareParams sp = new ShareParams();

sp.setTitle(shareParams.getTitle());

sp.setTitleUrl(shareParams.getUrl()); // 标题的超链接

sp.setText(shareParams.getText());

sp.setImageUrl(shareParams.getImageUrl());

sp.setComment(“我对此分享内容的评论”);

sp.setSite(shareParams.getTitle());

sp.setSiteUrl(shareParams.getUrl());

Platform qq = ShareSDK.getPlatform(context, “QQ”);

qq.setPlatformActionListener(platformActionListener);

qq.share(sp);

}

/**

  • 分享到短信

*/

private void shortMessage() {

ShareParams sp = new ShareParams();

sp.setAddress(“”);

sp.setText(shareParams.getText()+“这是网址《”+shareParams.getUrl()+“》很给力哦!”);

Platform circle = ShareSDK.getPlatform(context, “ShortMessage”);

circle.setPlatformActionListener(platformActionListener); // 设置分享事件回调

// 执行图文分享

circle.share(sp);

}

}

2.显示九宫格的ShareAdapter .java

/*

  • @Title: ShareAdapter.java

  • @Copyright: XXX Co., Ltd. Copyright YYYY-YYYY, All rights reserved

  • @data: 2014-7-21 下午2:30:32

  • @version: V1.0

*/

package com.example.sharesdk;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

/**

  • TODO< 分享弹出框Adapter >

  • @data: 2014-7-21 下午2:30:32

  • @version: V1.0

*/

public class ShareAdapter extends BaseAdapter {

private static String[] shareNames = new String[] {“微信”, “QQ”, “微博”,“朋友圈”, “QQ空间”, “短信”};

private int[] shareIcons = new int[] {R.drawable.sns_weixin_icon, R.drawable.sns_qqfriends_icon, R.drawable.sns_sina_icon,R.drawable.sns_weixin_timeline_icon,

R.drawable.sns_qzone_icon,R.drawable.short_message_nor};

private LayoutInflater inflater;

public ShareAdapter(Context context)

{

inflater = LayoutInflater.from(context);

}

@Override

public int getCount()

{

最后

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。**

[外链图片转存中…(img-itI7cmfX-1715248418539)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值