محمد بوسكوري نشر 15 مايو 2016 أرسل تقرير مشاركة نشر 15 مايو 2016 كيف يمكنني ربط تطبيق اندرويد بـwebservice؟ وغلى ماذا سأحتاج في ذلك؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 E.Nourddine نشر 15 مايو 2016 أرسل تقرير مشاركة نشر 15 مايو 2016 سأقدم هنا مثال عمل لربط التطبيق بـ Webservice عن طريقبروتوكول SOAP: Layout XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center" android:text="Celsius to Farenheit" android:textSize="30dp" /> <EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:numeric="integer" android:singleLine="true" /> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center" android:text="Convert to Farenheit" /> <TextView android:id="@+id/tv_result" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="" android:textSize="26dp"/> </LinearLayout> التصميم سيكون كالآتي: أنشيء objects في WebserviceActivity: private final String NAMESPACE = "http://www.w3schools.com/webservices/"; private final String URL = "http://www.w3schools.com/webservices/tempconvert.asmx"; private final String SOAP_ACTION = "http://www.w3schools.com/webservices/CelsiusToFahrenheit"; private final String METHOD_NAME = "CelsiusToFahrenheit"; private String TAG = "PGGURU"; private static String celcius; private static String fahren; Button b; TextView tv; EditText et; وظيفة onCreate(): 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"); } } }); } Class AsyncCallWS: private class AsyncCallWS extends AsyncTask<String, Void, Void> { @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 + "° F"); } @Override protected void onPreExecute() { Log.i(TAG, "onPreExecute"); tv.setText("Calculating..."); } @Override protected void onProgressUpdate(Void... values) { Log.i(TAG, "onProgressUpdate"); } } getFahrenheit(): 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("Celsius"); //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(); } } Internet permission: <uses-permission android:name="android.permission.INTERNET" /> لعمل webService مع Json: اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
محمد بوسكوري
كيف يمكنني ربط تطبيق اندرويد بـwebservice؟ وغلى ماذا سأحتاج في ذلك؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.