首页 > 解决方案 > Android Studio 和 Flask

问题描述

对于我在 stackoverflow 和其他网站上搜索的所有内容,我找不到我想要的东西。我是 Android Studio 的新手,我正在尝试通过 Android Studio 上的移动应用程序上传一个文件,以便由 Flask 服务器接收并存储在一个文件夹中。

这是我与烧瓶相关的代码:

import flask

app = flask.Flask(__name__)

app_dir = r"C:\Users\JJ\OneDrive\Desktop\Flask Server\files"

@app.route('/', methods = ['GET', 'POST'])
def handle_request():
    if request.method == 'POST':
        dataa=request.data
        filemake= dataa.decode('utf-8')
        """new= dataa.replace('/document/primary:', '')
        print(new)"""
        d, filename= filemake.split(":")
        print(filename)
        file= app_dir+"/"+filename

app.run(host="0.0.0.0", port=5000, debug=True)

这是我与android studio相关的代码:

package com.example.myandroidapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

import java.util.Objects;

public class obfuscateActivity extends AppCompatActivity {

    private ImageButton pick_btn;
    private Button upload_btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_obfuscate);
        Objects.requireNonNull(getSupportActionBar()).setTitle("Upload APK");

        findViews();
        setClickListeners();
    }
    private void findViews(){
        upload_btn = findViewById(R.id.btn_upload);
        pick_btn = findViewById(R.id.btn_pick);
    }
    private void setClickListeners(){
        pick_btn.setOnClickListener(v->{
            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
            intent.setType("*/*");
            startActivityForResult(intent, 7);
        });

        upload_btn.setOnClickListener(v->finish());
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub

        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 7:
                if (resultCode == RESULT_OK) {
                    String PathHolder = data.getData().getPath();

                    ProgressDialog dialog = ProgressDialog.show(obfuscateActivity.this, "Processing",
                            "Loading. Please wait...", true);
                    dialog.show();

                    int secondsDelayed = 5;
                    new Handler().postDelayed(() -> {
                        dialog.dismiss();
                        Toast.makeText(getApplicationContext(),"Done processing",Toast.LENGTH_SHORT).show();
                    }, secondsDelayed * 1000);
                }
                break;

        }
    }
}

我只是不知道如何通过 Android 发送文件。我可以在 Android Studio 中打开文件菜单。现在我只需要编码部分的帮助,将该文件发送到我的 Flask 服务器并存储在文档文件夹中。

我已经提供了我能做的所有代码,我希望有人在这里帮助我完成那段代码。

标签: pythonandroidandroid-studioflask

解决方案


推荐阅读