这是我参与「第五届青训营」伴学笔记创作活动的第1天。
介绍
本文记录了将青训营demo复制到个人电脑(windows系统)搭建运行以及app用模拟器和手机两种方式访问项目的方法
服务端搭建
首先,需要有golang的开发环境,这里我用的是goland。将github上的代码下载到本机然后打开项目。下面是我记录的搭建时遇到的一些坑
import导入的包报红问题
按Alt+Enter键看可以尝试自动导入,但是有时候也会失败。
- service和controller
比如下面这个引入
"github.com/RaymondCode/simple-demo/controller"
其实从项目结构可以看出,有service和controller两个本地文件夹,里面存放着相关代码,所以其实是本地的包,因此用go get 会说找不到。
解决方法:找到项目中的go.mod文件,用记事本或者goland打开,第一行会看到这段
module github.com/RaymondCode/simple
将module后的内容替换成自己的项目名(import报红部分一同替换),保存后重新打开。
2. Alt+Enter键自动导入失败,提示连接失败
可能是代理的问题,首先打开cmd,输入:go env 查看go环境,找到GOPROXY的值。如果也没值的话就在cmd中输入go env -w GOPROXY=goproxy.cn设置代理。然后,在goland左上方的 file->settings->GO->GO Modules(vgo) 看Proxy的值,如果是空的话就不要动了(按照默认设置,就是我们刚才在cmd中设置的代理)
判断成功运行
mian.go文件中的main函数出现了绿色小箭头。说明可以运行了,正常运行的话终端最后会显示 Listening and serving HTTP on :8080
APP访问服务
首先,保持服务端运行,下载并安装app,有两种方法,用模拟器或者手机
安卓模拟器运行APP
在mian.go文件中将r.Run()改成r.Run(":xxxx"),xxxx是自定义数字,比如8081。重新运行服务端就是监听这个端口了。
APP装上模拟器之后,先测试一下连接。 打开模拟器里的浏览器输入http://10.0.2.2:xxxx/feed看看有没有回应。如果看到一大段字符串说明成功了。然后打开APP,双击右下角我的按钮,设置BaseUrl为http://10.0.2.2:xxxx
10.0.2.2在模拟器上是一个特殊IP,表示自己的主机
手机运行APP
个人感觉没有用模拟器顺手,这里简要说明一下:
首先,在自己电脑的设置中找到防火墙,将自己项目设置的端口开放(不然会被防火墙拦住),第二步用手机打开热点,电脑连接这个热点。最后,电脑打开cmd,查询电脑Ip(Ipv4),然后把APP的BaseUrl设置成这个Ip。
总结
demo成功运行起来啦,但是由于还没有完成内部逻辑,所以APP访问的都是默认内容,后续我会继续完善后端逻辑的。