Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 如何在安卓系统改造中使用POST方法_Android_Json_Retrofit_Retrofit2 - Fatal编程技术网

Android 如何在安卓系统改造中使用POST方法

Android 如何在安卓系统改造中使用POST方法,android,json,retrofit,retrofit2,Android,Json,Retrofit,Retrofit2,我想在Android中使用此URL获取数据。我使用改装库来执行POST和GET方法。 我的URL: 我想要POST输入,国家,半径和键,用于此URL和获取数据 如何为上述请求编写代码,如此行: @POST("?json={input}") Call<Response> getResponseWithID(@Path("input") String input); @POST(“?json={input}”) 调用getResponseWithID(@Path(“input”)字符串

我想在Android中使用此URL获取数据。我使用
改装
库来执行
POST
GET
方法。
我的URL

我想要
POST
输入国家半径,用于此URL和
获取
数据

如何为上述请求编写代码,如此行:

@POST("?json={input}")
Call<Response> getResponseWithID(@Path("input") String input);
@POST(“?json={input}”)
调用getResponseWithID(@Path(“input”)字符串输入);

我该怎么做?请帮助我。

您需要指定API方法,如下所示:

@GET("api/place/autocomplete/json")
Call<Response> getResponseWithID(Query("input") String input, Query("language") String language, @QueryMap Map<String, String> components);

您不需要POST方法,只需简单的GET即可。您需要按如下方式指定API方法:

@GET("api/place/autocomplete/json")
Call<Response> getResponseWithID(Query("input") String input, Query("language") String language, @QueryMap Map<String, String> components);

您不需要POST方法,只需简单地获取POST发送字段或正文

package nuvuw.com.nuvuw.utils;


import java.util.concurrent.TimeUnit;

import nuvuw.com.nuvuw.models.AcceptTaskModel;
import nuvuw.com.nuvuw.models.AddMyPartnerModel;
import nuvuw.com.nuvuw.models.AddPartnersModel;
import nuvuw.com.nuvuw.models.CardDetailModel;
import nuvuw.com.nuvuw.models.CatagoryModel;
import nuvuw.com.nuvuw.models.ChangePasswordModel;
import nuvuw.com.nuvuw.models.CollaborationFeedBackModel;
import nuvuw.com.nuvuw.models.CollaborationModel;
import nuvuw.com.nuvuw.models.CreateEventModel;
import nuvuw.com.nuvuw.models.DeleteImageModel;
import nuvuw.com.nuvuw.models.DeleteProjectImageModel;
import nuvuw.com.nuvuw.models.DiscoverModel;
import nuvuw.com.nuvuw.models.FolderCreateModel;
import nuvuw.com.nuvuw.models.FolderModel;
import nuvuw.com.nuvuw.models.FolderSaveModel;
import nuvuw.com.nuvuw.models.LicenseModel;
import nuvuw.com.nuvuw.models.MailSendModel;
import nuvuw.com.nuvuw.models.Profile_info_model;
import nuvuw.com.nuvuw.models.RegisterModel;
import nuvuw.com.nuvuw.models.ReviewModel;
import nuvuw.com.nuvuw.models.SaveDesignImageModel;
import nuvuw.com.nuvuw.models.SaveProjectDecideModel;
import nuvuw.com.nuvuw.models.SaveUserPartnerModel;
import nuvuw.com.nuvuw.models.SendInviteMailModel;
import nuvuw.com.nuvuw.models.SingleSignInModel;
import nuvuw.com.nuvuw.models.UpdateProjectInfoModel;
import nuvuw.com.nuvuw.models.UsersModel;
import nuvuw.com.nuvuw.models.WriteError;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Streaming;
import retrofit2.http.Url;


public class ApiServiceFactory {

    private static ApiService apiService_instance;
    static final int CONNECT_TIMEOUT_MILLIS = 20 * 1000;
    static final int READ_TIMEOUT_MILLIS = 20 * 1000;

    public static ApiService getApiService() {

        if (apiService_instance == null) {
            synchronized (ApiServiceFactory.class) {
                if (apiService_instance == null) {
                    apiService_instance = getRetrofit().create(ApiService.class);
                }
            }
        }
        return apiService_instance;
    }

    private static Retrofit getRetrofit() {
        OkHttpClient client = new OkHttpClient();
        client.connectTimeoutMillis();
        client.readTimeoutMillis();
        OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
                .connectTimeout(15, TimeUnit.SECONDS)
                .readTimeout(15, TimeUnit.SECONDS)
                .writeTimeout(15, TimeUnit.SECONDS)
                .build();
        return new Retrofit.Builder()
                .baseUrl(BasePosition.BASE_API)
                .client(okHttpClient)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

//        return new Retrofit.Builder()
//                .client(client)
//                .baseUrl(BasePosition.BASE_API)
//                .addConverterFactory(GsonConverterFactory.create())
//                .build();
    }

    public interface ApiService {
        //login
        @FormUrlEncoded
        @POST(BasePosition.API_LOGIN)
        Call<ResponseBody> getLoginUserIdentify(@Field("username") String userName, @Field("password") String passWord, @Field("grant_type") String grantType);

        @POST()
        Call<ResponseBody> forgotMail(@Url String userMail, @Body ChangePasswordModel changePasswordModel);

@GET
        Call<ResponseBody> getUserNotification(@Url String url_getnotification, @Header("Content-Type") String content, @Header("Authorization") String token);


    }

}
包nuvuw.com.nuvuw.utils;
导入java.util.concurrent.TimeUnit;
导入nuvuw.com.nuvuw.models.AcceptTaskModel;
导入nuvuw.com.nuvuw.models.AddMyPartnerModel;
导入nuvuw.com.nuvuw.models.AddPartnersModel;
导入nuvuw.com.nuvuw.models.CardDetailModel;
导入nuvuw.com.nuvuw.models.CatagoryModel;
导入nuvuw.com.nuvuw.models.ChangePasswordModel;
导入nuvuw.com.nuvuw.models.CollaborationFeedBackModel;
导入nuvuw.com.nuvuw.models.CollaborationModel;
导入nuvuw.com.nuvuw.models.CreateEventModel;
导入nuvuw.com.nuvuw.models.DeleteImageModel;
导入nuvuw.com.nuvuw.models.DeleteProjectImageModel;
导入nuvuw.com.nuvuw.models.DiscoverModel;
导入nuvuw.com.nuvuw.models.FolderCreateModel;
导入nuvuw.com.nuvuw.models.FolderModel;
导入nuvuw.com.nuvuw.models.FolderSaveModel;
导入nuvuw.com.nuvuw.models.LicenseModel;
导入nuvuw.com.nuvuw.models.MailSendModel;
导入nuvuw.com.nuvuw.models.Profile\u info\u model;
导入nuvuw.com.nuvuw.models.RegisterModel;
导入nuvuw.com.nuvuw.models.ReviewModel;
导入nuvuw.com.nuvuw.models.SaveDesignImageModel;
导入nuvuw.com.nuvuw.models.saveprojectdecidemel;
导入nuvuw.com.nuvuw.models.SaveUserPartnerModel;
导入nuvuw.com.nuvuw.models.SendInviteMailModel;
导入nuvuw.com.nuvuw.models.SingleSignInModel;
导入nuvuw.com.nuvuw.models.updateProjectInfo模型;
导入nuvuw.com.nuvuw.models.UsersModel;
导入nuvuw.com.nuvuw.models.WriteError;
导入okhttp3.MultipartBody;
导入okhttp3.OkHttpClient;
导入okhttp3.RequestBody;
进口okhttp3.0响应电子书;
2.电话;;
进口改装2.改装;
进口改装2.converter.gson.GsonConverterFactory;
导入文件2.http.Body;
导入2.http.Field;
导入2.http.FormUrlEncoded;
导入文件2.http.GET;
导入2.http.Header;
导入文件2.http.Multipart;
导入文件2.http.POST;
导入2.http.Part;
导入2.http.Streaming;
导入文件2.http.Url;
公共级工厂{
私有静态ApiService ApiService_实例;
静态最终int连接\u超时\u毫秒=20*1000;
静态最终整型读取超时时间=20*1000;
公共静态ApiService getApiService(){
if(apiService_instance==null){
已同步(ApiServiceFactory.class){
if(apiService_instance==null){
apiService_instance=getRefundation().create(apiService.class);
}
}
}
返回apiService\u实例;
}
私人静态改装GetRefundation(){
OkHttpClient=新的OkHttpClient();
client.connectTimeoutMillis();
client.readTimeoutMillis();
OkHttpClient OkHttpClient=新建OkHttpClient().newBuilder()
.connectTimeout(15,时间单位为秒)
.readTimeout(15,时间单位为秒)
.writeTimeout(15,时间单位。秒)
.build();
返回新的改装.Builder()
.baseUrl(BasePosition.BASE_API)
.客户(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
//返回新的改装.Builder()
//.客户(客户)
//.baseUrl(BasePosition.BASE_API)
//.addConverterFactory(GsonConverterFactory.create())
//.build();
}
公共接口服务{
//登录
@FormUrlEncoded
@POST(BasePosition.API\u登录)
调用getLoginUserIdentity(@Field(“用户名”)字符串username、@Field(“密码”)字符串password、@Field(“授权类型”)字符串grantType);
@POST()
调用forgotMail(@Url字符串userMail,@Body ChangePasswordModel ChangePasswordModel);
@得到
调用getUserNotification(@Url字符串Url_getnotification,@Header(“内容类型”)字符串内容,@Header(“授权”)字符串令牌);
}
}
此处的post call位置如下所示

ApiServiceFactory.ApiService apiService = ApiServiceFactory.getApiService();
        apiService.getLoginUserIdentify(userName, passWord, "password").enqueue(new Callback<ResponseBody>() {
            @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {

   //ur operation

    }

    @Override
    public void onFailure(Call<ResponseBody> call, Throwable t) {
        dialog.dismiss();
      //
    }
});
ApiServiceFactory.ApiService ApiService=ApiServiceFactory.getApiService();
apiService.getLoginUserIdentity(用户名、密码、“密码”).enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
//ur操作
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
dialog.dismise();
//
}
});

