2017-10-03 17 views
0

私はモバイルアプリを開発していますが、これはデータをデータベースに保存していません。 アプリはウェブサービスを消費し、これはデータベースに保存されます。他のクローズでは、すべて正常に動作していますが、これではありません。私はそれが許可か別の問題のためかどうかわかりませんが、少し助けてください。私の英語のために申し訳ありませんが良いことではないかもしれません。インターネットのアクセス許可?

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.ctorres.superagentemovil3"> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

<!-- android:icon="@mipmap/ic_launcher" --> 
<!-- android:roundIcon="@mipmap/ic_launcher_round" --> 
<application 
    android:allowBackup="true" 
    android:icon="@drawable/icono_agente" 
    android:label="@string/app_name" 
    android:roundIcon="@drawable/icono_agente" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".superagente.SplashActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 

</manifest> 

この方法は、Webサービス

@Override 
public UsuarioEntity getClaveAcceso(String usuarioId, String claveAcceso, String pregunta, String segundaClaveAcceso) { 
    UsuarioEntity user; 
    try { 
     user = new UsuarioEntity(); 

     String url = Constante.IPORHOST + "webApi_2/apigeneral/ApiGeneral/ValidarClave/?idcliente_usu=" + usuarioId + "&pass1_usu=" + claveAcceso + "&pregunta_usu=" + pregunta + "&respuesta_usu=" + segundaClaveAcceso; 
     JSONArray arrayJason = utils.getJSONArrayfromURL(url); 
     Log.e("Json", arrayJason.toString()); 
     if (arrayJason != null) { 
      if (arrayJason.length() > 0) {          
       user.setCodCliente(usuarioId); 
       user.setClaveAcceso(claveAcceso); 
       user.setPregunta(pregunta); 
       user.setSegundaClaveAcceso(segundaClaveAcceso); 
      } else { 
       user = null; 
      } 
     } else { 
      user = null; 
     } 

    } catch (Exception e) { 
     Log.getStackTraceString(e); 
     user = null; 
    } 

    return user; 
} 

を呼び出し、この1つはすべての

private class informacionTarjeta extends AsyncTask<String, Void, UsuarioEntity> { 
    String respuesta = txt_seg_clave.getText().toString(); 
    String clave = txt_clave.getText().toString(); 
    String confirmclave = txt_comfirm_clave.getText().toString(); 

    @Override 
    protected UsuarioEntity doInBackground(String... params) { 
     UsuarioEntity user; 
     try { 
      SuperAgenteDaoInterface dao = new SuperAgenteDaoImplement(); 
      user = dao.getClaveAcceso(usuario.getUsuarioId(), clave, validaPregunta(), respuesta); 
      //Log.e("idCliente", "CodCliente=" + user.getCodCliente() + ", usuarioId=" + usuario.getUsuarioId()); 
      //usuario.setClaveAcceso(user.getClaveAcceso()); 
     } catch (Exception e) { 
      user = null; 
      //flag_clic_ingreso = 0; 
     } 
     return user; 
    }   
} 
+0

とは何ですか?私はあなたのコードを参照してください。しかし、あなたは何が悪くなったのか説明しませんでした。例外?データなし?何? – babay

+0

@ピエロあなたの質問はどこですか? – Dungnbhut

+0

申し訳ありませんが、私の問題は、Webサービスがデータを送信しないことです。もちろん、データをデータベースに保存しないため、アクセス権などの問題があるかどうかはわかりません。サービスは機能しています。 – Piero

答えて

0

まず、 Webサービスを消費するメソッドを呼び出す呼び出すクラスのコードですスクリプトが正しく動作していれば、サーバー側でテストしましたか?

郵便配達員とのよくあるテストAPIコールバック。

第2:

サーバー側からのJson要求を使用します。

if(jsonObject.has('state'=='2')) 
{ 
Log.d(Error, "ERROR"); 
}else{ 
/*Inserted*/ 
} 
+0

はいサービスは正しく、サービス上のすべてのデータベースはうまくいっていますが、サービスを動作していません。そのクラスをやり直そうとしましたが、機能しませんでした。ご回答ありがとうございます。 – Piero

+0

サービスを呼び出すクラスでそのサンプルを使用する必要がありますか? – Piero

関連する問題