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

相关推荐

  • 向老师申请科研项目邮件怎么说向老师申请科研项目邮件怎么说

    尊敬的XXX老师: 您好!我是您的学生XXX,目前正在攻读您的研究生课程。最近,我了解到您的科研项目正在寻找合适的研究生合作者,因此我想向您申请参加这个项目。 我对于XXX领域的研…

    科研百科 2024年6月12日
    167
  • 信息系统中的项目管理

    信息系统中的项目管理 随着信息技术的不断发展,信息系统已经成为企业和个人生活中不可或缺的一部分。信息系统项目管理也是信息技术领域中的一个重要领域。本文将探讨信息系统中的项目管理。 …

    科研百科 2025年6月27日
    0
  • 禅道项目管理系统怎么样

    禅道项目管理系统是一款功能强大、易于使用、高效率的项目管理软件。它可以帮助项目经理和团队成员高效地管理项目,提高协作和工作效率。 禅道项目管理系统具有以下几个优点: 1. 智能化的…

    科研百科 2025年1月27日
    0
  • 皮肤管理都有什么项目?(皮肤管理都有什么项目)

    皮肤管理是医学治疗与生活美容护理二者相结合,通过对不同年龄患者皮肤状态的分析,发现患者皮肤所遇到的问题,以手法、产品、仪器三者相结合的方式进行连续的治疗与管理达到改善皮肤疾患、维持…

    科研百科 2022年7月13日
    309
  • 周春明的客户关系管理

    周春明的客户关系管理 客户关系管理(CRM)是一种通过收集、分析和利用客户信息,提高客户满意度和忠诚度,促进销售和业务发展的管理方法。在中国,客户关系管理已经成为企业竞争的重要领域…

    科研百科 2024年8月26日
    32
  • 红极一时的VB,输给时代,新型开发工具,或成未来(vb. v)

    如果说VB是非专业人员,改造自身行业的绝佳神器,不为过吧? 对于大多数编程语言来说,学习编程语言本身用处并不大,例如C 与Qt属于两个不同的世界,然而VB却是个例外。 软件开发史上…

    科研百科 2024年5月20日
    117
  • 科研项目总体评审情况

    科研项目总体评审情况 科研项目是学术界的重要支柱,是推动科学技术进步的重要力量。近年来,随着科技的快速发展,科研项目评审工作也越来越受到重视。本文将对近期科研项目总体评审情况进行综…

    科研百科 2025年3月25日
    1
  • 康复专业科研项目申报书

    康复专业科研项目申报书 摘要 随着人口老龄化和疾病的普及,康复医学已成为一项非常重要的医学领域。作为康复医学的重要组成部分,康复专业科研项目对于提高康复医学的技术水平,推动康复医学…

    科研百科 2025年4月29日
    0
  • 合同管理助手

    合同管理助手:让合同管理更加轻松 随着企业规模的不断扩大,合同管理已经成为了企业日常运营中不可或缺的一部分。但是,传统的合同管理方式不仅效率低下,还容易出错。因此,合同管理助手成为…

    科研百科 2024年8月25日
    36
  • IT项目管理中常见的问题和挑战(it项目管理中常见的问题是什么)

    随着疫情引起的社会隔离和远程工作的兴起,IT项目管理挑战正在增加,与其他行业的项目经理不同,IT项目经理面临一些独特的挑战。IT项目管理中常见的问题和挑战有哪些呢? 一、与多个供应…

    科研百科 2022年5月19日
    217