Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

前言

很多初学Android的同学有一道坎就是不知道如何自己搭建后端、如何实现Android端与后端服务器端的通信,今天更一篇关于搭建服务端并与Android端通信的文章,旨在教会大家如何可以用最简单的步骤使我们的Android端与服务器端进行通信,服务端使用Python Flask,Android端使用Okhttp。

服务端

环境:服务端使用Python3.5 PyCharm

新建Flask项目

看图:

Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

然后create,初始化完成之后项目结构应该类似如下:

Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

其实这时候直接启动项目就可以在浏览器访问到:

Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

这就是使用现成框架的好处hhh,但是我们希望实现与客户端的通信,自然需要再做进一步code.

编写代码接受来自客户端的数据

首先我们看一下hello_world的代码:

@app.route(\’/\’)def hello_world(): return \’Hello World!\’

这里@app.route(‘/’)意思就是访问你服务端地址时调用这个方法,所以我们可以通过这种方式实现自己的需求,比如:

@app.route(\’/demo\’, methods=[\’POST\’])def demo(): value = request.form[\’demo_tag\’] print(value) return \”ok\”

上面代码的意思就是你可以通过访问到demo方法,request.form[\’demotag\’]的返回值是你客户端发送的tag为demotag的数据,下文会详细介绍如何发送数据,最后返回值你可以自己指定,这里随便给了一个。到这里服务端已经ok了,我们看看客户端如何实现.

Android端

客户端使用Okhttp,需要导入两个jar包,地址jar包下载地址:http://square.github.io/okhttp

Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

注意2个jar包都要,图中3个圈点完就ok了,下载到本地自己导入,这部分就不详细写了,不会导入的可以Google一下。

如果不想手动导入jar包可以:

​​ implementation \’com.squareup.okhttp3:okhttp:3.11.0\’

导入之后直接看代码:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ok = findViewById(R.id.ok); username = findViewById(R.id.username); password = findViewById(R.id.password); ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name = String.valueOf(username.getText()); String pass = String.valueOf(password.getText()); String url = \”http://112.86.199.151:5000/gesture\”;//替换成自己的服务器地址 SendMessage(url, name, pass); } }); } private void SendMessage(String url, final String userName, String passWord) { value = new float[550]; Random random = new Random(); for (int i = 0; i < 550; i ) { if (i % 2 == 0) { value[i] = random.nextFloat(); } else { value[i] = -random.nextFloat(); } } String str_value = FloatArrayToString(value); OkHttpClient client = new OkHttpClient(); FormBody.builder formBuilder = new FormBody.Builder(); formBuilder.add(\”demo\”, str_value); Request request = new Request.Builder().url(url).post(formBuilder.build()).build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { runOnUiThread(new Runnable() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, \”服务器错误\”, Toast.LENGTH_SHORT).show(); } }); } }); } @Override public void onResponse(Call call, final Response response) throws IOException { final String res = response.body().string(); runOnUiThread(new Runnable() { @Override public void run() { if (res.equals(\”0\”)) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, \”失败\”, Toast.LENGTH_SHORT).show(); } }); } else { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, \”成功\” res, Toast.LENGTH_SHORT).show(); } }); } } }); } }); }

我这里随机生成了一个数组并将其发送到了服务器端,核心代码很简单,完整的Demo项目源码可微信扫描下方二维码或者微信搜索“IT工匠”关注公众号后,后台回复“PF”获取。

Android开发之教你5分钟学会如何搭建后端-u0026实现前后端交互(android 后端)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月28日 上午10:57
下一篇 2023年4月28日 上午11:07

相关推荐

  • 海尔信息系统项目管理

    海尔信息系统项目管理 海尔是中国著名的家电企业之一,其信息系统项目也是其重要的组成部分之一。海尔信息系统项目管理的成功与否,不仅关系到海尔公司的业务增长和技术创新,也关系到公司在市…

    科研百科 2025年1月12日
    0
  • 好消息!江西科研经费包干制试点扩大范围(江西高校科研经费)

    近日,省财政厅印发《关于做好省级科研院基础研究和人才类科研经费管理的通知》,将科研经费包干制试点范围扩大到省科学院、省社科院、省农科院、省林科院等四所省属科研院基础研究和人才类科研…

    科研百科 2022年7月20日
    251
  • 项目造价管理系统

    项目造价管理系统 随着项目造价管理的不断加强,项目造价管理系统已经成为了项目管理人员必备的工具之一。项目造价管理系统可以提高项目管理水平,降低管理成本,提高项目效率,使项目管理人员…

    科研百科 2024年12月14日
    0
  • 协同工作app

    协同工作app: 让协作变得更加高效 随着现代生活节奏的加快,协同工作变得越来越重要。无论是团队内部的协作,还是跨团队协作,协同工作app都是一个不可或缺的工具。本文将介绍协同工作…

    科研百科 2024年9月30日
    21
  • 施工项目管理系统哪个好

    施工项目管理系统哪个好? 随着建筑行业的快速发展,施工项目管理系统已经成为了建筑行业中必不可少的工具之一。一个好的施工项目管理系统可以提高施工企业的效率和质量,降低施工成本,从而更…

    科研百科 2024年12月30日
    0
  • 人社部:鼓励事业单位科研人员在职或离岗创业(关于进一步鼓励事业单位科研人员创业)

    为进一步激发高校、科研院所等事业单位科研人员科技创新活力和科技成果转化创业热情,充分发挥其在“双创”活动中的示范引导作用,人社部印发《关于进一步支持和鼓励事业单位科研人员创新创业的…

    科研百科 2024年4月17日
    199
  • EXCEL这样的项目完成进度表,你用过吗?(项目完成进度表excel怎么做)

    作者:祝洪忠 转自:EXCEL之家ExcelHome 小伙伴们好啊,今天老祝和大家分享一期关于条件格式的内容。 使用条件格式中的图标集结合自定义单元格格式功能,可以实现一些特殊的显…

    2022年6月8日
    344
  • 南宁市项目库管理系统

    南宁市项目库管理系统 随着现代商业的快速发展,企业项目库管理系统已经成为了企业运营中不可或缺的一部分。南宁市项目库管理系统是南宁地区一家专业的软件开发公司开发的,它可以帮助企业有效…

    科研百科 2025年1月16日
    0
  • 关于包虫病的科研项目

    包虫病是一种严重的公共卫生问题,目前在全球范围内肆虐。作为一种通过蚊子叮咬传播的病原体,包虫病可以影响数亿人的健康,特别是孕妇和儿童。为了深入了解包虫病的传播机制和治疗方法,研究人…

    科研百科 2025年4月22日
    0
  • 低代码还能给企业带来什么价值

    低代码平台是一种新兴的软件开发工具,它可以帮助企业快速构建和部署应用程序,从而提高生产效率和降低开发成本。低代码平台的出现给企业带来了许多价值。 首先,低代码平台可以加快应用程序的…

    科研百科 2024年3月3日
    175