软件背景:该app不是替代手机通讯录,而是对其一种补充。项目只是通讯录客户端,数据源是访问本地、还是访问远程服务器,由你来实现

开源地址:http://git.oschina.net/yso/SmartCall

已经开了本地版的分支:Local

喜欢上手体验的可以先用本地版apk

快速搭建服务端指导

1:如果公司人数很多,是否其他人打电话给你,你不知道是谁,有点尴尬?

咱提供了来电监听,如果不在本地通讯录,且在企业通讯录中,就会显示一个悬浮窗,显示用户头像、名字、职位,一目了然

2:怎么样快速添加公司同事呢?

咱一键搞定,推送数据包括:头像、公司、部门、职位、家庭电话、公司电话

----》导入到本地之后,在本地通讯录是这样

OK,来个gif,大家看下这app是什么德行的

常用通讯录的功能也都有

操作很简单:短按查看详情,长按拨打,下拉刷新数据。引导界面会提示的哦

关于如何获取用户数据,咱现在做成了http通过账户名、密码来访问一个url,如果返回空,则判断用户登陆失败,否则返回json数据。

一个典型的json数据格式:

{"UserName":"亚索","Company":"公司","Department":"部门","JobTitle":"职位","Phone":"手机号1","ShortPhone":"手机号2","AvatarURL":"http://img3.imgtn.bdimg.com/it/u=3453505788,3092499547&fm=11&gp=0.jpg"}

通过这个项目咱可以学习到

1:json、sqlite数据格式的灵活运用

2:自定义全局下拉通知栏怎么实现

3:不用轮询的高并发线程池如何运用在图片下载、加载图片上

4:如何使用最新的recyclerView实现通讯录列表(带首字母)

5:使用ContentProvider访问通讯录联系人

6:监听来电广播,实现悬浮窗

7:其他等等。。

欢迎各位fork、star

nodeJs版本服务器demo下载地址需要安装restify

【android】开源一个企业通讯录app的更多相关文章

  1. 【企业通讯录app番外篇】怎么样创建服务端?

    本文将指导大家如何去创建企业通讯录app的服务端 除了获取图片,客户端与服务端唯一的交互就是获取最新数据,如果该用户不能获取数据(用户名密码错误.用户离职被删)则返回空. 1:典型的交互流程如下: 用 ...

  2. Android Studio 一个完整的APP实例(附源码和数据库)

    前言: 这是我独立做的第一个APP,是一个记账本APP. This is the first APP, I've ever done on my own. It's a accountbook APP ...

  3. 个人收集的Android开源项目

    1. KnowWeather 下载:GitHub 一款 Android 开源天气 App ,包含天气信息.详情.生活指数等,通知栏,桌面小部件,定时更新天气等等,应用没有任何广告,支持县级.区级城市的 ...

  4. Android应用系列:手把手教你做一个小米通讯录(附图附源码)

    前言 最近心血来潮,突然想搞点仿制品玩玩,很不幸小米成为我苦逼的第一个试验品.既然雷布斯的MIUI挺受欢迎的(本人就是其的屌丝用户),所以就拿其中的一些小功能做一些小demo来玩玩.小米的通讯录大家估 ...

  5. 打造一个高逼格的android开源项目——小白全攻略 (转)

    转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...

  6. 9个完整android开源app项目

    一.photoup 介绍: photoup 是一款开源的相册类app,主要功能是将本地图片提交到facebook上去,虽然他的功能和facebook的远程服务相关,但是本身是可以被当作一款 相册应用的 ...

  7. Android Studio新建一个HelloWorld 程序(App)

    Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...

  8. (福利)分享一个用android编写的简单的APP——爱吖天气

    这是本人随便编写的一个天气的APP,超级简单. 项目已同步至:https://github.com/nanchen2251/AiYaWeatherDemo 基本实现了天气查看,闪屏引导,天气基本信息, ...

  9. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

随机推荐

  1. 配置使用TargetFrameworks输出多版本类库

    1.类库右键 2.修改配置 修改前: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Targe ...

  2. 在visual studio中运行C++心得

    1.在visual studio中建立C++项目 (1)新建->项目->空项目 C++ (2)右击项目->添加->新建项->C++文件(.app) (3编写C++文件   ...

  3. MD5骨骼动画模型加载

    前面我们分析了静态模型OBJ格式,桢动画模型MD2,这篇主要分析骨骼动画MD5的一些概念并且实现. 混合桢动画有计算简单,容易实现等优点,但是在需要比较细致的效果时,则需要更多的关键桢,每桢都添加相同 ...

  4. box-sizing在什么情况下会失效

    众所周知,box-sizing是将w3c盒模型与IE盒模型相互转换的利器,但是有时候也会失效,那么在什么情况下回失效呢,MD在没设置高度的时候回失效的透透的,所以一定记得需要转换的时候设置个高度!!!

  5. jqGrid设置符合条件的行选中

    1.描述:在loadComplete的时候,符合zoneCode列不为null的被选中,第一列为zoeCode2.问题:已经获取到zoneCode不为null的列,但是该行一直没有选中.3.截图:4. ...

  6. 【BZOJ2037】[Sdoi2008]Sue的小球 区间DP+费用提前

    [BZOJ2037][Sdoi2008]Sue的小球 Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而 ...

  7. .net winform 调用类中的webbrowser 报错:当前线程不在单线程单元中,因此无法实例化 ActiveX

    遇到这个恶心的问题纠缠得不要不要的,大家遇到了的话希望不要走弯路,经过这个折腾让我有点怀疑人生了.哈哈哈 解决代码如下: //插入一个新线程用于处理验证码 Thread thd = new Threa ...

  8. Python--进阶处理8

    # ====================第八章:类与对象========================= # --------------改变对象的字符串显示------------------ ...

  9. 忽略UserInterfaceState.xcuserstate

    GIT忽略iOS项目UserInterfaceState.xcuserstate   1.删除仓库中跟踪的UserInterfaceState.xcuserstate git rm --cached ...

  10. [genome shell]标题栏优化

    参考地址:https://wiki.archlinux.org/index.php/GNOME_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#.E4.BB.8E.E5. ...