اعمل على مشروع تخرج تطبيق طلب الطعام من المطاعم باستخدام Xamarin زامرن , ما هي الادوات و التقنيات التى احتاجها لتعامل مع قاعدة البيانات , و هل يفضل اعمل لوحة التحكم ويب ام تطبيق؟
تطبيق طلب الطعام من المطاعم, لوحة التحكم؟
مرحباً نادين،
إن خدمة REST API المستخدمة ضمن Xamarin تعتمد على العمليات نفسها المستخدمة بأي API أخرى التالية:
GET: لجلب المعلومات من الويب.
POST: للكتابة وإرسال المعلومات إلى الويب.
PUT: تستخدم غالباً لتعديل بيانات محددة إلى الويب.
DELETE: تستخدم لحذف بيانات محددة على الويب.
عندما يتلقى إطار عمل Web API طلباً ، فإنه يوجه الطلب إلى إجراء محدد يتم تعريفه من قبلك مسبقاً بحيث يقوم هذا الإجراء باستقبال الطلب ومعالجته. هذه الإجراءات مثال عن ذلك TodoItemsController. بحيث يستجيب لطلب محدد ويقوم بتفيذ أوامر معينة ، والذي يظهر في مثال الكود التالي:
config.Routes.MapHttpRoute(
name: "TodoItemsApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { controller="todoitems", id = RouteParameter.Optional }
);
وعندما يتلقى إطار عمل واجهة برمجة تطبيقات الويب طلب HTTP ، فإنه يحاول مطابقة URI أو المسار الذي يتم طلبه مع قالب التوجيه في جدول التوجيه. إذا تعذر العثور على مسار مطابق ، يتلقى العميل خطأ 404 (غير موجود). إذا تم العثور على مسار مطابق. الآن لاستخدام طلبات HTTP ضمن تطبيقك يجب عليك استخدام HTTP Client كالتالي:
public class RestService : IRestService
{
HttpClient client;
...
public RestService ()
{
client = new HttpClient ();
}
...
}
أما لجلب المعلومات، يتم استخدام طريقة HttpClient.GetAsync لإرسال طلب GET إلى خدمة الويب المحددة بواسطة URI ، ثم تلقي الاستجابة من خدمة الويب ، كما هو موضح في مثال الكود التالي:
public async Task<List<TodoItem>> RefreshDataAsync ()
{
...
Uri uri = new Uri (string.Format (Constants.TodoItemsUrl, string.Empty));
...
HttpResponseMessage response = await client.GetAsync (uri);
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync ();
Items = JsonConvert.DeserializeObject <List<TodoItem>> (content);
}
...
}
لمزيد من التفاصيل عن العمليات الأخرى يجب عليك قراءة تفاصيل استخدام HttpClient
التعليقات