شرح عمل Retrofit Singleton في برنامج اندرويد ستوديو
إنشاء class خارجي لل Apis في Android Studio
تعد فكرة الSingleton واحده من الافكار التي لا غنى عنها في البرمجه عموما وهي بكل بساطة تشير الى عمل class خارجي يتم كتابة كود بداخله واستدعاءه في اي مكان اخر ويكون هذا الكود من نوع static لكي يظهر في مستوى المشروع كامل , ولهذا سوف نقوم بعمله مع Apis وهي ما يتم استعمال Singleton بداخله بكثرة ببساطة يتم وضع الكود مره واحده بداخله واستدعاءه في اي مكان اخر كما سوف نشاهد في المقالة
اصبح العالم في الفتره الاخيره يهتم جدا بالتكنولوجيا وزاد الاقبال على تعلم البرمجه ولغات البرمجة من قبل الشباب و الفتيات وذلك لدخولها في كثير من الادوار وخصوصا مجال تطوير تطبيقاات الاندرويد او ios ونحن ف موقعنا نهتم بشكل كبير في مجال ال android ونقدم الكثير من الدروس و الشروحات في android native وهو تطوير التطبيقات على نظام الاندرويد فقط .
ولكن يوجد قسم اخر مختص بتعلم تقنية فلاتر وهذة التقنية عليها اقبال كبير جدا في الفتره الحاليه وذلك بسبب المميزات ااتي تقدمها لنا كمطورين مثل تطوير وبرمجة تطبيقاات android , ios , desktop applications , web sites وكل هذا يكون بكود واحد فقط ، وهذا ما احدث ضجة كبيره لتعلم هذة التقنيه وايضا flutter ما زالت في التطوير .
إنشاء كلاس Singleton في اندرويد ستوديو
سوف نقوم بعمل كلاس جديد باسم ApiRetrofit او اي اسم اخر ترغب به ويكون هذا الكلاس من نوع static اي ان الدالة تكون ظاهره للجميع وبعدها تكتب كود الRetrofit بشكل عادي جدا مع وضع الbaseUrl كما يظهر بالصورة والكود التاليين وايضا لا تنسى عمل return للكود .
Singleton Api
public class ApiRetrofit {
private static Retrofit retrofit = null;
public static Retrofit getapi() {
if (retrofit == null) {
retrofit = new Retrofit.Builder().baseUrl("###").
addConverterFactory(GsonConverterFactory.create()).build();
}
return retrofit;
}
}
كيفية استخدام Retrofit Singleton في الكود وتوفيرها للوقت على المبرمج
الان يأتي دور استدعاء Retrofit Singleton بكل بساطة انتقل الى الكلاس الذي تريد استدعاءه بداخلها وقم بكتابة الكود المخصص لها كما يظهر وهو اسم الكلاس الذي يحمل Retrofit Singleton وبعدها اسم ال methode التي بداخلها الكود المخصص للإستدعاء وبعدها اكمل الكود الخاص بك بشكل عادي كما تعودت عليه وهذة الطريقة افضل من سابقها لانها توفر وقت على المطور وترفع من اداء التطبيق لانه لا يكون الكثير من عمليات التكرار في الكود الخاص بك .
implementation
private void lasts() {
ApiRetrofit.getapi().create(RetrofitApis.class).lasts().enqueue(new Callback<LastsResponse>() {
@Override
public void onResponse(@NotNull Call<LastsResponse> call, @NotNull Response<LastsResponse> response) {
if (response.isSuccessful()) {
assert response.body() != null;
dataLastProducts = response.body().getData();
adapter = new Adapter_search(dataLastProducts , requireContext() , Fragment_search.this::onclick);
binding.recyclerviewSearch.setLayoutManager(new LinearLayoutManager(requireContext() , LinearLayoutManager.HORIZONTAL , false));
binding.recyclerviewSearch.setAdapter(adapter);
} else {
Toast.makeText(requireContext(), "error", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<LastsResponse> call, Throwable t)
{
Toast.makeText(requireContext(), t.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
progressBar(false);
}
});
}
في النهايه نتمنى ان تكون المقالة مفيدكم لكم وتكون وجدتم ما تبحثون عنه ولمزيد من المقالات والشروحات في الاندرويد ستوديو يمكنك تصفح الموقع ومشاهدة باقي المقالات على الموقع وسوف تجد بحر من الاكواد والشروحات العديده في مجال تطوير تطبيقات الهواتف الذكيه سواء كان بالجافا او غيرها .
- كيفية عرض RecyclerView بشكل افقي HORIZONTAL في اندرويد ستوديو
- شرح استخدام الmvvm في برنامج Android Studio اندرويد ستوديو
- انشاء TableLayout مع viewpager2 بالاندرويد ستوديو
- انشاء Dialog Fragment واستدعاءة في activity او fragment على شكل dialog
- حل مشكلة Data null بإستخدام DataBinding او Adapter في Android Studio
- حل مشكلة انعكاس تصميم البروجكت اثناء تشغيله على الهواتف في اندرويد ستوديو