2013-05-07 4 views
-1

에 데이터를 게시하는 방법, 사용자가 휴대 전화에서 이름, 메모 및 이미지와 약간의 위시리스트에 항목을 추가 할 수있는 위시리스트가있다. 그리고이 데이터를 DB의 서버 측에 보내고 싶습니다. 형식 안드로이드 - 내 응용 프로그램에서 서버 DB

{ 
    "post": { 
    "product name": "somename", 
    "note": "description of the product", 
    "image": "http://localhost/someimage.jpg", 
    }, 
} 

그래서 내 질문에 내가이 JSON 어레이를 형성하고 ... 서버 DB에 을 게시하는 방법과 클라이언트 측에서 POST 요청을받을 수있는 PHP를 코딩 할 수있는 방법입니다 .. 아래입니까? Fun()를 호출 이제

public void Fun() 

{ 
JSONObject Json,Mainjson; 
String Data; 
try { 
      Json.put("product name", "somename"); 
      Json.put("note", "description of the product"); 
      Json.put("image","http://localhost/someimage.jpg"); 
      Mainjson.put("post",Json); 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     Data = Mainjson.toString(); 
     Log.e("Rsponse", Data); 

     PostData.nameValuePairs = new ArrayList<NameValuePair>(); 
     PostData.add(new BasicNameValuePair("data", Data)); 
} 

: 당신의 mainActivity

public class HttpClass 
{ 
public static String postData(String url,List<NameValuePair> params) { 
    // Create a new HttpClient and Post Header 

    String responseString = ""; 
    String responsemsg = ""; 

    try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     //String tempUrl = HungryPagesConfig.registrationAPI; 
     HttpPost httppost = new HttpPost(url); 
     httppost.setEntity(new UrlEncodedFormEntity(params)); 
     HttpResponse response = httpclient.execute(httppost); 
     responseString = EntityUtils.toString(response.getEntity()); 
     // Log.e("Rsponse", EntityUtils.toString(response.getEntity())); 

     Log.e("Rsponse", responseString); 
    } catch (UnsupportedEncodingException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

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

    return responseString; 
} 
} 

만들기 포스트 () : 사전에 감사합니다 ....

+0

서버 백엔드는 PHP에 있어야합니까? –

+0

아니요! 다른 옵션은 무엇일까요? –

+0

Java 및 Google App Engine을 사용할 수 있습니다. Eclipse에서 새로운 "Google App Engine Connected Android App"을 만들면 앱과 서버가 백엔드가됩니다. 그런 다음 엔티티를 서버에 추가하고 IDE에서 안드로이드 클라이언트 라이브러리를 생성 할 수 있습니다. RESTful하고 안전합니다. –

답변

1

이 클래스를 확인하십시오 게시물을 원하는 모든 기능 o 성공적으로 수행되어야합니다.

확인 다른 클래스, PostData :

public class PostData 
{ 

String url; 
JSONObject add; 
public HttpClass jParser = new HttpClass(); 
public void post() 
{ 
tempUrl = HungryPagesConfig.AddMenuItemAdmin; 
     try { 
      add = new JSONObject(jParser.postData(url, 
        nameValuePairs)); 
      Log.e("Rsponse", add.toString()); 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

} 
} 
+0

고마워요 !! 임 너무 초보자. 그래서 나는 질문이있다. 어디에서 http 클래스와 postdata 클래스를 만들어야합니까? .. 내가 다른 Java 파일을 만들 필요가 있습니까? 나는 주된 활동에 재미를 더했다. –

+0

예를 들어, 주 활동을 호출하는 모든 packge와 fun에서 httpclass.java 파일과 postdata.java 파일을 생성해야합니다 .i 버튼을 클릭하거나 load.so uhav에 데이터를 게시하려는 경우 너 okk 좋아해. – ishu

0

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://yourwebsite.com.au/index.jsp"); 
String trackid= getTrackid(); 
List<NameValuePair> namevaluepairs = new ArrayList<NameValuePair>(2); 
namevaluepairs.add(new BasicNameValuePair("columval1","123")); 
namevaluepairs.add(new BasicNameValuePair("columval2","145")); 
namevaluepairs.add(new BasicNameValuePair("columval3","445")); 
httppost.setEntity(new UrlEncodedFormEntity(namevaluepairs)); 
HttpResponse response = httpclient.execute(httppost); 
HttpEntity rp = response.getEntity(); 
String origresponseText = EntityUtils.toString(rp); 
String htmlTextStr = Html.fromHtml(origresponseText).toString(); 
pass=htmlTextStr.trim(); 
+0

Thx !! btw, 내 애플 리케이션 에이 코드를 추가해야합니까 ?? –

+0

어디서든지 쓸 수 있습니다 ... 예를 들어, 버튼을 클릭하면 원격 DB에 일부 데이터를 삽입하려는 경우 버튼 내에서 동일한 코드를 작성합니다. –

+0

및 json 파서를 코드화해야한다고 생각합니다. 클라이언트 쪽도 .. 좋아? –

관련 문제