Skip to content

Shmilyz/Swap

Repository files navigation

Swap

UI方面基于Material Design进行搭建,并运用大量Material Design相关控件如drawerlayout等。

广播接收器接受系统广播,和使用本地广播提醒app网络的开启与关闭。以及碎片之间,服务于活动之间的交互。

利用内容提供器读取手机联系人,相册等。

开启服务,并创建定时任务,按照定时时间向服务器请求数据并保存至本地,达到缓存效果,减少用户等待时间。

使用ListeView显示搜索推荐选项。

为提升运行效率,大量使用RecyclerView,实现网格或瀑布等效果。

首页使用开源xRecyclerView控件,实现下拉刷新,上拉加载更过功能,通过改变sql语句limit实现限制加载数量。

大量使用碎片,动态加载碎片,以及碎片与activity,碎片与碎片之间通信。

大量使用SharedPreferences功能,带着数据在各活动之间传递。

采用开源LitePal对用户最近搜索,对省市区等进行保存。

使用运行时权限,对联网,访问通讯录,调用相机,定位等敏感权限进行管理,保证兼容。

访问用户的相册,并保存用户所选照片的路径。调用系统相机为用户提供拍照,为6.0以上用户调用相机并显示所提供的provider。

简单使用WebView展示网页,控件progressBar显示加载过程。

由于Swap所有数据图片来源云服务器,所以大量使用Xutils,ok3开源访问网络魔域服务器进行交互。

与服务器的交互得到大量Json数据,采用Gson开源,并配合GsonFormat 插件的使用,更方便容易的解析数据。

对于少量的json,采用原始JSONArray和JSONObject进行解析。

由于图片都保存到云服务器,大量使用采用性能更稳定的Glide进行网络图片的加载。

采用基于PhotoView的DragPhotoView开源实现仿微信查看图片。

采用鲁班将图片压缩至服务器可接受范围。

SmartTabLayout开源与ViewPager结合,使viewpager的ui更加炫丽。

使用百度地图的定位服务,为用户提供用户所在位置,供用户参考。

开启多线程,为广告欢迎等待页面,网络求求数据等需要长时间等待的功能开启副线程,防止主线程的阻塞。

重写Application,提供获取全局变量的方法,方便某些功能的初始化。

重新绘制一个数字键盘,但由于未提供付款功能,这个重绘控件没有用到。

由于要使用开源,采用了maven和Gradle构建。

使用插件 Android ButterKnife Zelezny使便利开发。

使用开源控件如安卓选择器类库,PictureSelector,SwipeRecyclerView,FloatingToolbar,Checkbox,Like Button等,增加swap的观赏性。

使用Mob为开发者提供的验证短信SDK,实现短信的验证登录。

使用阿里云为开发者提供的通知推送SDK,实现管理员在控制台发送推送通知为每一位Swap用户,每一位Swap用户会收到Notification,用户可点击Notification进入app。

服务器端的接收SQL语句并进行增删改查。

服务期端的接收用户上传图片等并保存到对应本地磁盘。

About

二手鞋交易平台(与阿里云服务器协同合作)(服务端代码请查看ForAndroidHttp和ForAndroidUpload 两个项目)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages