【android】开源一个企业通讯录app
软件背景:该app不是替代手机通讯录,而是对其一种补充。项目只是通讯录客户端,数据源是访问本地、还是访问远程服务器,由你来实现
开源地址:http://git.oschina.net/yso/SmartCall
已经开了本地版的分支:Local
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的更多相关文章
- 【企业通讯录app番外篇】怎么样创建服务端?
本文将指导大家如何去创建企业通讯录app的服务端 除了获取图片,客户端与服务端唯一的交互就是获取最新数据,如果该用户不能获取数据(用户名密码错误.用户离职被删)则返回空. 1:典型的交互流程如下: 用 ...
- Android Studio 一个完整的APP实例(附源码和数据库)
前言: 这是我独立做的第一个APP,是一个记账本APP. This is the first APP, I've ever done on my own. It's a accountbook APP ...
- 个人收集的Android开源项目
1. KnowWeather 下载:GitHub 一款 Android 开源天气 App ,包含天气信息.详情.生活指数等,通知栏,桌面小部件,定时更新天气等等,应用没有任何广告,支持县级.区级城市的 ...
- Android应用系列:手把手教你做一个小米通讯录(附图附源码)
前言 最近心血来潮,突然想搞点仿制品玩玩,很不幸小米成为我苦逼的第一个试验品.既然雷布斯的MIUI挺受欢迎的(本人就是其的屌丝用户),所以就拿其中的一些小功能做一些小demo来玩玩.小米的通讯录大家估 ...
- 打造一个高逼格的android开源项目——小白全攻略 (转)
转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...
- 9个完整android开源app项目
一.photoup 介绍: photoup 是一款开源的相册类app,主要功能是将本地图片提交到facebook上去,虽然他的功能和facebook的远程服务相关,但是本身是可以被当作一款 相册应用的 ...
- Android Studio新建一个HelloWorld 程序(App)
Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...
- (福利)分享一个用android编写的简单的APP——爱吖天气
这是本人随便编写的一个天气的APP,超级简单. 项目已同步至:https://github.com/nanchen2251/AiYaWeatherDemo 基本实现了天气查看,闪屏引导,天气基本信息, ...
- Android开源项目分类汇总
目前包括: Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...
随机推荐
- powershell---高级函数的介绍
https://guhuajun.wordpress.com/2009/05/11/windows-powershell-v2-介绍(5)-高级函数(上)/ https://guhuajun.word ...
- iOS UIWebView 获取内容实际高度,关闭滚动效果
本文转载至 http://my.oschina.net/Khiyuan/blog/341535 iOS UIWebView 获取内容实际高度,关闭滚动效果 近期做东西,将 UIWebView 嵌套 ...
- webpack报错no postcss config...
终端里运行的错误: 查了好多资料,最后找到解决办法,改为: const webpack = require('webpack'); // const autoprefixer = require('a ...
- 160304-02、JS 中如何判断null 和undefined
JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正确的用法: var exp = undef ...
- 使用Ansible自动配置JDK环境
1.首先安装好Ansible环境,具体步骤请见Ansible安装 2.先创建hosts文件(为后面编写脚本安装JDK做铺垫) [root@localhost /]# vi hosts [jdktest ...
- Arcengine 二次开发得到点shapefile的坐标
做二次开发的时候,想要得到Point shapfile的坐标和相应的属性,也就是Point 的(x,y)和某个属性,在网上查了一些资料,做总结如下 首先,你要确定自己要操作的图层,一般来说,得到当前操 ...
- varints
Protocol Buffer技术详解(数据编码) - Stephen_Liu - 博客园 https://www.cnblogs.com/stephen-liu74/archive/2013/01/ ...
- 并发编程 - IO模型 - 1.io模型/2.阻塞io/3.非阻塞io/4.多路复用io
1.io模型提交任务得方式: 同步:提交完任务,等结果,执行下一个任务 异步:提交完,接着执行,异步 + 回调 异步不等结果,提交完任务,任务执行完后,会自动触发回调函数同步不等于阻塞: 阻塞:遇到i ...
- HTML容易遗忘内容(二)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> ...
- java组件学习15天
Linuxdocker redminegitlabnginxmavenkibanakafkaspringspring cloudLucene 搭建基本使用