2012-05-15 6 views
2

안녕 얘들 아 안드로이드 애플 리케이션을 사용하여 서버에 데이터베이스에 데이터를 보내는 것에 대해 질문하고 싶습니다. PHP로 스크립트 코드를 작성하고 있습니다.안드로이드에서 데이터베이스 서버로 데이터 보내기

 <?php 
      $coonect=mysql_connect("myhost of the site ","root",""); 
     if(!$coonect){ 
     echo "Data_base error"; 
     die(mysql_error()); 
     } 
     ?> 
     <?php 
      $username=$_POST['menu_name']; 
       $id=$_POST['id']; 

     $db_select=mysql_select_db("TableName"); 
     if(!$db_select){ 
      die(mysql_error()); 
      echo" error"; 

    } 
     $query= "INSERT INTO `DatabaseName`.`TableName` (
        `name` , 
        `id` 
         ) 
       VALUES (
       '{$username}', '{$id}' 
         ); " ; 

        if($medo=mysql_query($query)){ 
      header("localhost/filename"); 
      exit; 
       }else{ 
    echo"<p> Error</p>"; 
    die(mysql_error()); 
      } 

       ?> 

     <?php 
      mysql_close($coonect); 
     ?> 

그리고 행동 부턴의 코드는 이와 같이 안드로이드에 있습니다.

  public void postData() { 
// Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://mysite/script.php"); 

    try { 
    // Add your data 
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
    nameValuePairs.add(new BasicNameValuePair("menu_name", "any data")); 
    nameValuePairs.add(new BasicNameValuePair("id", "0345644")); 
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

    // Execute HTTP Post Request 
    HttpResponse response = httpclient.execute(httppost); 

    } catch (ClientProtocolException e) { 
    // TODO Auto-generated catch block 
    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    } 
    } 

는 내가와 내가 뭔가 어떤 isit 하를 넣어야하는 경우가 않는 연결을 설정 Androidmainfest 파일에 어떤 일을 변경 해달라고?! 하지만 APK 작업 괜찮아요하지만 일을 dosent 내가 내 코드에서 뭔가 잘못하고있어 또는 나는 안드로이드mainfest에 어떤 권한을 넣어해야합니까 뭐가 잘못 됐는지 아니 ??? 어떤 도움말 행복

답변

2

는 지금까지 내가 아는 한, 모든 네트워크 통신은 매니페스트 파일에서이

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

필요합니다. 그러나 나는 이것이 정말로 당신이 당신의 일을하는 것을 막는 지의 여부를 알 수는 없습니다. 어쩌면 이것을 추가 한 후에 터미널 에뮬레이터 나 그런 앱을 사용하여 안드로이드 장치에서 ping 테스트를 수행 할 수 있습니다. 이 정보를 얻는 데 도움이 필요하면 알려주십시오.

+0

감사합니다. makn 나는 모든것이 괜찮은지 알려주겠습니다. :) – RoMedo

1

예 아니요, 매니페스트에서 아래처럼 인터넷 권한을 부여해야합니다. 당신은 API 수준보다 높은 13에 안드로이드 프로그램을 실행하려는 경우

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

, 당신은 메인 스레드가 아닌 백그라운드 스레드에서 인터넷 부분에 연결을 코딩해야합니다.

API 레벨 13 이하에서 실행하는 경우 연결 부분을 어디에 코딩해야할지 걱정할 필요가 없습니다.

추신. : 이것은 안드로이드에서 HTTP POSTHTTP GET을 처리하는 예제입니다.

+0

고맙습니다. 나는 모든 것을 잘 해낼 것입니다. 일 :) – RoMedo

관련 문제