admin 管理员组文章数量: 1087649
从零到完成安卓项目实战【安卓端+后端】
今天下雨了,出不去了,在家开发一个安卓系统。
因为平时自己喜欢打篮球,那就开发一个篮球相关的系统吧:NBA安卓系统。
一,功能介绍
APP主要具备网上篮球约球、篮球交流、线上NBA观赛,力求软件界面友好、功能齐全、可拓展性良好。
系统的功能有:交流评论区模块、场馆预约模块、网上约球模块、约球留言模块、线上观赛模块、NBA球员分析模块。
通过线上篮球约球、球友交流评论、NBA比赛观看等功能,打造一款“线上观赛+线下实战”的篮球交友APP,帮助一些喜欢篮球运动的青少年可以随时随地观赛、组队、交流、交友。
二,开发语言介绍
APP基于JAVA语言进行开发,后台数据的存储采用 MySql 结合 Reids 实现数据存储,移动端通过 AndroidStudio 开发。
三,系统的界面介绍
四,核心代码演示
/*** 小孟v:jishulearn* Created by xiaomeng*/
@Controller
@RequestMapping("/sys/dict")
public class DictionaryController extends BaseController {@Autowiredprivate DictionaryService dictionaryService;@RequiresPermissions("sys:dict:view")@RequestMapping()public String view() {return "system/dictionary.html";}/*** 分页查询字典*/@OperLog(value = "字典管理", desc = "分页查询")@RequiresPermissions("sys:dict:list")@ResponseBody@RequestMapping("/page")public PageResult<Dictionary> page(HttpServletRequest request) {PageParam<Dictionary> pageParam = new PageParam<>(request);return new PageResult<>(dictionaryService.page(pageParam, pageParam.getWrapper()).getRecords(), pageParam.getTotal());}/*** 查询全部字典*/@OperLog(value = "字典管理", desc = "查询全部")@RequiresPermissions("sys:dict:list")@ResponseBody@RequestMapping("/list")public JsonResult list(HttpServletRequest request) {PageParam<Dictionary> pageParam = new PageParam<>(request);return JsonResult.ok().setData(dictionaryService.list(pageParam.getOrderWrapper()));}/*** 根据id查询字典*/@OperLog(value = "字典管理", desc = "根据id查询")@RequiresPermissions("sys:dict:list")@ResponseBody@RequestMapping("/get")public JsonResult get(Integer id) {return JsonResult.ok().setData(dictionaryService.getById(id));}/*** 添加字典*/@OperLog(value = "字典管理", desc = "添加", param = false, result = true)@RequiresPermissions("sys:dict:save")@ResponseBody@RequestMapping("/save")public JsonResult save(Dictionary dictionary) {if (dictionaryService.count(new QueryWrapper<Dictionary>().eq("dict_code", dictionary.getDictCode())) > 0) {return JsonResult.error("字典标识已存在");}if (dictionaryService.count(new QueryWrapper<Dictionary>().eq("dict_name", dictionary.getDictName())) > 0) {return JsonResult.error("字典名称已存在");}if (dictionaryService.save(dictionary)) {return JsonResult.ok("添加成功");}return JsonResult.error("添加失败");}/*** 修改字典*/@OperLog(value = "字典管理", desc = "修改", param = false, result = true)@RequiresPermissions("sys:dict:update")@ResponseBody@RequestMapping("/update")public JsonResult update(Dictionary dictionary) {if (dictionaryService.count(new QueryWrapper<Dictionary>().eq("dict_code", dictionary.getDictCode()).ne("dict_id", dictionary.getDictId())) > 0) {return JsonResult.error("字典代码已存在");}if (dictionaryService.count(new QueryWrapper<Dictionary>().eq("dict_name", dictionary.getDictName()).ne("dict_id", dictionary.getDictId())) > 0) {return JsonResult.error("字典名称已存在");}if (dictionaryService.updateById(dictionary)) {return JsonResult.ok("修改成功");}return JsonResult.error("修改失败");}/*** 删除字典*/@OperLog(value = "字典管理", desc = "删除", result = true)@RequiresPermissions("sys:dict:remove")@ResponseBody@RequestMapping("/remove")public JsonResult remove(Integer id) {if (dictionaryService.removeById(id)) {return JsonResult.ok("删除成功");}return JsonResult.error("删除失败");}/*** 批量添加字典*/@OperLog(value = "字典管理", desc = "批量添加", param = false, result = true)@RequiresPermissions("sys:dict:save")@ResponseBody@RequestMapping("/saveBatch")public JsonResult saveBatch(@RequestBody List<Dictionary> list) {// 对集合本身进行非空和重复校验StringBuilder sb = new StringBuilder();sb.append(CoreUtil.listCheckBlank(list, "dictCode", "字典标识"));sb.append(CoreUtil.listCheckBlank(list, "dictName", "字典名称"));sb.append(CoreUtil.listCheckRepeat(list, "dictCode", "字典标识"));sb.append(CoreUtil.listCheckRepeat(list, "dictName", "字典名称"));if (sb.length() != 0) return JsonResult.error(sb.toString());// 数据库层面校验if (dictionaryService.count(new QueryWrapper<Dictionary>().in("dict_code",list.stream().map(Dictionary::getDictCode).collect(Collectors.toList()))) > 0) {return JsonResult.error("字典标识已存在");}if (dictionaryService.count(new QueryWrapper<Dictionary>().in("dict_name",list.stream().map(Dictionary::getDictName).collect(Collectors.toList()))) > 0) {return JsonResult.error("字典名称已存在");}if (dictionaryService.saveBatch(list)) {return JsonResult.ok("添加成功");}return JsonResult.error("添加失败");}/*** 批量删除字典*/@OperLog(value = "字典管理", desc = "批量删除", result = true)@RequiresPermissions("sys:dict:remove")@ResponseBody@RequestMapping("/removeBatch")public JsonResult removeBatch(@RequestBody List<Integer> ids) {if (dictionaryService.removeByIds(ids)) {return JsonResult.ok("删除成功");}return JsonResult.error("删除失败");}}
/*** 小孟v:jishulearn* Created by xiaoemng*/
@Controller
@RequestMapping("/sys/menu")
public class MenuController extends BaseController {@Autowiredprivate MenuService menuService;@RequiresPermissions("sys:menu:view")@RequestMapping()public String view() {return "system/menu.html";}/*** 分页查询菜单*/@OperLog(value = "菜单管理", desc = "分页查询")@RequiresPermissions("sys:menu:list")@ResponseBody@RequestMapping("/page")public PageResult<Menu> page(HttpServletRequest request) {PageParam<Menu> pageParam = new PageParam<>(request);pageParam.setDefaultOrder(new String[]{"sort_number"}, null);return menuService.listPage(pageParam);}/*** 查询全部菜单*/@OperLog(value = "菜单管理", desc = "查询全部")@RequiresPermissions("sys:menu:list")@ResponseBody@RequestMapping("/list")public JsonResult list(HttpServletRequest request) {PageParam<Menu> pageParam = new PageParam<>(request);pageParam.setDefaultOrder(new String[]{"sort_number"}, null);return JsonResult.ok().setData(menuService.list(pageParam.getOrderWrapper()));}/*** 根据id查询菜单*/@OperLog(value = "菜单管理", desc = "根据id查询")@RequiresPermissions("sys:menu:list")@ResponseBody@RequestMapping("/get")public JsonResult get(Integer id) {return JsonResult.ok().setData(menuService.getById(id));}/*** 添加菜单*/@OperLog(value = "菜单管理", desc = "添加", param = false, result = true)@RequiresPermissions("sys:menu:save")@ResponseBody@RequestMapping("/save")public JsonResult save(Menu menu) {if (menuService.save(menu)) {return JsonResult.ok("添加成功");}return JsonResult.error("添加失败");}/*** 修改菜单*/@OperLog(value = "菜单管理", desc = "修改", param = false, result = true)@RequiresPermissions("sys:menu:update")@ResponseBody@RequestMapping("/update")public JsonResult update(Menu menu) {if (menuService.updateById(menu)) {return JsonResult.ok("修改成功");}return JsonResult.error("修改失败");}/*** 删除菜单*/@OperLog(value = "菜单管理", desc = "删除", result = true)@RequiresPermissions("sys:menu:remove")@ResponseBody@RequestMapping("/remove")public JsonResult remove(Integer id) {if (menuService.removeById(id)) {return JsonResult.ok("删除成功");}return JsonResult.error("删除失败");}/*** 批量添加菜单*/@OperLog(value = "菜单管理", desc = "批量添加", param = false, result = true)@RequiresPermissions("sys:menu:save")@ResponseBody@RequestMapping("/saveBatch")public JsonResult saveBatch(@RequestBody List<Menu> menuList) {if (menuService.saveBatch(menuList)) {return JsonResult.ok("添加成功");}return JsonResult.error("添加失败");}/*** 批量修改菜单*/@OperLog(value = "菜单管理", desc = "批量修改", result = true)@RequiresPermissions("sys:menu:update")@ResponseBody@RequestMapping("/updateBatch")public JsonResult updateBatch(@RequestBody BatchParam<Menu> batchParam) {if (batchParam.update(menuService, "menu_id")) {return JsonResult.ok("修改成功");}return JsonResult.error("修改失败");}/*** 批量删除菜单*/@OperLog(value = "菜单管理", desc = "批量删除", result = true)@RequiresPermissions("sys:menu:remove")@ResponseBody@RequestMapping("/removeBatch")public JsonResult removeBatch(@RequestBody List<Integer> ids) {if (menuService.removeByIds(ids)) {return JsonResult.ok("删除成功");}return JsonResult.error("删除失败");}}
/*** 小孟v:jishulearn* Created by xiaomeng*/
@Controller
@RequestMapping("/sys/operRecord")
public class OperRecordController extends BaseController {@Autowiredprivate OperRecordService operLogService;@RequiresPermissions("sys:oper_record:view")@RequestMapping()public String view() {return "system/oper-record.html";}/*** 分页查询操作日志*/@OperLog(value = "操作日志", desc = "分页查询")@RequiresPermissions("sys:oper_record:view")@ResponseBody@RequestMapping("/page")public PageResult<OperRecord> page(HttpServletRequest request) {PageParam<OperRecord> pageParam = new PageParam<>(request);pageParam.setDefaultOrder(null, new String[]{"create_time"});return operLogService.listPage(pageParam);}/*** 查询全部操作日志*/@OperLog(value = "操作日志", desc = "查询全部")@RequiresPermissions("sys:oper_record:view")@ResponseBody@RequestMapping("/list")public JsonResult list(HttpServletRequest request) {PageParam<OperRecord> pageParam = new PageParam<>(request);List<OperRecord> records = operLogService.listAll(pageParam.getNoPageParam());return JsonResult.ok().setData(pageParam.sortRecords(records));}/*** 根据id查询操作日志*/@OperLog(value = "操作日志", desc = "根据id查询")@RequiresPermissions("sys:oper_record:view")@ResponseBody@RequestMapping("/get")public JsonResult get(Integer id) {PageParam<OperRecord> pageParam = new PageParam<>();pageParam.put("id", id);List<OperRecord> records = operLogService.listAll(pageParam.getNoPageParam());return JsonResult.ok().setData(pageParam.getOne(records));}}
如果你想学习项目开发,请关注我。
一起交流进步,加油奥里给!点赞支持,谢啦!
本文标签: 从零到完成安卓项目实战安卓端后端
版权声明:本文标题:从零到完成安卓项目实战【安卓端+后端】 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1686652073a20592.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论