Android实战【仿探探陌生社交APP】

APP整体介绍

这是一款主打 左右滑动匹配朋友圈即时通讯陌生社交APP(代码简单,每个功能直接调用即可,方便移植)

现在的陌生社交APP很火,比较出名的有国内的探探、国外的Tinder,当然还有一些其他的一些卡片滑动交友APP,大家很喜欢这样的产品,所以我们开发者也要把握这次机会,打造出属于自己的一款陌生社交APP!!!

此次介绍的项目就是仿照以上的特点做的一款APP,服务器使用的是Bmob移动云服务平台,优点就是免费、集成到项目方便、不需要买服务器什么的,通过配置一个key就能完成数据交互,很方便(不是在打广告…打了广告他们也不会给我广告费,但是确实对于中小开发者还是很有用的)!!

下面让我们来看APP的详细介绍:先看图,无图说个叽霸!!!

主页

主界面就是用户的展示头像、以及年龄和签名,左滑是不喜欢,友滑是喜欢,当然对方也右滑了你,相互喜欢才会匹配成功哦!
玩法就不用我多介绍的,相信大家比我清楚!!!!

我们来简单的看看匹配过程的处理回调(具体可下载源码查看)

 /*** 滑动操作结果返回统一处理* @param success* @param user*/@Overridepublic void onPairResult(boolean success,User user) {if (success){AppToast.show(getActivity(),"您和"+user.getUsername()+"匹配成功了");}}
}

如果你们两个互相喜欢了,就是互相右滑了对方,则是匹配成功,匹配成功就成为好友,我们在回调里提示一下就行,因为成为好友的操作已经在接口里完成了,(MVP模式),我们在主Activtiy实现这个借口就行了,或者自己做一个匹配成功的特效,看你个人喜欢了, 然后我们来到好友列表!
继续看图:

聊天列表介绍

聊天列表显示所有匹配后的好友,这个页面实现很简单,就是两个列表,上边是RecyclerView,下边是ListView

好友列表界面展示匹配后的所有好友,点击头像就进入聊天界面了哦,打开聊天界面很简单,只需传入对方的用户名就可以了哦,看代码:

/*** 进入聊天页面 传入用户名即可** @param position*/
private void enterChatActivity(final int position) {ChatKit.getInstance().open(list.get(position).getUsername().get(0), new ClientCallback() {@Overridepublic void done(Client client, AVIMException e) {if (null == e) {Intent intent = new Intent(getContext(), ConversationActivity.class);intent.putExtra(LCIMConstants.PEER_ID, BmobUser.getCurrentUser(User.class).getUsername());intent.putExtra("username", list.get(position).getUsername().get(0));startActivity(intent);} else {Toast.makeText(getContext(), e.toString(), Toast.LENGTH_SHORT).show();}}});
}

list.get(position).getUsername().get(0) 就是获取的点击后的用户名,list就是获取到好友列表的集合。

然后,我们看看

聊天的界面

**它是一款快速IM聊天组件 ,使用很简单吧,具体内容看源码学习吧

删除好友

看图

/*** 删除好友* @param objid*/
private void doDeleteFriend(String objid) {Friend post = new Friend();post.setObjectId(objid);post.remove("whichs");post.update(new UpdateListener() {@Overridepublic void done(BmobException e) {if (e == null) {Toast.makeText(getContext(), "删除成功", Toast.LENGTH_SHORT).show();get_Friend();} else {Log.e("BMOB", e.toString());Toast.makeText(getContext(), "删除失败" + e.toString(), Toast.LENGTH_SHORT).show();}}});}

删除好友秩序传入要删除用户的objid即可,直接调用!

继续,我们来看

个人页面

包括 个人资料修改,头像更换、签名、年龄的更改

个人很喜欢毛玻璃效果,整体是不是很简洁大方,谁喜欢了我目前没实现,以弹窗代替,这个功能后续完成!

继续看

分享、更改个人信息

具体的分享可以在点击事件后按照自己项目的需求实现哦

然后看个人资料修改:

然后是

动态界面

动态界面未在此项目中,而是在bmob源码市场中的另一个项目《朋友圈》中。这个朋友圈项目购买tantan后免费送的,地址是:【朋友圈】 ,朋友圈包括了全套的个人、多图发帖、评论、分享、系统。

在项目的体验地址也有视频介绍,相信两个项目一定能让你学到很多!!!

源码下载

【源码】

项目用到的是Bmob未服务端,所以项目托管在源码平台,有需要的朋友可以下载学习哦!

