Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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
改装返回错误401,android 4.4.2的NullPointerException_Android_Retrofit - Fatal编程技术网

改装返回错误401,android 4.4.2的NullPointerException

改装返回错误401,android 4.4.2的NullPointerException,android,retrofit,Android,Retrofit,我的代码 我的错误句柄 private void autenticar(TipoLogin tipoLogin, Cidadao cidadao) throws Throwable { // Captura o tipo de opção de login final Integer opcao = tipoLogin.getCodigo(); this.apiAcessoDAO = FabricaDAO.criarApiAcessoDAO(this.context)

我的代码

我的错误句柄

 private void autenticar(TipoLogin tipoLogin, Cidadao cidadao) throws Throwable {
    // Captura o tipo de opção de login
    final Integer opcao = tipoLogin.getCodigo();

    this.apiAcessoDAO = FabricaDAO.criarApiAcessoDAO(this.context);


    Prefeitura prefeitura = null;
    PrefeituraDAO prefeituraDAO = null;

    try {
        prefeituraDAO = FabricaDAO.criarPrefeituraDAO(context);
        prefeitura = prefeituraDAO.carregar();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();

    // Crio um restadapter
    RestAdapter restAdapter = new RestAdapter.Builder()
            .setServer(prefeitura.getUrlBase())
            .setErrorHandler(new ExceptionNetwork(this.context))
            .setClient(new OkClient())
            .setConverter(new GsonConverter(gson))
            .build();

    CidadaoAPI cidadaoAPI = restAdapter.create(CidadaoAPI.class);

    ApiAcesso apiAcesso = null;

    // opção selecionada pelo usuário (tipo login)
    switch (opcao)
    {
        case 1:
            apiAcesso = cidadaoAPI.autenticar(cidadao.getSenhaPortal(), tipoLogin.getUrl(), cidadao.getFoneCelular1());
            break;
        case 2:
            apiAcesso = cidadaoAPI.autenticar(cidadao.getSenhaPortal(), tipoLogin.getUrl(), cidadao.getEmail());
            break;
        case 3:
            apiAcesso = cidadaoAPI.autenticar(cidadao.getSenhaPortal(), tipoLogin.getUrl(), cidadao.getCpf());
            break;
        case 4:
            apiAcesso = cidadaoAPI.autenticar(cidadao.getSenhaPortal(), tipoLogin.getUrl(), cidadao.getNumeroCartaoSus());
            break;
        case 5:
            apiAcesso = cidadaoAPI.autenticar(cidadao.getSenhaPortal(), tipoLogin.getUrl(), cidadao.getRegistroCidadao());
            break;
    }

    // Insere no banco de dados
    try {
        this.apiAcessoDAO.deletar();
        this.apiAcessoDAO.inserir(apiAcesso);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

要解决您的问题,您需要包括ok http库。但要注意兼容性问题。以下是我的工作设置:

compile 'com.squareup.retrofit:retrofit:1.7.1'
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'

如果要在If语句中检查null指针,那么应该确保在handleerror中的第一个If条件上也检查null指针。打印出来的行号与我所知道的行号不匹配,但是如果你没有得到回复,这可能是罪魁祸首。我想知道为什么空指针会出现。当我强制执行错误401时。401I返回null时出现错误getResponse我将该页面置于请求登录和密码授权的位置,并解决了该问题,谢谢。
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ java.lang.NullPointerException
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at br.com.appsap.app.exeption.ExceptionNetwork.handleError(ExceptionNetwork.java:52)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:286)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at $Proxy2.autenticar(Native Method)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at br.com.appsap.app.controller.implementacao.CidadaoControllerImplementacao.autenticar(CidadaoControllerImplementacao.java:176)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at br.com.appsap.app.controller.implementacao.CidadaoControllerImplementacao.login(CidadaoControllerImplementacao.java:129)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at br.com.appsap.app.view.LoginActivity$PlaceholderFragment.onClick(LoginActivity.java:320)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at android.view.View.performClick(View.java:4438)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at android.view.View$PerformClick.run(View.java:18422)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:733)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:95)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at android.os.Looper.loop(Looper.java:136)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5017)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:515)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-20 13:27:21.968    1243-1243/br.com.appsap.app W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)
compile 'com.squareup.retrofit:retrofit:1.7.1'
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'