从零开始撸一个Kotlin Demo

####前言

  • 自从google将kotlin作为亲儿子后就想用它撸一管app玩玩,由于工作原因一直没时间下手,直到项目上线后才有了空余时间,期间又由于各种各样烦人的事断了一个月,现在终于开发完成
  • 项目分为服务器和客户端;服务器用Spring-boot+mysql+mybatis,客户端100%kotlin ####开发工具
  • 移动端:不用多说,下载一个AndroidStudio3.0 自带了kotlin编译,我用的是3.0 Canary8,现在好像已经更新到3.0Beta6了,下载地址:https://developer.android.google.cn/studio/preview/index.html

下载到的是离线包,打开后和你原来3.0一下版本共用一个sdk就行了,不用额外下载

  • 服务器端:当然是IDEA了,开发界面和AndroidStudio没什么区别,毕竟studio是基于IDEA做的,下载地址: https://www.jetbrains.com/idea/download/#section=windows

下载完成后破解下就可以用了

  • 服务器篇

参考这篇文章:http://www.jianshu.com/p/99fcead32d35 根据他这个种子项目的基础上搭建自己的开发环境。

  • 数据库表: 1、用户表(user):保存用户信息及请求数据的token 2、文章表(article):每日更新的文章数据 3、杂志期刊表(magazine):往期杂志

  • 接口说明 1、 user表接口

    接口说明参数请求类型
    /user/register注册新用户username、email、passwordPOST
    /user/login用户登陆username/email、passwordPOST
    /user/update修改用户信息token、password/sign/sexPOST
  • ######修改用户信息根据传递的参数来确定修改的字段,可以修改密码、用户展示在前端的个性签名、性别这三个字段,其中根据token去匹配用户 2、article表

| 接口 | 说明 |参数 |请求类型| | -------------| --------------|-----|-----| |article/list|获取文章列表|token、rand、page、size|POST/GET| |article/content/|获取文章内容|token、id|POST/GET|

  • 文章的获取需要user表中的token,如果token不存在,说明用户没注册,则不返回数据,rand表示是否随机rand=0:按顺序获取,这时候分页参数page和size有效,rand=1则随机返回十篇文章数据

3、magazine表

| 接口 | 说明 |参数 |请求类型| | -------------| --------------|-----|-----| |article/list|获取文章列表|token、name、period|POST/GET| |article/content/|获取文章内容|id|POST/GET|

  • 杂志列表获取 跟前面一样也需要token name表示杂志名称,目前数据库存的杂志有:读者、意林、意林少年版、意林原创版、故事会、轻小说、故事林,所以name只能是这几个中的其中一个;period表示期刊,格式为 xxxx年第xx期 比如2017年第04期,如果period不传的话返回当前杂志的所有期刊列表,如果不为空,则返回当前期刊的文章列表
  • 服务器我部署在自己家里的电脑上 地址是 http://limhgeek.vicp.io:31491

  • 下面用Postman测试接口 1、用户注册接口:

2、登陆接口:

3、随机文章获取接口

效果不错,妥妥的。想练手的同学可以借用我这个数据源


  • ####移动端 细节就不多说了,自己看看代码 代码地址:https://git.oschina.net/Tdnr/Readers.git 最终实现效果图:

转载于:https://juejin.im/post/5a31dc4d5188254dd93668cd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动平均线ma分析_使用动态移动平均线构建交互式库存量和价格分析图

移动平均线ma分析I decided to code out my own stock tracking chart despite a wide array of freely available tools that serve the same purpose. Why? Knowledge gain, it’s fun, and because I recognize that a simple project can generate many new ideas. Even t…

敏捷开发创始人_开发人员和技术创始人如何将他们的想法转化为UI设计

敏捷开发创始人by Simon McCade西蒙麦卡德(Simon McCade) 开发人员和技术创始人如何将他们的想法转化为UI设计 (How developers and tech founders can turn their ideas into UI design) Discover how to turn a great idea for a product or service into a beautiful UI de…

在ubuntu怎样修改默认的编码格式

