真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、藍(lán)田網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開(kāi)發(fā)成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為藍(lán)田等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

服務(wù)端

環(huán)境:服務(wù)端使用Python3.5+PyCharm

新建Flask項(xiàng)目

看圖:

使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法

然后create,初始化完成之后項(xiàng)目結(jié)構(gòu)應(yīng)該類似如下:

使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法

其實(shí)這時(shí)候直接啟動(dòng)項(xiàng)目就可以在瀏覽器訪問(wèn)到:

使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法

這就是使用現(xiàn)成框架的好處hhh,但是我們希望實(shí)現(xiàn)與客戶端的通信,自然需要再做進(jìn)一步code.

編寫代碼接受來(lái)自客戶端的數(shù)據(jù)

首先我們看一下hello_world的代碼:

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

這里@app.route(‘/')意思就是訪問(wèn)你服務(wù)端地址時(shí)調(diào)用這個(gè)方法,所以我們可以通過(guò)這種方式實(shí)現(xiàn)自己的需求,比如:

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

上面代碼的意思就是你可以通過(guò) http://127.0.0.1:5000/demo

訪問(wèn)到demo方法,request.form[‘demo_tag']的返回值是你客戶端發(fā)送的tag為demo_tag的數(shù)據(jù),下文會(huì)詳細(xì)介紹如何發(fā)送數(shù)據(jù),最后返回值你可以自己指定,這里隨便給了一個(gè)。到這里服務(wù)端已經(jīng)ok了,我們看看客戶端如何實(shí)現(xiàn).

Android端

客戶端使用Okhttp,需要導(dǎo)入兩個(gè)jar包,地址

jar包下載地址: http://square.github.io/okhttp/

使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法

注意2個(gè)jar包都要,圖中3個(gè)圈點(diǎn)完就ok了,下載到本地自己導(dǎo)入,這部分就不詳細(xì)寫了,不會(huì)導(dǎo)入的可以Google一下。

如果不想手動(dòng)導(dǎo)入jar包可以:

implementation ‘com.squareup.okhttp3:okhttp:3.11.0'

導(dǎo)入之后直接看代碼:

@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";//替換成自己的服務(wù)器地址
        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, "服務(wù)器錯(cuò)誤", 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();
                }
              });

            }

          }
        });
      }
    });

  }

關(guān)于“使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


網(wǎng)站題目:使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法-創(chuàng)新互聯(lián)
URL標(biāo)題:http://weahome.cn/article/dodicd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部