在此处张贴发送字段或正文

package nuvuw.com.nuvuw.utils;


import java.util.concurrent.TimeUnit;

import nuvuw.com.nuvuw.models.AcceptTaskModel;
import nuvuw.com.nuvuw.models.AddMyPartnerModel;
import nuvuw.com.nuvuw.models.AddPartnersModel;
import nuvuw.com.nuvuw.models.CardDetailModel;
import nuvuw.com.nuvuw.models.CatagoryModel;
import nuvuw.com.nuvuw.models.ChangePasswordModel;
import nuvuw.com.nuvuw.models.CollaborationFeedBackModel;
import nuvuw.com.nuvuw.models.CollaborationModel;
import nuvuw.com.nuvuw.models.CreateEventModel;
import nuvuw.com.nuvuw.models.DeleteImageModel;
import nuvuw.com.nuvuw.models.DeleteProjectImageModel;
import nuvuw.com.nuvuw.models.DiscoverModel;
import nuvuw.com.nuvuw.models.FolderCreateModel;
import nuvuw.com.nuvuw.models.FolderModel;
import nuvuw.com.nuvuw.models.FolderSaveModel;
import nuvuw.com.nuvuw.models.LicenseModel;
import nuvuw.com.nuvuw.models.MailSendModel;
import nuvuw.com.nuvuw.models.Profile_info_model;
import nuvuw.com.nuvuw.models.RegisterModel;
import nuvuw.com.nuvuw.models.ReviewModel;
import nuvuw.com.nuvuw.models.SaveDesignImageModel;
import nuvuw.com.nuvuw.models.SaveProjectDecideModel;
import nuvuw.com.nuvuw.models.SaveUserPartnerModel;
import nuvuw.com.nuvuw.models.SendInviteMailModel;
import nuvuw.com.nuvuw.models.SingleSignInModel;
import nuvuw.com.nuvuw.models.UpdateProjectInfoModel;
import nuvuw.com.nuvuw.models.UsersModel;
import nuvuw.com.nuvuw.models.WriteError;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Streaming;
import retrofit2.http.Url;