ubuntu修改系统默认编码的方法是:1. 参考 /usr/share/i18n/SUPPORTED 编辑/var/lib/locales/supported.d/* gedit /var/lib/locales/supported.d/localgedit /var/lib/locales/supported.d/zh-hans如:more /var/lib/locales/supported.d/localzh_CN GB18…

JAVA中PO,BO,VO,DTO,POJO,Entity

https://my.oschina.net/liaodo/blog/2988512转载于:https://www.cnblogs.com/dianzan/p/11311217.html

【Lolttery】项目开发日志 (三)维护好一个项目好难

项目的各种配置开始出现混乱的现象了 在只有一个人开发的情况下也开始感受到维护一个项目的难度。 之前明明还好用的东西,转眼就各种莫名其妙的报错,完全不知道为什么。 今天一天的工作基本上就是整理各种配置。 再加上之前数据库设计出现了问题&#xf…

leetcode 567. 字符串的排列(滑动窗口)

给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 输入: s1 “ab” s2 “eidbaooo” 输出: True 解释: s2 包含 s1 的排列之一 (“ba”). 解题思路 和s1每个字符…

静态变数和非静态变数_统计资料:了解变数

静态变数和非静态变数Statistics 101: Understanding the different type of variables.统计101:了解变量的不同类型。 As we enter the latter part of the year 2020, it is safe to say that companies utilize data to assist in making business decisions. F…

代码走查和代码审查_如何避免代码审查陷阱降低生产率

代码走查和代码审查Code reviewing is an engineering practice used by many high performing teams. And even though this software practice has many advantages, teams doing code reviews also encounter quite a few code review pitfalls.代码审查是许多高性能团队使用…

Zabbix3.2安装

一、环境 OS: CentOS7.0.1406 Zabbix版本: Zabbix-3.2 下载地址: http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm MySQL版本: 5.6.37 MySQL: http://repo.mysql.com/mysql-community-release-el7-5.noarch.r…

Warensoft Unity3D通信库使用向导4-SQL SERVER访问组件使用说明

Warensoft Unity3D通信库使用向导4-SQL SERVER访问组件使用说明 (作者:warensoft,有问题请联系warensoft163.com) 在前一节《warensoft unity3d通信库使用向导3-建立WarensoftDataService》中已经说明如何配置Warensoft Data Service,从本节开始,将说明…

01-gt;选中UITableViewCell后,Cell中的UILabel的背景颜色变成透明色

解决方案有两种方法一 -> 新建一个UILabel类, 继承UILabel, 然后重写 setBackgroundColor: 方法, 在这个方法里不做任何操作, 让UILabel的backgroundColor不发生改变.写在最后, 感谢参考的出处:不是谢志伟StackOverflow: UITableViewCell makes labels background clear whe…

leetcode 703. 数据流中的第 K 大元素(堆)

设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。 请实现 KthLargest 类: KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。 int add(int val) 将 val 插…

不知道输入何时停止_知道何时停止

不知道输入何时停止In predictive analytics, it can be a tricky thing to know when to stop.在预测分析中,知道何时停止可能是一件棘手的事情。 Unlike many of life’s activities, there’s no definitive finishing line, after which you can say “tick, I…

移动认证_如何在移动设备上实施安全的生物特征认证

移动认证by Kathy Dinh凯西丁(Kathy Dinh) 如何在移动设备上实施安全的生物特征认证 (How to implement secure Biometric Authentication on mobile devices) A quick search for React Native biometric authentication would give you several tutorials. That was the fir…

[Luogu1890]gcd区间

原题链接https://www.luogu.org/problem/show?pid1890 暴力中的暴力。 对于每一组询问l..r,我们先循环暴力枚举l..r中最大值到1,再暴力循环l..r的每一个数,判断前一重循环能否整除后一重,如果全部都能,则可判定它就是…

Android Studio自定义模板 做开发竟然可以如此轻松 后篇

###1.概述 最近有很多人反馈,有些哥们不喜欢看文字性的东西,还有一些哥们根本就不知道我在搞啥子,那么以后我就采用博客加视频的方式,我们可以选择看视频讲解:http://pan.baidu.com/s/1i5uh2uD   内涵段子项目资料及…

ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.

ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. 解决方案: 异步更新(建议使用)强制进行变更检测,但是会触发子组件的变更检测,再次导致父组件属性改变Parent.Component.…

leetcode 119. 杨辉三角 II

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 解题思路 因为杨辉三角的下层由上一层决定,所以只需要保存上一层的元素&#x…

掌握大数据数据分析师吗?_要掌握您的数据吗? 这就是为什么您应该关心元数据的原因...

掌握大数据数据分析师吗?Either you are a data scientist, a data engineer, or someone enthusiastic about data, understanding your data is one thing you don’t want to overlook. We usually regard data as numbers, texts, or images, but data is more than that.…

react 使用 mobx_如何使用React和MobX状态树构建基于状态的路由器

react 使用 mobxby Miles Till由Miles Till 如何使用React和MobX状态树构建基于状态的路由器 (How to build a state-based router using React and MobX State Tree) Introducing mobx-state-tree-routerMobx状态树路由器简介 If you want to skip ahead to the finished ex…