zoukankan      html  css  js  c++  java
  • 大二下学期团队项目(app端web请求)

    今日想要完成手机端请求web服务器接受数据,显示到手机端,使用xUtils3

    发送请求,接受web服务器发回来的json数据,但是app无法请求成功本机的flask项目,连接到同一网络,关闭防火墙,请求本机的地址,还是无法访问。

    明日讲重点解决这一问题,并将其他队员修改后的前端界面与自己的后台进行连接。

    package com.example.cloudlibrary;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.os.Environment;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ProgressBar;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import org.w3c.dom.Text;
    import org.xutils.common.Callback;
    import org.xutils.common.task.PriorityExecutor;
    import org.xutils.http.RequestParams;
    import org.xutils.x;
    
    import java.io.File;
    
    public class xUtils3TestActivity extends AppCompatActivity implements View.OnClickListener{
        private Button test_download;
        private ProgressBar progressbar;
        private Button test_upload;
        private TextView test_text;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_x_utils3_test);
            test_download=(Button)findViewById(R.id.test_download);
            progressbar=(ProgressBar)findViewById(R.id.test_progressbar);
            test_upload=(Button)findViewById(R.id.test_upload);
            test_text=(TextView)findViewById(R.id.test_text);
            test_upload.setOnClickListener(this);
            test_download.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.test_download:
                    downloadFile();
                    break;
                case R.id.test_upload:
                    uploadFile();
                    break;
            }
    
        }
        public void uploadFile(){
            RequestParams params = new RequestParams("http://127.0.0.1:5000/show");
            //params.setMultipart(true);
            params.addBodyParameter("type","喜剧");
            params.addBodyParameter("date","2020");
            params.addBodyParameter("area","中国");
            params.addBodyParameter("first","star_1");
            params.addBodyParameter("num","20");
            //params.addBodyParameter("File",new File(Environment.getExternalStorageDirectory()+"/test_download/YLY.jpg"),null,"YLY.jpg");
            x.http().post(params, new Callback.CacheCallback<String>() {
    
                @Override
                public boolean onCache(String result) {
                    return false;
                }
    
                @Override
                public void onSuccess(String result) {
                    try {
                        JSONObject object=new JSONObject(result);
                        JSONArray array=object.optJSONArray("data");
                        for(int i=0;i<array.length();i++){
    //                        map=new HashMap<>();
                            String title=array.getString(i);
                            test_text.setText(title);
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
                @Override
                public void onError(Throwable ex, boolean isOnCallback) {
                    Log.e("TAG","onError=="+ex.toString());
                }
    
                @Override
                public void onCancelled(CancelledException cex) {
                    Log.e("TAG","onCancelled=="+cex.toString());
                }
    
                @Override
                public void onFinished() {
                    Log.e("TAG","onFinished");
                }
            });
        }
        public void downloadFile(){
            RequestParams params = new RequestParams("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farticle%2Fca3c577fca3ed067015ba144d11c4bcdd61348c4.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1621306046&t=66837f7202d0d974bd0be653b2754dea");
            params.setSaveFilePath(Environment.getExternalStorageDirectory()+"/test_download/YLY.jpg");
            params.setCancelFast(true);
            params.setAutoRename(true);
            params.setAutoResume(true);
            params.setExecutor(new PriorityExecutor(3,true));
            x.http().get(params, new Callback.ProgressCallback<File>() {
    
                @Override
                public void onWaiting() {
                    Log.e("TAG","onWaiting");
                }
    
                @Override
                public void onStarted() {
                    Log.e("TAG","onStarted");
                }
    
                @Override
                public void onLoading(long total, long current, boolean isDownloading) {
                    progressbar.setMax((int)total);
                    progressbar.setProgress((int)current);
                    Log.e("TAG","onLoading=="+current+"/"+total+",isDownloading=="+isDownloading);
                }
    
                @Override
                public void onSuccess(File result) {
                    Log.e("TAG","onSuccess=="+result.toString());
                    Toast.makeText(xUtils3TestActivity.this,"下载完成",Toast.LENGTH_LONG).show();
                }
    
                @Override
                public void onError(Throwable ex, boolean isOnCallback) {
                    Log.e("TAG","onError=="+ex.toString());
                }
    
                @Override
                public void onCancelled(CancelledException cex) {
                    Log.e("TAG","onCancelled=="+cex.toString());
                }
    
                @Override
                public void onFinished() {
                    Log.e("TAG","onFinished");
                }
            });
        }
    }
  • 相关阅读:
    MS CRM 2011 C#中获取Web Resource
    MS CRM 2011 Form与Web Resource在JScript中的相互调用
    MS CRM 2011 JScript操作lookup control
    MS CRM 2011 导出Ribbon的定义
    MS CRM 2011 为64位Outlook安装Silverlight
    MS CRM 2011 JScript getValue 与 setValue方法
    MS CRM 2011 在JScript中同步和异步使用REST Endpoint
    C#实现全局快捷键(系统热键)响应(转)
    程序隐藏启动的C#实现经验
    WinForm程序启动时不显示主窗体
  • 原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/14762943.html
Copyright © 2011-2022 走看看