public class ApiServiceFactory {

    private static ApiService apiService_instance;
    static final int CONNECT_TIMEOUT_MILLIS = 20 * 1000;
    static final int READ_TIMEOUT_MILLIS = 20 * 1000;

    public static ApiService getApiService() {

        if (apiService_instance == null) {
            synchronized (ApiServiceFactory.class) {
                if (apiService_instance == null) {
                    apiService_instance = getRetrofit().create(ApiService.class);
                }
            }
        }
        return apiService_instance;
    }

    private static Retrofit getRetrofit() {
        OkHttpClient client = new OkHttpClient();
        client.connectTimeoutMillis();
        client.readTimeoutMillis();
        OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
                .connectTimeout(15, TimeUnit.SECONDS)
                .readTimeout(15, TimeUnit.SECONDS)
                .writeTimeout(15, TimeUnit.SECONDS)
                .build();
        return new Retrofit.Builder()
                .baseUrl(BasePosition.BASE_API)
                .client(okHttpClient)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

//        return new Retrofit.Builder()
//                .client(client)
//                .baseUrl(BasePosition.BASE_API)
//                .addConverterFactory(GsonConverterFactory.create())
//                .build();
    }

    public interface ApiService {
        //login
        @FormUrlEncoded
        @POST(BasePosition.API_LOGIN)
        Call<ResponseBody> getLoginUserIdentify(@Field("username") String userName, @Field("password") String passWord, @Field("grant_type") String grantType);

        @POST()
        Call<ResponseBody> forgotMail(@Url String userMail, @Body ChangePasswordModel changePasswordModel);

@GET
        Call<ResponseBody> getUserNotification(@Url String url_getnotification, @Header("Content-Type") String content, @Header("Authorization") String token);


    }

}
包nuvuw.com.nuvuw.utils;
导入java.util.concurrent.TimeUnit;
导入nuvuw.com.nuvuw.models.AcceptTaskModel;
导入nuvuw.com.nuvuw.models.AddMyPartnerModel;
导入nuvuw.com.nuvuw.models.AddPartnersModel;
导入nuvuw.com.nuvuw.models.CardDetailModel;
导入nuvuw.com.nuvuw.models.CatagoryModel;
导入nuvuw.com.nuvuw.models.ChangePasswordModel;
导入nuvuw.com.nuvuw.models.CollaborationFeedBackModel;
导入nuvuw.com.nuvuw.models.CollaborationModel;
导入nuvuw.com.nuvuw.models.CreateEventModel;
导入nuvuw.com.nuvuw.models.DeleteImageModel;
导入nuvuw.com.nuvuw.models.DeleteProjectImageModel;
导入nuvuw.com.nuvuw.models.DiscoverModel;
导入nuvuw.com.nuvuw.models.FolderCreateModel;
进口nuvuw