Farzad Sarseifi 575 ارسال شده در ۲۱ اسفند ۱۳۹۱ گزارش اشتراک گذاری ارسال شده در ۲۱ اسفند ۱۳۹۱ در این آموزش طریقه ارسال اطلاعات به یک وب سرویس را بررسی میکنیم. در این آموزش قصد داریم اطلاعات 4 فیلد که داده های 4 کادر ورودی میباشند را ارسال میکنیم نکات لازم : حتما آدرس و پورت طرف سرور را درست وارد نماییم و پرو تکل را هم معمولا http هست را بنویسیم. فایل xml : [align=left] <?xml version="1.0" encoding="UTF-8"?> android:layout_width="330dp" android:layout_height="450dip" android:fillViewport="true" > android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ffffff" > android:id="@+id/footer" android:layout_width="fill_parent" android:layout_height="90dip" android:layout_alignParentBottom="true" android:background="@layout/footer_repeat" > android:id="@+id/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@layout/header_gradient" android:paddingBottom="5dip" android:paddingTop="5dip" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:src="@drawable/logo" /> xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/header" android:orientation="vertical" android:padding="10dip" > android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Title : " /> android:id="@+id/txt_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textPostalAddress" android:lines="8" /> android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Content Ticker : " /> android:id="@+id/txt_content" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textPostalAddress" android:lines="8" /> android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:text="Start Date:" /> android:id="@+id/txt_sDate" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textPostalAddress" android:lines="8" /> android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:text="Time : " /> android:id="@+id/txt_eDate" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="datetime" android:lines="8" /> android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="*" > android:id="@+id/btn_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send to Server" /> android:id="@+id/btn_exitting" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Back " /> [/align] خب به اکتیویتی خود میرویم و اطلاعات را در کادرها وارد و سپس دکمه ارسال را میزنیم. [align=left] public class Ticker extends Activity {EditText _txt_title, _txt_content, _txt_sDate, _txt_eDate;Button btn_send, btn_exit;@Overrideprotected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.tickers); _txt_title = (EditText) findViewById(R.id.txt_title); _txt_content = (EditText) findViewById(R.id.txt_content); _txt_sDate = (EditText) findViewById(R.id.txt_sDate); _txt_eDate = (EditText) findViewById(R.id.txt_eDate); btn_exit = (Button) findViewById(R.id.btn_exitting); btn_exit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); btn_send = (Button) findViewById(R.id.btn_send); btn_send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub // sendData(); post(); } });}private void post() { DefaultHttpClient hc = new DefaultHttpClient(); ResponseHandler res = new BasicResponseHandler(); HttpPost httpPost = new HttpPost("http://192.168.120.122:4455"); List nameValuePairs = new ArrayList(4); nameValuePairs.add(new BasicNameValuePair("StartDate", _txt_sDate .getText().toString())); nameValuePairs.add(new BasicNameValuePair("EndDate", _txt_eDate .getText().toString())); nameValuePairs.add(new BasicNameValuePair("Title", _txt_title.getText() .toString())); nameValuePairs.add(new BasicNameValuePair("ContentTicker", _txt_content .getText().toString())); try { httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { String response = hc.execute(httpPost, res); Toast.makeText(getApplicationContext(), "Send Ticker", Toast.LENGTH_LONG).show(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }}} [/align] کدهای تقریبا واضحه : HttpPost httpPost = new HttpPost("http://192.168.10.143:3555"); آدرس وب سرویس مقصد را مینویسیم.در این مثال ادرس شبکه داخلی را وارد کرده ایم و پورت مورد نظر [align=left] List nameValuePairs = new ArrayList(4); nameValuePairs.add(new BasicNameValuePair("StartDate", _txt_sDate .getText().toString())); nameValuePairs.add(new BasicNameValuePair("EndDate", _txt_eDate .getText().toString())); nameValuePairs.add(new BasicNameValuePair("Title", _txt_title.getText() .toString())); nameValuePairs.add(new BasicNameValuePair("ContentTicker", _txt_content .getText().toString())); [/align] مقادیر وارد شده را ذخیره میکنیم و آماده ارسال هستیم httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); برای انکود کردن داده های ارسالی. String response = hc.execute(httpPost, res); اجرای درخواست 1 لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده