python - 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 服务器并存储在文档文件夹中。
我已经提供了我能做的所有代码,我希望有人在这里帮助我完成那段代码。
解决方案
推荐阅读
- google-sheets - 谷歌表格/谷歌财经返回股票达到最高或最低价格的那一天
- c++ - C++中`int* const& x`和`int* const x`的区别
- r - R XML提取日期时间列返回错误值
- docusignapi - Docusign API Explorer 未预填充字段
- cuda - 奇异值分解中一行零的作用是什么?
- java - @RequestBody 和 @RequestParam 的 RestTemplate
- sql-server - 唯一约束,包括引用表中的字段
- laravel - 即使请求中有空值,如何允许插入数据?
- ruby-on-rails - 活动存储视频的 Rails 预览不起作用
- parameters - 空手道中的特定查询参数