3 Star 9 Fork 2

LuFei4 / enjoyshop

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

项目简介:

Image text Image text Image text Image text Image text

轻松购.是一款购物型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工具类封装

主要界面截图:

Image text Image text Image text

修改完善记录:

版本:2.1.0 (1)整个项目适配器的替换.(2) 首页轮播图进行优化.

版本:2.0.1 (1)对购物车fragment代码进行重构. (2)其他代码优化.

版本:2.0.0 (1)静态逻辑编写注册、登录、收货地址、添加(修改、删除地址)等业务逻辑,使项目成为完整项目. (2)启动页、引导页主题修改. (3)修复 新建收货地址界面 键盘遮挡的bug.

版本:1.2.0 (1)重新设计注册业务逻辑,使其更符合实际开发. (2)修复项目在as 3.1.3及以上版本无法安装的bug

版本:1.1.3 (1)自定义圆角头像控件;(2)重新封装Fragment基类;(3)对Glide进行升级,并重新封装,并分离出是普通头像还是用户头像;(4)修改工程名、部分文件名,便于阅读

版本:1.1.2 (1)对购物车fragment跑马灯效果在息屏、开屏出现数据重叠的bug修复;(2)删除ping支付相关废弃代码

版本:1.1.1 (1)对购物车fragment加载更多下一个索引越界bug进行修复;(2)对分类Fragment获取天气数据异常时闪退的bug进行修复;(3)更换、替换部分资源文件

版本:1.1.0 (1)对toast进行封装;(2)将社会化分享进行封装,可以直接在所有项目项目的所有涉及分享的界面直接调用;(3)对toolbar进行进一步封装,并修复toolbar的相关bug;(4)优化代码

版本:1.0.4 (1)引导页bug修复(2)网络请求成功后不需要使用handle进行发送消息的bug修复(3)将依赖库中最低版本、目标版本与主项目保持一致,减少项目的体积(4)将项目中使用的第三方库添加链接,方便读者查阅

版本:1.0.3 修复搜索/历史搜索中当搜索或点击已经存在的条目时,数据顺序错乱的bug.将greendao数据库换成集合进行操作

版本:1.0.2 (1)splash界面倒计时UI改变.倒计时功能优化;(2)自定义社会化分享UI界面;(3)签名文件放在as中,避免读者再次下载

版本:1.0.1 splash基本低版本沉浸式状态栏bug修复

版本:1.0.0 基本功能完成

项目谈论群:

说明:之所以没有使用微信群还是QQ群,主要基于两个原因: (1)QQ群可以屏蔽,这样大家根据情况进行选择,以便更高效率工作、学习. (2)QQ群上传资料后,便于保存与查找,也可以临时性和群里其他人私聊.

QQ群号:156250233 (添加请注明 轻松购 )

[Wercker](轻松购商场学习群)

Image text

帮助文档(请先看这里):

(一)基础性问题:

Q1.这个项目是什么语言写的?什么项目?

A1:这是一个android项目,商城类.采用java语言编写.目前android项目编写的语言主要有java、kotlin.而这个项目采用的是java语言

Q2.这个项目能运行吗?

A2:可以.这个项目目前还一直在维护中.并且在短时间内,都不会放弃维护.

Q3: 这个项目采用的编译器(IDE)是什么:

A3: 采用的是android studio(简称as).当前采用的是as的v3.1.4版本.

Q4:如果我的as版本不是3.1.4版本,能运行这个项目吗?

A4: 能.完全没问题,但需要修改部分内容.方法如下:

(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.一个项目,肯定是需要你自己运行看一下的,不要什么都没看就张口问.这个习惯对于编程人员非常致命. Q4问题涉及的因素特别多,需要你一点一点搜索,或者直接加入轻松购的QQ群问(群号? 上面已经提供了.)

(二)关于本项目的一些问题:

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种可能,一是我的代码出现了问题.二是我忘记了开发.

可能性2的概率很小,因为我一直在维护这个项目,但不排除的确有遗漏的可能性.

至于是哪种可能,请使用编程的思维: 断点调试一下就ok撒.

你确定了原因后,可能在轻松购QQ群直接@我,或者在github上以Issues的形式提交给我.我会在工作不是特别忙的时候第一时间修复.

总结:关于轻松购项目本身的问题或者疑问,大家可以直接加入群问,或者以issues的形式提交.只有2个目的: (1)解除你的疑惑;(2)让这个项目更好

(三)其他问题:

Q1:如果进轻松购的群? 进群有什么好处?需要遵守什么规则?

A1: (1)如何加入:群号上面已经提供了,亲,再说一下,一定一定要有看文档的习惯.不看文档对于编程人员是非常致命的习惯.

(2)好处:加群后,你可以直接在群里谈论这个项目,开发这个项目的人(也就是我)在群里,群信息也没有屏蔽.这样便于快速解答疑问.另外,平时我会在群里上传一些android或者其他方面的数据,或者好的资源.
你加群后,也可以选择屏蔽或者退出,这个都没有关系.

(3)需要遵守的规则: ①以昵称或者真实姓名的方式 -工作年限 修改备注.如果还是在校生,直接写0年.

不要求直接写真实姓名哈,但工作年限一定要写.这样便于大家交流.你抛出一个问题,群主或者管理员可以根据你的工作年限具体的更有针对性的回答.
如果你连工作年限都不想说,这个群你慎入.

②本群不要求过于严肃,但也不是注水群.以谈论本项目或者android、编程知识为主.也有一些生活方面的(但低于10%.因为我还没这么闲)

Q2: 关于对本项目的点赞?

A2: 真心的希望大家给我这个项目star.

这,就是对我最大的鼓励了.不需要现金打赏哈.

Q3:如何star?为什么要star?

A3: (1)如果satr: 首先你需要有一个github账号.登录后,在项目网页的右上角,看到star按钮,点击一下,如果变成了 Unstar,说明star成功了.

(2)为什么要star:

①对你有很大好处:你star后,可以直接在你个人主页查看star过哪些项目.此时star的功能类似于收藏.尤其是你后期要再看,或者查找,但你又不觉得项目名字,或者类似名字的项目很多时,你直接去你主页查看就行

②对我有好处: 鼓励我更有动力维护这个项目.此时satr类似于点赞.

③对其他人有好处:一般star越多的项目,说明这个项目被认可的程度越高.如果我这个项目star很多,就会有更多的人参与这个项目的谈论 维护中.其实这点,对你也有好处,你也可以一起成长,以及持续学习到更高质量的代码.毕竟:众人抬货火焰高.

关于我:

Wercker

致谢:

如果您觉得我的此项目对您有些帮助,您的star就是对我最大的鼓励!

LICENSE

Copyright 2017 gaoleihua.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

购物(商城)类app,项目主要分为主页、热卖、分类、购物车、我的五大板块.该app基本上覆盖市面上商业级商城类app的功能,包括购物车、微信及支付宝支付、热门及历史搜索、登录注册、收货地址管理等.另外,本项目持续维护中!!!同时可进入QQ群,和作者、其他小伙伴一起谈论该项目 展开 收起
Android
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Android
1
https://gitee.com/LuFei4/enjoyshop.git
git@gitee.com:LuFei4/enjoyshop.git
LuFei4
enjoyshop
enjoyshop
master

搜索帮助

14c37bed 8189591 565d56ea 8189591