Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中通过volley连接web api_Android_Asp.net Web Api_Android Volley - Fatal编程技术网

如何在android中通过volley连接web api

如何在android中通过volley连接web api,android,asp.net-web-api,android-volley,Android,Asp.net Web Api,Android Volley,我有一个像贝娄一样的wep api [HttpPost] public dynamic GetData(string sp, Dictionary<string, dynamic> dict, string db) { Dictionary<string, dynamic> defultdr = new Dictionary<string, dynamic>(); if (dict

我有一个像贝娄一样的wep api

[HttpPost]
        public dynamic GetData(string sp, Dictionary<string, dynamic> dict, string db)
        {
            Dictionary<string, dynamic> defultdr = new Dictionary<string, dynamic>();
            if (dict != null)
            {
                defultdr = dict;
            }
            System.Data.DataTable dt = DAL.GetDataTableFromStoredProc(sp, defultdr, System.Configuration.ConfigurationManager.
ConnectionStrings[db].ConnectionString);

            return Request.CreateResponse<System.Data.DataTable>(HttpStatusCode.OK, dt);
        }
[HttpPost]
公共动态GetData(字符串sp、字典dict、字符串db)
{
Dictionary defultdr=新字典();
if(dict!=null)
{
defultdr=dict;
}
System.Data.DataTable dt=DAL.GetDataTableFromStoredProc(sp、defultdr、System.Configuration.ConfigurationManager。
ConnectionString[db]。ConnectionString);
返回请求.CreateResponse(HttpStatusCode.OK,dt);
}
在android中 应用程序文件

public class Tapplication extends Application {
    private RequestQueue mRequestQueue;
    private static Tapplication mInstance;
    public static final String TAG = Tapplication.class.getSimpleName();
    private static final int MY_SOCKET_TIMEOUT_MS = 120000;
    private static Context mContext;

    @Override

    public void onCreate() {
        super.onCreate();


        mInstance = this;
        mContext = getApplicationContext();

    }

    public static Context getContext() {
        return mContext;
    }

    public static synchronized Tapplication getInstance() {

        return mInstance;
    }

    public RequestQueue getRequestQueue() {
        if (mRequestQueue == null) {
            mRequestQueue = Volley.newRequestQueue(getApplicationContext());

        }

        return mRequestQueue;
    }

    public <T> void addToRequestQueue(Request<T> req, String tag) {
        // set the default tag if tag is empty
        req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
        getRequestQueue().add(req);
    }

    public <T> void addToRequestQueue(Request<T> req) {

//        req.setRetryPolicy(new DefaultRetryPolicy(MY_SOCKET_TIMEOUT_MS, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
//                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        req.setTag(TAG);
        getRequestQueue().add(req);
    }

    public void cancelPendingRequests(Object tag) {
        if (mRequestQueue != null) {
            mRequestQueue.cancelAll(tag);
        }
    }

}
公共类应用程序扩展应用程序{
私有请求队列mRequestQueue;
私人静电干扰;
公共静态最终字符串标记=Tapplication.class.getSimpleName();
私有静态最终int MY_SOCKET_TIMEOUT_MS=120000;
私有静态上下文mContext;
@凌驾
public void onCreate(){
super.onCreate();
mInstance=这个;
mContext=getApplicationContext();
}
公共静态上下文getContext(){
返回mContext;
}
公共静态同步应用程序getInstance(){
回报率;
}
公共请求队列getRequestQueue(){
if(mRequestQueue==null){
mRequestQueue=Volley.newRequestQueue(getApplicationContext());
}
返回mrequest队列;
}
公共无效addToRequestQueue(请求请求,字符串标记){
//如果标记为空,则设置默认标记
请求setTag(TextUtils.isEmpty(tag)?tag:tag;
getRequestQueue().add(请求);
}
公共无效addToRequestQueue(请求请求){
//请求setRetryPolicy(新的DefaultRetryPolicy(MY_SOCKET_TIMEOUT_MS,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
//DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
要求设置标签(标签);
getRequestQueue().add(请求);
}
公共作废取消挂起请求(对象标记){
if(mRequestQueue!=null){
mRequestQueue.cancelAll(标记);
}
}
}
当我打电话的时候

            JSONObject json = new JSONObject();
            Map<String, String> mp = new HashMap();
            mp.put("@id", ((EditText) findViewById(R.id.edt_login_user)).getText().toString());
            mp.put("@pass", ((EditText) findViewById(R.id.edi_login_password)).getText().toString());
            json.put("db", getString(R.string.DB_SCM));
            json.put("sp","test_api");
            json.put("dict", null);
           //json.put("dict", mp);
            Tapplication.getInstance().addToRequestQueue(new JsonObjectRequest(Method.POST, getString(R.string.api_v1_get_data), json, loginListener(), genericErrorListener()));
JSONObject json=new JSONObject();
Map mp=新的HashMap();
mp.put(“@id”,((EditText)findViewById(R.id.edt\u login\u user)).getText().toString());
mp.put(“@pass”,((EditText)findViewById(R.id.edi\u login\u password)).getText().toString());
put(“db”,getString(R.string.db_SCM));
put(“sp”,“test_api”);
put(“dict”,null);
//json.put(“dict”,mp);
Tapplication.getInstance().addToRequestQueue(新的JsonObjectRequest(Method.POST、getString(R.string.api_v1_get_data)、json、loginListener()、GenericeErrorListener());
E/Volley:[144]基本网络。性能请求:意外响应代码 404

它在《邮差》上运行,但在android上不运行


怎么办?在WebAPI中创建模型解决了我所缺少的问题