الشيخ المختار الشنقيطس نشر 15 ديسمبر 2020 أرسل تقرير نشر 15 ديسمبر 2020 لقد فهمت معنى API وطريقة عملها ولكن كيفية برمجة API وربطه بالاندرويد او الويب وباي اللغات ممكن برمجته؟ اقتباس
0 Talaat Magdy نشر 15 ديسمبر 2020 أرسل تقرير نشر 15 ديسمبر 2020 يمكن برمجة API تقريبا باستخدام كل لغات البرمجة التي تدعم ويب مثلا JAVA Python Ruby C# JavaScript والكثير من لغات برمجة . يمكنك استخدام api وربطه ب Android عن طريق استخدام أى مكتبة HTTP client for Android مثلا Retrofit 2 لابد من إضافة صلاحيات اﻷنترنت عن طريق <uses-permission android:name="aandroid.permission.INTERNET" /> إضافة مكتبة إلى ملف build.gradle implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' لاحظ تم إضافة مكتبة gson هي تقوم بإضافة بتحويل json إلى java object سوف نستخدم ذلك لينك عباره عن get api -- لجلب مقالات https://jsonplaceholder.typicode.com/posts شكل داتا [{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }, { "userId": 1, "id": 2, "title": "qui est esse", "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" }, { "userId": 1, "id": 3, "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut", "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut" } نقوم بإنشاء كلاس لمساعدة في جلب هذه البيانات public class PlaceholderPost { private int userID; private int id; private String title; private String body; public int getUserId() { return userID; } public int getId() { return id; } public String getTitle() { return title; } public String getBody() { return body; } } ثم نقوم بإضافة كلاس جديد لجلب معلومات من API import java.util.List; import retrofit2.Call; import retrofit2.http.GET; public interface PlaceholderAPI { @GET("posts") Call<List> getPosts(); } كيفية استدام مكتبة في اتصال ب API Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://jsonplaceholder.typicode.com/") .build(); ثم نربطه ب interface خاص بينا Call<List> call = placeholderAPI.getPosts(); نقوم بجلب داتا وربطه بالتصميم call.enqueue(new Callback<List>() { @Override public void onResponse(Call<List> call, Response<List> response) { if (response.isSuccessful()) { // للتأكد من كل شئ يقوم بجلب داتا List posts = response.body(); Log.d("Success", posts.get(3).getBody().toString()); TextView textView = findViewById(R.id.text); textView.setText(posts.get(3).getBody().toString()); } else { Log.d("Yo", "Boo!"); return; } } @Override public void onFailure(Call<List> call, Throwable t) { Log.d("Yo", "Errror!"); } }); Log.d("Yo","Hello!"); } } 1 اقتباس
0 Omar Haddad2 نشر 15 ديسمبر 2020 أرسل تقرير نشر 15 ديسمبر 2020 يمكن للمطورين استخدام أي لغة برمجة حديثة تقريبًا (مثل JavaScript أو Ruby أو Python أو Java) لتشفير API الخاص بهم. تأتي معظم لغات البرمجة بالفعل مع البرامج الضرورية للتفاعل مع واجهات برمجة تطبيقات الويب ، لكن المطورين عادةً ما يقومون بتثبيت حزم أو تعليمات برمجية إضافية للراحة والمرونة و بالنسبة لأي لغة برمجة معينة ، يوجد عادةً إطار عمل شائع واحد على الأقل يمكن استخدامها لإنشاء واجهات برمجة التطبيقات. مطورو Ruby ، على سبيل المثال ، يستخدمون إطار عمل Rails. ومطور php يستخدم إطار العمل Laravel فالإستعانة في إطارات العمل يوفر عليك الكثير من الوقت والجهد في بناء ِApi . اقتباس
0 zonasabri نشر 15 ديسمبر 2020 أرسل تقرير نشر 15 ديسمبر 2020 (معدل) لإنشاء واجهة برمجة تطبيقات أو الـ API الخاص بك تقريباً يمكن أن يتم بجميع لغات البرمجة المشهور و الخاصة بالـ Back-end مثل Python و PHP و NodeJs و ربط لـ API بالأندرويد فذلك حسب نوع بنية تطبيق الأندرويد الخاص بك بمعني بما تم بناء و برمجة التطبيق. وأما بخصوص الإنشاء بشكل عام هناك عدة خطوات للإنشاء و هي الخطوة 1. تجهيز كل شيء يبدأ بالتوصل إلى الخطة الصحيحة , و يجب اتخاذ بعض القرارات الرئيسية قبل أن تتمكن من البدء في إنشاء API . في مرحلة التجهيز هذه ، يجب عليك تحديد دلالات مجال التطبيق أو ما هو الشيء الذي تصفه وتحديد النمط المعماري للـ API الذي ستستخدم بمعني على ماذا يستند وهناك عدة انماط مثل وظائف ال CRUD أو Hypermedia يمكن البحث عنهم , و كل نمط له مزاياه وعيوبه فإن بعض الأساليب المعمارية أسهل وأسرع في التنفيذ ، بينما يقدم البعض الآخر مزايا مثل قابلية التوسع والتطور. , اختر النمط المعماري المناسب لتطبيقك وتأكد من توصيله بوضوح. تشكيل دليل نمط الـ API. مثل نوع الوسائط التي ستستخدمها أو نوع المصادقة التي ستضعها. و ضع اصطلاحات التسمية و تنسيق URI بشكل واضح ومختصر. الخطوة 2. البناء في هذه المرحلة ، ستحدد الشكل الذي سيبدو عليه الـ API و هناك عدد من الأدوات التي يمكن أن تساعدك في إنشاء API الخاص بك بطريقة سهلة وفعالة. الخطوة 3. فحص هذه الخطوة حاسمة للنجاح. من المهم جدًا أن يتم اختبار الـ API و فحصه بحثًا عن الأخطاء والعيوب ، و تكون هناك مجموعة من المتطلبات اللازمة لاجتياز الفحص. الخطوة 4. وصف و توثيق رائع ، لقد انتهيت من مشروعك.و لقد تم فحصه والأن توثيق مشروعك مهم جدًا للمستخدم النهائي. الخطوة 5. نشر النموذج الأولي يعد قياس الـ API والاستماع إلى التعليقات أثناء كل مرحلة مفتاح نجاح API. هناك طرق عديدة لجمع التعليقات حول API الخاص بك , قد تساعد ملاحظاتهم في تحسين أداء وأمن الـ API , هنا يمكنك معرفة ما إذا كان الـ API يقدم ما هو متوقع. تم التعديل في 15 ديسمبر 2020 بواسطة zonasabri اقتباس
0 الشيخ المختار الشنقيطس نشر 16 ديسمبر 2020 الكاتب أرسل تقرير نشر 16 ديسمبر 2020 (معدل) بتاريخ On 12/15/2020 at 20:46 قال Talaat Magdy: سوف نستخدم ذلك لينك عباره عن get api -- لجلب مقالات https://jsonplaceholder.typicode.com/posts شكل داتا [{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }, { "userId": 1, "id": 2, "title": "qui est esse", "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" }, { "userId": 1, "id": 3, "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut", "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut" } اين ساستخدم هذه👆👆 كيفية استدام مكتبة في اتصال ب API Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://jsonplaceholder.typicode.com/") .build(); ثم نربطه ب interface خاص بينا Call<List> call = placeholderAPI.getPosts(); نقوم بجلب داتا وربطه بالتصميم call.enqueue(new Callback<List>() { @Override public void onResponse(Call<List> call, Response<List> response) { if (response.isSuccessful()) { // للتأكد من كل شئ يقوم بجلب داتا List posts = response.body(); Log.d("Success", posts.get(3).getBody().toString()); TextView textView = findViewById(R.id.text); textView.setText(posts.get(3).getBody().toString()); } else { Log.d("Yo", "Boo!"); return; } } @Override public void onFailure(Call<List> call, Throwable t) { Log.d("Yo", "Errror!"); } }); Log.d("Yo","Hello!"); } } لقد ظهر لي الخطأ التالي في كلاس PlaceholderAPI يقول انني احتاج دالة اخرى وعندما اضغط اصلاح يظهر اقواس فقط وعندما احاول اضافة اكواد الخاصة ب placeholder يزداد الامر سوأ مثل الاتي: الخطأ ما الحل؟، ارجو ان تشرح لي بشكل مفصل تم التعديل في 16 ديسمبر 2020 بواسطة الشيخ المختار الشنقيطس ... اقتباس
0 Talaat Magdy نشر 18 ديسمبر 2020 أرسل تقرير نشر 18 ديسمبر 2020 بتاريخ On 12/16/2020 at 23:14 قال الشيخ المختار الشنقيطس: ما الحل؟، ارجو ان تشرح لي بشكل مفصل هل من الممكن إرفاق مجلد مشروع ؟ أو تفضل أن اشرح لك علي مشروع جديد ؟ من البداية 1 اقتباس
0 الشيخ المختار الشنقيطس نشر 19 ديسمبر 2020 الكاتب أرسل تقرير نشر 19 ديسمبر 2020 بتاريخ 21 ساعات قال Talaat Magdy: هل من الممكن إرفاق مجلد مشروع ؟ أو تفضل أن اشرح لك علي مشروع جديد ؟ من البداية تفضل هذا هذا المشروع على GitHub، ارجو ان تشرح لي في التعليقات على المشروع او هنا وشكرا اقتباس
السؤال
الشيخ المختار الشنقيطس
لقد فهمت معنى API وطريقة عملها ولكن كيفية برمجة API وربطه بالاندرويد او الويب وباي اللغات ممكن برمجته؟
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.