资源 【开源项目】安卓手机商城项目_Android端与后端均开源
项目简介 轻松购.是一款购物型Android端app.项目主要分为主页、热卖、分类、购物车、我的五大板块. 该app基本上覆盖市面上商业级商城类app的功能,包括购物车、微信及支付宝支付、热门及历史搜索、登录注册、收货地址管理等. 该项目主要功能已经完成,细节部分正在持续添加与优化中. 还有两个重点:(1)项目代码使用的都是常用但入门门槛较低的方式,比较适合初级Android开发者;(2)项目在持续优化中 使用的开源技术: 1.轮播图 2.下拉刷新、加载更多 3.Gson解析 4.butterknife 5.批量处理权限 6.自定义样式的dialog 7.三级联动 8.eventBus 9.沉浸式状态栏 10.greendao 11.ShareSDK 12.okhttpUtils 13.BaseRecyclerViewAdapterHelper 14.Glide 15.百度地图定位及Mob天气查询 基本封装与自定义: 1.ToolBar的封装 2.FragmentTabHost的自定义 3.一键清除的EditText 4.购物车的加减控件 5.短信验证倒计时的定时器 6.Glide的封装 7.自定义圆形头像(可自定义是否有边框、边框宽度及颜色) 8.购物车本地缓存 9.对称加密DESUtil 10.读取Json文件的工具类GetJsonDataUtil 11.日志、sp、屏幕、toast工具类封装 主要界面截图 帮助文档(请务必要看这里): (一)基础性问题: Q1.这个项目是什么语言写的?什么项目? A1:这是一个Android项目,商城类.采用Java语言编写.目前Android项目编写的语言主要有Java、Kotlin.而这个项目采用的是Java语言 Q2.这个项目能运行吗? A2:可以.这个项目目前还一直在维护中.并且在短时间内,都不会放弃维护. Q3: 这个项目采用的编译器是什么: A3: 采用的是Android Studio(简称as).当前该项目采用的as版本在项目简介中有说明. Q4:如果我的as版本和项目简介中的版本一致,能运行这个项目吗? A4: 能.完全没问题,但需要修改部分内容.方法如下(以as版本3.1.4为例): (1)将build.gradle(project目录)下的classpath 'com.android.tools.build:gradle:3.1.4'中的 3.1.4改成你as一致的版本 (2)将gradle-wrapper.properties下的distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip 中4.4改成你as一致的版本. 另外,需要说明的事,as的3.0.0版本之后,对gradle进行了大量的优化,可能你还需要修改以下内容: ①gradle版本必须在4.1或者4.4甚至更高的版本. ②build.gradle(project目录)的classpath 'com.novoda:bintray-release:0.8.0' 版本也需要修改. ③build.gradle(module目录)的 implementation 进行替换. ④如果你是以module的形式添加第三方库的(比如okhttputil的),由于部分第三方库已经放弃维护了,尤其在as 3.0.0版本后,会有很多冲突 关于Q4,涉及gradle的使用,上述修改步骤不仅仅适用 轻松购项目,其他项目也是同样的道理.遇到问题最好的方式就在在网上直接搜索报错信息. 注意注意: 方法(1)(2)一定要最先修改,因为国内大陆的环境需要科学上网才能下载部分资源,如果你一直傻傻的等待下载,有可能1天都下载不下来. 总结:上述问题,其实都不是这个项目本身的问题.比如Q1、Q2、Q3.一个项目,肯定是需要你自己运行看一下的,不要什么都没看就张口问.这个习惯对于编程人员非常致命. (二)关于本项目的一些问题: Q1.这个项目后台开源吗? A1:付费后,可以得到开源的后台与Android端代码. Q2:这个项目的定位: A2:这个项目的定位是0-2年的Android编程人员,编码方式中规中矩. 毕竟,对于0-2年的Android编程人员而言,核心任务是功能的实现.如果你连接口回调、源码阅读都不熟悉或者不会,什么代码解耦、拓展性都是扯淡.还是希望0-2年的人务实一点. 当然,2年以上的Android编程人员不适合学习这个项目,因为对你们而言,解耦、封装、设计模式才是你们的核心任务. Q3:部分接口的使用说明: A3:这个项目由于涉及部分权限(不是Android的权限.是vip权限),注册、登录、收货地址这3个接口无法按照正常的接口调用. 无法调用这个问题之前困扰了我很久如何解决.后来我采用了greendao数据库的增删改查操作. 一方面是弥补这3个接口无法正常调用的缺陷.另外一方面也是借此机会学习一下数据库.岂不是一举两得. 虽然采用的是数据库操作,但整个流程与商业项目一致(在具体的代码中也有强调).大家千万不要纠结这个问题.因为其他地方(比如首页、热卖)的接口都是好的.并且,你学习其他开源项目,99%的项目也有这些问题--除非Android端和后台都开源. Q4:我点击了某某地方怎么没反应? A4: 2种可能,一是我的代码出现了问题;二是部分功能未完成.至于是哪种可能,请使用编程的思维: 断点调试一下就ok撒. 你确定了原因后,可以联系我.我会在工作不是特别忙的时候第一时间修复.