1

Web サービスからデータを読み取るアプリを作成しました。しかし、実際のデバイスで実行しようとしたとき。それは動作しません。最初の画面で停止しただけで、アプリのタイトル以外は何も表示されません。webserice からデータを読み込めるようです。何か設定する必要がありますか?

アプリにはインターネット アクセス許可がありますが、サービスはローカルで実行されているため、現時点では必要ありません。アイデアや同様の経験はありますか?

メインクラス:

public class Dashboard extends FragmentActivity implements OnClickListener, ClientDetailActivity.OnHeadlineSelectedListener {

Button btnConociendoAlCliente, btnMaterialDeApoyo, btnMaterialPromocional;

LinearLayout panelConociendoAlCliente, panelMaterialDeApoyo,
        panelMaterialPromocional, panelFragment;
Fragment listFragment;
ClientDetailActivity clientDetailActivity;

private ListView list;


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dashboard);

    initComponents();
}

public void initComponents() {

    panelFragment = (LinearLayout) findViewById(R.id.panelFragment);
    panelMaterialDeApoyo = (LinearLayout) findViewById(R.id.panelMaterialDeApoyo);
    panelMaterialPromocional = (LinearLayout) findViewById(R.id.panelMaterialPromocional);

    panelFragment.setVisibility(View.GONE);
    panelMaterialDeApoyo.setVisibility(View.GONE);
    panelMaterialPromocional.setVisibility(View.GONE);

    btnMaterialDeApoyo = (Button) findViewById(R.id.btnMaterialDeApoyo);
    btnMaterialPromocional = (Button) findViewById(R.id.btnMaterialPromocional);
    btnConociendoAlCliente = (Button) findViewById(R.id.btnConociendoAlCliente);

    btnConociendoAlCliente.setOnClickListener(this);
    btnMaterialDeApoyo.setOnClickListener(this);
    btnMaterialPromocional.setOnClickListener(this);

    clientDetailActivity = new ClientDetailActivity();
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.add(R.id.listFragment, clientDetailActivity);
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();

}

私の Web サービスは、クライアントに関するデータベースの日付から収集するだけです。これはコードです:

HttpClient httpClient = new DefaultHttpClient();
        HttpGet del = new HttpGet(ruta + "s");
        del.setHeader("content-type", "application/json");

        try {
            HttpResponse resp = httpClient.execute(del);
            String respStr = EntityUtils.toString(resp.getEntity());
            JSONArray respJSON = new JSONArray(respStr);
            clientes = new String[respJSON.length()];

            for (int i = 0; i < respJSON.length(); i++) {

                JSONObject obj = respJSON.getJSONObject(i);

                // Log.e("nombre", idCli);
                ClienteDetallado clienteDetallado = new ClienteDetallado();

                try {
                    clienteDetallado.setCod_Medico(obj.getString("Cod_Medico"));
                } catch (Exception e) {
                    clienteDetallado.setCod_Medico("N/A");
                }

                try {
                    clienteDetallado.setNombre(obj.getString("Nombre"));
                } catch (Exception e) {
                    clienteDetallado.setNombre("N/A");
                }

                try {
                    clienteDetallado.setApellido(obj.getString("Apellido"));
                } catch (Exception e) {
                    clienteDetallado.setApellido("N/A");
                }


                clienteDetallados.add(clienteDetallado);
            }

            MyOwnArrayAdapter myOwnArrayAdapter = new MyOwnArrayAdapter(getActivity(), clienteDetallados);
            list.setAdapter(myOwnArrayAdapter);

        } catch (Exception ex) {
            Log.e("ServicioRest", "Error en listar!", ex);
        }

        return view;
    }

上記のフラグメントのメソッド getView() にあります。HttpClient クラスで使用される URL があります。エミュレータでは、すべて正常に動作します。しかし、デバイスにはありません。

ありがとう!

4

0 に答える 0