如何在android中通过volley连接web api
我有一个像贝娄一样的wep 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
[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中创建模型解决了我所缺少的问题