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

相关推荐

  • 信息系统项目管理师论文范文:论项目的质量管理(2018年信息系统项目管理师论文题目)

    摘要: 2018年2月,我有幸参与了XX 市电网公司人力资源管理系统建设项目,担任项目经理职位。该项目以《XX市电网公司"十三五"信息化规划实施计划》为准则,目…

    科研百科 2022年7月19日
    311
  • 「建宇丰博览」项目部整套管理制度范本,50项都全了

    以下是上海某知名施工单位的项目部各项管理制度职责、规定范本,50项都全了!供施工单位参考! 目 录 序号 名 称 备 注 1 安全生产宣传教育制度 2 班组实行上岗安全活动制度 3…

    科研百科 2022年8月3日
    221
  • 项目进度管理和控制工具

    项目进度管理和控制工具是项目管理中至关重要的工具,可以帮助项目经理有效地跟踪和控制项目的进度和质量。本文将介绍一些常用的项目进度管理和控制工具,以及它们的优点和适用场景。 一、项目…

    科研百科 2024年8月20日
    38
  • 项目组合管理MoP认证考试简章,看这篇就够了,非常全面

    MoP(® Management of Portfolios)将项目组合管理定义为:“战略流程和决策的协调集合, 共同实现组织变革和日常业务的最有效平衡。” 为高级管理人员和决策者…

    科研百科 2023年10月30日
    229
  • 火车的科研项目

    火车科研项目 火车科研项目是人类历史上最为重要和复杂的科研项目之一。随着火车技术的不断发展,我们的火车速度越来越快,运输能力也越来越强大。然而,随着火车速度的不断提高,火车的安全性…

    科研百科 2025年2月12日
    0
  • 销售管理制度(销售管理制度及流程图)

    销售管理制度 第一章总则 第一条 以质量求生存,以品种求发展,重视社会经济效益,生产物美价廉的产品投放市场,满足社会需要是我司产品的销售方针。 第二条 掌握市场信息,开发新产品,开…

    科研百科 2022年10月9日
    610
  • 教研室管理系统项目

    教研室管理系统项目 教研室管理系统项目是一项旨在提高教研室工作效率和协作能力的系统开发项目。在这个项目中,我们的目标是建立一个基于云计算技术的教研室管理系统,该系统将帮助教研室教师…

    科研百科 2025年6月22日
    0
  • 八十年代停掉的军工科研项目

    八十年代的军工科研项目 在八十年代,中国的军工行业正处于一个重要的发展阶段。当时,中国正在寻求变得更加强大,因此,军工企业成为了国家的重要支持对象。在这个背景下,许多军工科研项目都…

    科研百科 2024年4月8日
    130
  • 拒绝科研项目

    拒绝科研项目 近年来,随着科技的飞速发展,科研项目已经成为了许多科学家和研究人员的主要收入来源之一。但是,对于一些人来说,他们并不渴望承担这些科研项目,他们更愿意从事一些自己喜欢的…

    科研百科 2025年2月8日
    0
  • 美国高中科研项目

    美国高中科研项目:探索科学与技术的未来 近年来,随着科技的不断发展,美国高中的项目研究也越来越注重科学与技术的应用。这些项目研究不仅有助于学生培养创新思维和实践能力,也为未来科技的…

    科研百科 2025年3月8日
    0