roomezonline 3 ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ سلام دوستان خسته نباشید من یه وب سرویس با دات نت نوشتم که اطلاعات رو میگیره و پاسخ میده مثلا نام کاربر رو بهش میده و به وب سرویس ارسال میکنی وب سرویس توی بانک سرچ میکنه و در صورت وجود کاربر مشخصات کامل کاربر رو بر میگردونه اطلاعاتی که که وب یرویس بر میگردونه 1 . user_id 2. user_user 3.user_password این خروجی xml وب سرویسم هست . اطلاعاتی که نامگذاری و باردهی اطلاعات کرده [shcode=xml] 1 roomezonline 22213 2 mst ali123 [/shcode] میشه بگید این اطلاعات رو چطوری توی یه لیست ویو نشون بدم اینم کد که توی MainActivity.java استفاده کردم [shcode=java] import android.os.AsyncTask; import android.os.Bundle; import android.app.Activity; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.PropertyInfo; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope ; import org.ksoap2.transport.HttpTransportSE; import com.example.webserviceactivity.R; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.GridView; import android.widget.TextView; public class MainActivity extends Activity { private final String NAMESPACE = "http://mysite.com"; private final String URL = "http://mysite.com/Service.asmx"; private final String SOAP_ACTION = "http://mysite.com/userxml"; private final String METHOD_NAME = "userxml"; private String TAG = "PGGURU"; private static String celcius; private static String fahren; Button b; TextView tv; EditText et; static final String[] letters = new String[] { fahren}; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Celcius Edit Control et = (EditText) findViewById(R.id.editText1); //Fahrenheit Text control tv = (TextView) findViewById(R.id.tv_result); //Button to trigger web service invocation b = (Button) findViewById(R.id.button1); //Button Click Listener b.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Check if Celcius text control is not empty if (et.getText().length() != 0 && et.getText().toString() != "") { //Get the text control value celcius = et.getText().toString(); //Create instance for AsyncCallWS AsyncCallWS task = new AsyncCallWS(); //Call execute task.execute(); //If text control is empty } else { tv.setText("Please enter Celcius"); } } }); } public void getFahrenheit(String celsius) { //Create request SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); //Property which holds input parameters PropertyInfo celsiusPI = new PropertyInfo(); //Set Name celsiusPI.setName("x"); //Set Value celsiusPI.setValue(celsius); //Set dataType celsiusPI.setType(double.class); //Add the property to request object request.addProperty(celsiusPI); //Create envelope SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.dotNet = true; //Set output SOAP object envelope.setOutputSoapObject(request); //Create HTTP call object HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); try { //Invole web service androidHttpTransport.call(SOAP_ACTION, envelope); //Get the response SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); //Assign it to fahren static variable fahren = response.toString(); } catch (Exception e) { e.printStackTrace(); } } private class AsyncCallWS extends AsyncTask { @Override protected Void doInBackground(String... params) { Log.i(TAG, "doInBackground"); getFahrenheit(celcius); return null; } @Override protected void onPostExecute(Void result) { Log.i(TAG, "onPostExecute"); tv.setText(fahren "); } @Override protected void onPreExecute() { Log.i(TAG, "onPreExecute"); tv.setText("Calculating..."); } @Override protected void onProgressUpdate(Void... values) { Log.i(TAG, "onProgressUpdate"); } } } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
karim_medusa 6 ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ کاری که باید انجام بدی اینه که عمل Deserialize رو شی SoapObject انجام و سپس ایجاد شی که متد سرویس ان را ارسال کرده که ممکنه لیست باشه یا یک شی و یا اسکالر! با توجه به xml که دادی باید لیستی از کاربران باشه . در این سایت کاملا یک مثال همانند کار خودت توضیح داده به همراه deserialize نمودن شی و لیست ! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
roomezonline 3 ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ کریم جان نتونستم باهاش کار کنم میشه اونو با کد من ست کنید نمیدونم چه باید کرد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Farzad Sarseifi 575 ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۶ اردیبهشت ۱۳۹۳ برای اینکار باید ابتدا xml خود را Parse کنید و اطلاعات خود را از تگ ها بگیرید. از کلاس DefaultHandler برای Parse کردن استفاده کنید و از متد های startElement و endElement برای گرفتن اطلاعات استفاده کنید. هنگامی که xml خود را Parse کردید میتوانید اطلاعات را درون Adapter های از پیش تعریف شده اندروید یا سفارشی شده قرار دهید و در قدم آخر Adapter را به Listview ست کنید. [shcode=java] public class DataHandler extends DefaultHandler { @Override public void startDocument() throws SAXException { } @Override public void endDocument() throws SAXException { } @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { } @Override public void endElement(String namespaceURI, String localName, String qName) throws SAXException { Log.v("endElement", localName); } @Override public void characters(char ch[], int start, int length) { String chars = new String(ch, start, length); chars = chars.trim(); } } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
karim_medusa 6 ارسال شده در ۱۷ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۷ اردیبهشت ۱۳۹۳ کریم جان نتونستم باهاش کار کنم میشه اونو با کد من ست کنید نمیدونم چه باید کرد خوب وب سرویسش رو ندادی من خودم یک وب سرویس تست نوشتم هر دو سورس رو میزارم (اقا فرزاد هم روش استفاده از کتابخانه SAX جهت parse محتویات xml توضیح داده منتها چون سورس شما از Ksoap استفاده شده نمونه سورس رو با کمک SoapObject نوشتم ) StudentListViewSoapWebService WebService1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
roomezonline 3 ارسال شده در ۱۷ اردیبهشت ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۱۷ اردیبهشت ۱۳۹۳ سلام کریم جان مرسی از لطفت اما متاسفانه من نتونستم باهاش کار کنم اطلاعات مورد نیاز رو واستون میل کردم . هم پروژه اندروید هم وب سرویس رو مرسی نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
karim_medusa 6 ارسال شده در ۲۰ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ اردیبهشت ۱۳۹۳ سلام کریم جان مرسی از لطفت اما متاسفانه من نتونستم باهاش کار کنم اطلاعات مورد نیاز رو واستون میل کردم . هم پروژه اندروید هم وب سرویس رو مرسی ایمیلی از شما دریافت نکردم! سورس سرویس هم که PM داده بودی به vb.net نوشته بودی فقط کافیه بجای DataSet از نوع داده Generic مانند List استفاده کنی همون طور که در سورس سرویس سی شارپ در پست بالا استفاده کردم! لیست generic نسبت به DataSet خروجی فایل xml اش ساده تره واسه Parse کردن ! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
roomezonline 3 ارسال شده در ۲۰ اردیبهشت ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ اردیبهشت ۱۳۹۳ کریم جان سورس ها رو واست پیام خصوصی کردم و توی یاهو هم لینک کردم واست . مرسی نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
karim_medusa 6 ارسال شده در ۲۱ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۱ اردیبهشت ۱۳۹۳ کریم جان سورس ها رو واست پیام خصوصی کردم و توی یاهو هم لینک کردم واست . مرسی اگه اشکالی نداره برای استفاده بقیه اخرین سورس سرویس (سی شارپش خوبه) و برنامه رو اینجا بزار! چون اینجا کلا تاپیک های آموزشیه و قبل از اینکه مدیرا اشاره کنند خودمون اینکار رو بکنیم . نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
roomezonline 3 ارسال شده در ۲۳ اردیبهشت ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۳ اردیبهشت ۱۳۹۳ در نهایت این مشکل با کمک فراوان اقای karim_medusa حل شد کدش رو میزارم که دوستان هم استفاده کنند این کد نهایی من هست که خیلی خوب هم کار میکنه: [align=left]}[/align] [align=left]import java.util.ArrayList; [/align] [align=left]import java.util.List;[/align] [align=left]import org.ksoap2.SoapEnvelope;[/align] [align=left]import org.ksoap2.serialization.SoapObject;[/align] [align=left]import org.ksoap2.serialization.SoapPrimitive;[/align] [align=left]import org.ksoap2.serialization.SoapSerializationEnvelope;[/align] [align=left]import org.ksoap2.transport.HttpTransportSE;[/align] [align=left]import android.app.Activity;[/align] [align=left]import android.os.Bundle;[/align] [align=left]import android.util.Log;[/align] [align=left]import android.widget.ArrayAdapter;[/align] [align=left]import android.widget.ListView;[/align] [align=left]public class MainActivity extends Activity {[/align] [align=left] private final String NAMESPACE = "http://ypursite.com";[/align] [align=left] private final String URL = "http://yoursite.com/Service.asmx";[/align] [align=left] private final String SOAP_ACTION = "http://yoursite.com/RetrieveStudents";[/align] [align=left] private final String METHOD_NAME = "RetrieveStudents";[/align] [align=left] private ListView studentsListView;[/align] [align=left] private ArrayAdapter adapter;[/align] [align=left] /** Called when the activity is first created. */[/align] [align=left] @Override[/align] [align=left] public void onCreate(Bundle savedInstanceState) {[/align] [align=left] super.onCreate(savedInstanceState);[/align] [align=left] setContentView(R.layout.main);[/align] [align=left] studentsListView = (ListView) findViewById(R.id.listView1);[/align] [align=left] String[] students = retrieveStudents();[/align] [align=left] adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, students);[/align] [align=left] studentsListView.setAdapter(adapter);[/align] [align=left] }[/align] [align=left] private String[] retrieveStudents() {[/align] [align=left] SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);[/align] [align=left] SoapSerializationEnvelope envelope = new SoapSerializationEnvelope([/align] [align=left] SoapEnvelope.VER11);[/align] [align=left] envelope.dotNet = true;[/align] [align=left] envelope.setOutputSoapObject(request);[/align] [align=left] HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);[/align] [align=left] [/align] [align=left] [/align] [align=left] try {[/align] [align=left] // androidHttpTransport.call(NAMESPACE + METHOD_NAME, envelope);[/align] [align=left] androidHttpTransport.call(SOAP_ACTION, envelope);[/align] [align=left] SoapObject response = (SoapObject) envelope.getResponse();[/align] [align=left] return parseSOAPResponse(response);[/align] [align=left] }[/align] [align=left] catch (Exception e) {[/align] [align=left] e.printStackTrace();[/align] [align=left] }[/align] [align=left] return null;[/align] [align=left] }[/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] [/align] [align=left] private String[] parseSOAPResponse(SoapObject studentsSoap) {[/align] [align=left] if (studentsSoap != null) {[/align] [align=left] int count = studentsSoap.getPropertyCount();[/align] [align=left] List students = new ArrayList();[/align] [align=left] for (int i = 0; i < count; i++) {[/align] [align=left] SoapObject stu = (SoapObject) studentsSoap.getProperty(i);[/align] [align=left] String id = stu.getPrimitivePropertySafelyAsString("Id");[/align] [align=left] String userName = stu.getPrimitivePropertySafelyAsString("UserName");[/align] [align=left] students.add(id);[/align] [align=left] students.add(userName);[/align] [align=left] }[/align] [align=left] return students.toArray(new String[students.size()]);[/align] [align=left] }[/align] [align=left] return null;[/align] [align=left] }[/align] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
roomezonline 3 ارسال شده در ۲۴ اردیبهشت ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۴ اردیبهشت ۱۳۹۳ سوال دیگه خروجی کد بالا بصورت عکس زیر هست . http://uploadco.ir/uploads/3fhpnino4c5ak4kkxne.jpg[/img] حالا میخوام خروجی من بصورت عکس زیر باشه . متاسفانه زیاد در موردش تحقیق کردم ظاهرا باید را hashmap این کارو کرد ولی خروجی این کد رو نتونستم با hashmap ست کنم . حالا اگر کسی از دوستان با توجه به کد بالا بتونه خروجی لیست رو بصورت سفارشی تبدیل کنه خیلی لطف میکنه http://uploadco.ir/uploads/93gdqlprkbb59b3jk0d5.jpg[/img] منتظر راهنمایی های خوبتون هستم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
roomezonline 3 ارسال شده در ۲۷ اردیبهشت ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۷ اردیبهشت ۱۳۹۳ سلام به سلامتی اقا کریم از مسافرت برگشت . کریم جان اگر ادامه سوالم رو خوندی میشه بگید چه باید کرد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
karim_medusa 6 ارسال شده در ۲۸ اردیبهشت ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۸ اردیبهشت ۱۳۹۳ ممنون! معمولا از Theme استفاده میشه تو همچین مواقعی! در پست های قبلی سرویس شما لیستی از کاربران رو نشون میداد ولی در پست بالا مشخصات یک کاربر رو میخوای نشون بدی! اگه منظور نمایش لیستی از مشخصات کاربران باشه که باید لیست ویو سفارشی بشه واسه این کار باید xml برای تعریف ایتم های لیست ویو ایجاد و بعد با کمک adapter به لیست ویو داده بشه! یک نمونه کد هم اینجا گذاشتم! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .