2011-11-27 4 views
0

안녕하세요 저는 안드로이드 개발 및 특히 앱에서 서버에 연결하는 초보자입니다. 현재 WAMP 서버의 데이터베이스에 안드로이드 앱을 연결하려고합니다. 앞으로 로그인 할 때이 방법을 사용하여 데이터베이스에 저장된 데이터를 검색하려고합니다. 나는이 모든 것을 지금 당장 혼란스럽게 생각하고 많은 튜토리얼을 보았고 나의 코드는 모든 튜토리얼에 게시 된 코드와 똑같은 것처럼 보이고 나는 모든 단계를 따라 갔다.WAMP 서버와 Eclipse를 Eclipse에 연결

저는이 문제에 진정으로 매달려 있고 내 문제에 대한 해결책을 찾을 수 없기 때문에이 문제를 도와 줄 수있는 사람들에게 매우 감사 할 것입니다.

대단히 감사합니다.

uses-permission android:name="android.permission.INTERNET" 

및 성공하지 아직 여러 가지 다른 가공 한 예를 따랐다 :

package eoghan.android; 

    import java.io.BufferedReader; 
    import java.io.InputStream; 
    import java.io.InputStreamReader; 
    import java.util.ArrayList; 
    import java.util.List; 

    import org.apache.http.HttpEntity; 
    import org.apache.http.HttpResponse; 
    import org.apache.http.NameValuePair; 
    import org.apache.http.client.HttpClient; 
    import org.apache.http.client.entity.UrlEncodedFormEntity; 
    import org.apache.http.client.methods.HttpPost; 
    import org.apache.http.impl.client.DefaultHttpClient; 
    import org.apache.http.message.BasicNameValuePair; 
    import org.json.JSONArray; 
    import org.json.JSONException; 
    import org.json.JSONObject; 

    import android.app.Activity; 
    import android.net.ParseException; 
    import android.os.Bundle; 
    import android.util.Log; 
    import android.widget.Toast; 

    public class FoodPHPActivity extends Activity { 



    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     String result = null; 
     InputStream is = null; 
     StringBuilder sb=null; 

     //http post 
     try{ 
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost("http://10.0.2.2/wamp/www/Food/food.php"); 

       List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
       nameValuePairs.add(new BasicNameValuePair("Food_Name", "Apple")); 

       httppost.setEntity((HttpEntity) new UrlEncodedFormEntity(nameValuePairs)); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       is = entity.getContent(); 
       Log.e("log_tag", "connection success "); 
       Toast.makeText(getApplicationContext(), "pass 123 ", Toast.LENGTH_SHORT).show(); 

     }catch(Exception e){ 
      Log.e("log_tag", "Error in http connection"+e.toString()); 
     } 

     //convert response to string 
     try{ 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
      sb = new StringBuilder(); 
      sb.append(reader.readLine() + "\n"); 
      String line="0"; 

      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 

      is.close(); 

      result=sb.toString(); 

     }catch(Exception e){ 
      Log.e("log_tag", "Error converting result "+e.toString()); 
     } 
     //parsing data 
     int fd_id = 0; 
     String fd_name = null; 

     try{ 
      System.out.println("Entering the try method to connect the JSON"); 

      JSONArray jArray = new JSONArray(result); 

      JSONObject json_data=null; 
      for(int i=0;i<jArray.length();i++){ 
        json_data = jArray.getJSONObject(i); 
        fd_id=json_data.getInt("Food_ID"); 
        fd_name=json_data.getString("Food_Name"); 
        Toast.makeText(getBaseContext(), "JSON works", Toast.LENGTH_LONG).show(); 

     } 

     } 
     catch(JSONException e1){ 
      Toast.makeText(getBaseContext(), "No Food Found", Toast.LENGTH_LONG).show(); 
     } 

     catch (ParseException e1){ 
      e1.printStackTrace(); 
     } 

     System.out.println(fd_id); 
     System.out.println(fd_name); 

    } 

} 

나는 선을 포함했다 .. 내 코드를 검색 할 수 있습니다.

정말 도움이 될만한 도움을 주시면 감사하겠습니다.

+0

문제가 정확히 무엇입니까? –

+0

정확한 오류를 추측 할 수 없으면 대신 여기에 logcat 오류를 붙여 넣으시겠습니까? – Urban

답변

0

외부 IP 주소를 가리키는 것 같습니다. 포트 포워딩과 모든 것을 홈 네트워크에서 올바르게 설정 했습니까? 어쩌면 적어도 외부에서 문제없이 액세스 할 수 있는지 테스트하기 위해 간단한 HTML 페이지를 설정해야합니다.

0

안녕하세요 코드에 문제가없는 것 같습니다. Wamp 서버 구성 연결에 문제가있는 것 같습니다. Wamp 서버가 제대로 작동하는지 확인하고 모든 인터넷 브라우저로 이동하여 localhost URL을 누르고 (localhost/wamp/www가도/식품/food.php) URL ..

0

다음 줄 바꾸기 :이 라인

HttpPost httppost = new HttpPost("[http://10.0.2.2/wamp/www/Food/food.php](LINK)"); 

을 :

HttpPost httppost = new HttpPost("[http://10.0.2.2/Food/food.php](LINK)"); 
+0

이 URL이 유효하지 않은 이유는 무엇입니까? – xav

관련 문제