使用python搭建服務器并實現Android端與之通信的方法-創新互聯

這篇文章將為大家詳細講解有關使用python搭建服務器并實現Android端與之通信的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創新互聯專注于企業全網營銷推廣、網站重做改版、藍田網站定制設計、自適應品牌網站建設、H5開發成都做商城網站、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為藍田等各大城市提供網站開發制作服務。

服務端

環境:服務端使用Python3.5+PyCharm

新建Flask項目

看圖:

使用python搭建服務器并實現Android端與之通信的方法

然后create,初始化完成之后項目結構應該類似如下:

使用python搭建服務器并實現Android端與之通信的方法

其實這時候直接啟動項目就可以在瀏覽器訪問到:

使用python搭建服務器并實現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"

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

訪問到demo方法,request.form[‘demo_tag']的返回值是你客戶端發送的tag為demo_tag的數據,下文會詳細介紹如何發送數據,最后返回值你可以自己指定,這里隨便給了一個。到這里服務端已經ok了,我們看看客戶端如何實現.

Android端

客戶端使用Okhttp,需要導入兩個jar包,地址

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

使用python搭建服務器并實現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();
                }
              });

            }

          }
        });
      }
    });

  }

關于“使用python搭建服務器并實現Android端與之通信的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享標題:使用python搭建服務器并實現Android端與之通信的方法-創新互聯
轉載來于:http://m.kartarina.com/article21/dodicd.html

成都網站建設公司_創新互聯,為您提供電子商務定制網站品牌網站制作網站策劃網站收錄網站內鏈

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
主站蜘蛛池模板: 精品久久久久久无码专区不卡| 性无码一区二区三区在线观看| 亚洲国产精品无码久久| 精品无码综合一区二区三区| 免费无码黄网站在线看| 中文无码字幕中文有码字幕| 一区二区三区人妻无码| 国产精品成人无码免费| 久久亚洲AV无码精品色午夜麻豆 | 精品人无码一区二区三区| 国产精品午夜无码av体验区 | 亚洲av永久无码嘿嘿嘿| 人妻AV中出无码内射| 69成人免费视频无码专区| AV无码久久久久不卡蜜桃| 亚洲AV无码一区东京热| 国产台湾无码AV片在线观看| 影音先锋无码a∨男人资源站| 亚洲另类无码一区二区三区| 久久亚洲AV无码精品色午夜麻豆 | 毛片无码免费无码播放| 亚洲欧洲自拍拍偷午夜色无码| 无码丰满熟妇浪潮一区二区AV| 无码av高潮喷水无码专区线| 无码中文字幕av免费放dvd| 久久青草亚洲AV无码麻豆| 最新国产精品无码| 日韩精品无码免费专区午夜不卡 | 无码精品人妻一区二区三区中| 亚洲精品高清无码视频| 中文字幕无码久久久| 中文有码vs无码人妻| 亚洲中文字幕久久精品无码喷水 | 东京热av人妻无码专区| 国模吧无码一区二区三区| 最新国产AV无码专区亚洲| 一本加勒比HEZYO无码资源网| 在线播放无码后入内射少妇| 国产精品99精品无码视亚| 久久久久久亚洲AV无码专区| 精品久久久无码21p发布|