PDA

View Full Version : ارسال و دریافت داده



darkenerboy
سه شنبه 04 تیر 1392, 07:58 صبح
سلام به همه :لبخندساده:
کسی سمپلی درباره ی ارسال و دریافت و پارس داده برپایه متد post داره ؟ :متفکر:
متشکر میشم اگه کسی کمک کنه :بوس::قلب:

rubiks.kde
سه شنبه 04 تیر 1392, 12:47 عصر
سلام این هم یه نمونه کد :

توی این تابع کانکشن تعریف شده و از متد پست استفاده شده برای ارسال داده و دریافت به صورت json هست.
public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {

// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));

HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "n");
}
is.close();
json = sb.toString();
Log.e("JSON", json);
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}

// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}

// return JSON String
return jObj;

}

این تابع هم داره طریقه استفاده از تابع بالا رو نشون میده :

// Testing in localhost using wamp or xampp
// use http://10.0.2.2/ to connect to your localhost ie http://localhost/
private static String loginURL = "http://10.0.2.2/ah_login_api/";
private static String registerURL = "http://10.0.2.2/ah_login_api/";

private static String login_tag = "login";
private static String register_tag = "register";

// constructor
public UserFunctions(){
jsonParser = new JSONParser();
}

/**
* function make Login Request
* @param email
* @param password
* */
public JSONObject loginUser(String email, String password){
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", login_tag));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("password", password));
JSONObject json = jsonParser.getJSONFromUrl(loginURL, params);
// return json
// Log.e("JSON", json.toString());
return json;
}

darkenerboy
سه شنبه 04 تیر 1392, 19:24 عصر
i love u :قلب: :بوس:

darkenerboy
سه شنبه 04 تیر 1392, 22:51 عصر
سلاااااااااااام
خوب حالا توی کامپیوترم چجوری میشه این رو روی شبیه ساز تست کنم ؟
منظورم اینکه سرور رو چیکار کنم ؟

rubiks.kde
سه شنبه 04 تیر 1392, 23:02 عصر
سلاااااااااااام
خوب حالا توی کامپیوترم چجوری میشه این رو روی شبیه ساز تست کنم ؟
منظورم اینکه سرور رو چیکار کنم ؟

از این سرورهای local مثل wamp یا xamp یا iis ماکروسافت استفاده کن.ولی توجه کن که توی تمام این سرورها زمانی که شما توی مرورگر کامپیوتر میخواهید بهشون وصل بشید از localhost یا 127.0.0.1 استفاده میکنید ولی از توی شبیه ساز آندورید باید از 10.0.2.2 (همون طور که توی مثال استفاده شده) باید استفاده کنی.

darkenerboy
سه شنبه 04 تیر 1392, 23:09 عصر
خوشم میاد مثل خودم تو برنامه نویس زندگی میکنی :لبخند:
مرسی عزیز

mahsab
شنبه 30 شهریور 1392, 15:24 عصر
یه سوال ؟

تو سی شارپ می شه دو تا برنامه جدا از همو همزمان Run کرد در حالی که یکی نقش برنامه server و یکی دیگه نقش client رو داشته باشه .
می خوام بدونم می شه برنامه ی کلاینت رو روی شبیه ساز اندروید اجرا کرد در حالی که برنامه سرور از سمت یه برنامه که با سی شارپ نوشتیم پاسخ گو باشه؟؟ اصلا داریم همچین چیزی مردم ؟؟؟؟

rubiks.kde
شنبه 30 شهریور 1392, 15:35 عصر
یه سوال ؟

تو سی شارپ می شه دو تا برنامه جدا از همو همزمان Run کرد در حالی که یکی نقش برنامه server و یکی دیگه نقش client رو داشته باشه .
می خوام بدونم می شه برنامه ی کلاینت رو روی شبیه ساز اندروید اجرا کرد در حالی که برنامه سرور از سمت یه برنامه که با سی شارپ نوشتیم پاسخ گو باشه؟؟ اصلا داریم همچین چیزی مردم ؟؟؟؟


بله این کار رو میتونید انجام بدید و با سوکت خیلی راحت هم هست.
فقط شبیه ساز آندروید نیاز به port redirection داره که اونم چند خط دستور هست که باید توسط adb اجرا بشه