2016-05-09 7 views
1

私のアンドロイドアプリはサーバーに接続し、データベースから情報を取得し、リストビューを埋めます。 xamppと私のlocalhostで正常に動作します。私のサーバーにファイルをアップロードした後、それは動作しません。ログ以外のエラーはありません。volley not populatingリモートサーバーのリストビュー

D /ボレー:[1] 2.onErrorResponse:ViewGuidesActivity

しかし、私は自分のWebブラウザ上で私のPHPファイルを実行すると、それは完全にJSONデータを返します。

public class ViewGuidesActivity extends AppCompatActivity { 

private static final String TAG = ViewGuidesActivity.class.getSimpleName(); 
private ProgressDialog pDialog; 
private List<Guide> guideList = new ArrayList<Guide>(); 
private ListView listView; 
private CustomListAdapter adapter; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_view_guides); 

    listView = (ListView) findViewById(R.id.list); 
    adapter = new CustomListAdapter(this, guideList); 
    listView.setAdapter(adapter); 

    pDialog = new ProgressDialog(this); 
    // Showing progress dialog before making http request 
    pDialog.setMessage("Loading..."); 
    pDialog.show(); 

    // Creating volley request obj 
    JsonArrayRequest movieReq = new JsonArrayRequest(AppConfig.URL_GET_GUIDE_LIST, 
      new Response.Listener<JSONArray>() { 
       @Override 
       public void onResponse(JSONArray response) { 
        Log.d(TAG, response.toString()); 
        hidePDialog(); 

        // Parsing json 
        for (int i = 0; i < response.length(); i++) { 
         try { 

          JSONObject obj = response.getJSONObject(i); 
          Guide guide = new Guide(); 
          guide.setNgno(obj.getString("ngno")); 
          guide.setEmail(obj.getString("email")); 
          guide.setName(obj.getString("name")); 


          // adding movie to movies array 
          guideList.add(guide); 

         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 

        // notifying list adapter about data changes 
        // so that it renders the list view with updated data 
        adapter.notifyDataSetChanged(); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      VolleyLog.d(TAG, "Error: " + error.getMessage()); 
      hidePDialog(); 

     } 
    }); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    this.getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    // Adding request to request queue 
    AppController.getInstance().addToRequestQueue(movieReq); 

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { 
      Guide newGuide = guideList.get(position); 
      String email = newGuide.getEmail(); 
      String ngno = newGuide.getNgno(); 
      //System.out.println(email); 

      Intent i = new Intent(getApplicationContext(), GuideDetails.class); 
      i.putExtra("email", email); 
      i.putExtra("ngno", ngno); 
      startActivity(i); 
     } 
    }); 

} 

私のPHPファイル:

$con=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 
$sql = "select * from guide"; 
$result = mysql_query($sql); 
$json = array(); 

if(mysql_num_rows($result)){ 
     while($row=mysql_fetch_assoc($result)){ 
       $json[]=$row; 
     } 
} 
mysql_close($con); 
echo json_encode($json); 

私は変換の過程で、私は時代遅れのチュートリアルに査読ので、私は、いくつかの非推奨メソッドを使用していることを承知している、とイムすべてPHP使用するファイルmysqliしかし、まず私は自分のアプリを動かす必要がありました。私は私のコードで同じURLを使用してい

http://srilankatouristguides.com/guideList.php

は、ここに私のJSONデータです。何が問題なの?それは私のローカルホストでうまく動作するので、それを理解できません。どんな助けもありがとう。

+0

dbユーザー名、パスワード、ホストが正しいかどうかを確認してください。 –

+1

1. onResponseメソッドが予期した結果を返すかどうか確認してください。 2)アダプターコードをポストする可能性があります。 – danypata

+0

'Log.d(TAG、response.toString());'行が何を印刷しているのか、まったく印刷されているのかを教えてください。これがサーバーから返されないデータか、リストビューが更新されないかどうかを確認する必要があります。 – ishmaelMakitla

答えて

0

私はそれを修正することができました。 mysqliを使用していないと、接続の問題が発生していました。おそらくサーバーは廃止されたメソッドを使用していないので、私のコードは機能しませんでした。 PHPコードをmysqliに変換すると、すべて動作します。ポインタのおかげで、ありがとう!

関連する問題