Android实战【仿探探陌生社交APP】相关推荐

  1. Flutter高级进阶实战 仿哔哩哔哩APP学习笔记

    Flutter高级进阶实战 仿哔哩哔哩APP学习笔记 近年来各大公司对Flutter技能的要求越来越高,甚至设立了专门岗位,但掌握Flutter高阶技能的人才寥寥无几,市面上干货Flutter高阶课程 ...

  2. Android项目仿驾校宝典的答题APP

    首先看到的是这款APP,它的外形如下图所示: 当我们第一次安装该软件时,第一次打开,进入的是导航页面,导航页面采用的是ViewPager+viewpagerindicator+Activity实现侧滑 ...

  3. Android移动开发之【Android实战项目】记一次app开发过程!

    跟大家分享一下过程,经验(干货). 文章目录 一.开发环境选择: 1.AndoridStudio比Eclipse 2.AndroidStudio和Eclipse不同点总结 二.遇到的问题and经验分享 ...

  4. jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?

    文章目录 Pre 案例背景 高并发查询导致对象快速进入老年代 老年代必然会触发频繁GC 优化前的线上系统JVM参数 频繁Full GC导致的大量内存碎片 如何进行优化? 思考题 Pre 这篇文章开始, ...

  5. 继安卓市场下架后 探探App也在苹果商店下架

    [TechWeb]此前,陌生社交App探探遭遇各大安卓应用市场下架处理,原因是传播淫秽色情等违规违法信息. 目前,探探在苹果商店也遭到下架处理,苹果用户也搜索不到该App. 下架处理后,探探方面曾回应 ...

  6. Android实战第二篇——模仿社交软件探探(一)

    这是我的第二篇实战,相比于第一篇的看视频模仿着实战,这一篇完全是自己的实战,不借助任何视频教程,看视频的实战是在抄代码,而这一篇是完全自己构思,自己去解决问题的,这次的实战是仿照一个社交软件探探,该篇 ...

  7. Android仿探探社交自定义闪聊动画效果

    需要实现的效果图如探探 ### 主要实现方式 就是一个自定义控件,循环的去画圆,在圆半径增加的时候,找到圆上的3个点,然后把图片画上对应的坐标,半径越大,透明度越高 * 这里用到了一些数学知识* 求圆 ...

  8. android仿陌陌tab,Vue|Nuxt.js仿探探卡片式左右拖拽|vue仿Tinder

    开场技术宅男对探探/陌陌并不陌生,一款专注于陌生人的社交App.里面的左右滑动翻牌子效果更是让人眼前一亮,似乎有一种古时君王选妃子的感觉.让人玩的爱不释手. 一睹风采 哈哈,效果还行吧.下面就简单的讲 ...

  9. Android横向滚动卡片,Android仿探探卡片式滑动效果实现

    前言 第一次进入探探软件界面,就被这种通过卡片式滑动来选择"喜欢/不喜欢"的设计所吸引了.当时就非常想通过自己来实现这种仿探探式的效果,然而却没什么思路.不过毋庸置疑的是,这种效果 ...

  10. iOS APP开发项目案例(仿探探优化)--FaceFriend

    源码请到Github上下载Github源码. ios开发的基本知识:OC语言基础.Foundation基础框架.各个控件的UI界面编程(UITableView.UINavigationControll ...

最新文章

  1. 一步一步学Silverlight 2系列(3):界面布局
  2. ZooKeeper的基本原理
  3. [游戏模版21] Win32 物理引擎 能量守恒
  4. JavaScriptCore API 和V8 API
  5. 【转】ARM 之七 主流编译器(armcc、iar、gcc for arm、LLVM(clang))详细介绍
  6. 三菱m70刀杯上下m代码_加工中心常用G代码和M代码大全,收藏好了
  7. window系统下的堆栈溢出 作者:ipxodi
  8. Magento 1.9.2 Unknown cipher in list: TLSv1
  9. php 数组 键值 初始化,PHP 自定义键值数组
  10. 50-20-190-配置-Flink 配置文件详解-flink-conf.yaml
  11. 二级计算机java2017级_2017计算机等级二级考试java练习题及答案
  12. javascript焦点图(能够自己主动切换 )
  13. 图片放大缩小旋转左移右移镜像倒影android
  14. 详解animate.css动画插件用法
  15. 【java期末复习题】第15章 JDBC数据库编程
  16. 2020编程入门先学什么
  17. Bootstrap小图标
  18. java poi word 复制_java poi实现word导出(包括word模板的使用、复制表格、复制行、插入图片的使用)...
  19. 计算机视觉文献综述选题,机器视觉文献综述.doc
  20. 零雨其蒙:Practicing Test-Driven Development by Example Using Delphi

热门文章

  1. java mybatisplus Error parsing time stamp
  2. MacBook安装虚拟机VMware Fusion
  3. 中国邮递员问题+代码实现(cpp)
  4. iPhone 12面容ID解锁设置
  5. 远程时间管理软件 - 工时通
  6. 手把手教你关闭iphone系统自动下载(新增IOS11描述性文件地址)
  7. 计算机中三大总线:地址总线、数据总线、控制总线
  8. 黎活明给程序员的忠告 (必藏经典)
  9. 房产中介管理系统的开发(附源码)
  10. 计算机输入法知识讲解,第一讲计算机基础知识及微软拼音输入法