القائمة الرئيسية

الصفحات

التعامل مع Map #9 : طريقة عمل tracking او تتبع لموقع المستخدم من قاعة البينانات Data base برنامج اندرويد ستوديو

 

التعامل مع Map #9 :طريقة عمل tracking او تتبع لموقع المستخدم من قاعة البينانات Data base برنامج اندرويد ستوديو

طريقة عمل tracking او تتبع لموقع المستخدم من قاعة البينانات Data base 


يعد هذا الدرس نهاية دورة maping من دروس اندرويد ستوديو , بالنسبه للدروس التي سوف تنشر في هذا القسم سوف تكون لطرق مختلفة او اشياء اكثر تقدما في البرمجة و تطوير تطبيقات الهواتف الذكية وتحسين الماب , ولكن اذا فهمت الدروس السابقه وهذة المقالة سوف تكون قادر على التعامل مع maping بسهوله وهي سهله وغير صعبه ولكنها مطوله قليلا واحببنا ان نشرح كل قسم في مقالة منفصله لكي لا يحدث لخبطة .


عملية تصميم تطبيق اندرويد مجاني ليست صعبه وفي نفس الوقت ليست سهله فالبعض منكم يعتقد تطبيقات أندرويد صعبه ومعقده ولن يتمكن من النجاح في مجال تطوير تطبيقات اندرويد ولكن الامر عكس ذلك وانا كنت واحد منكم صراحة , ولذلك قمت بتاسيس موقع جي كودرس لتعليمكم كيفية تصميم تطبيق اندرويد مجاني وشروحات متنوعه وعديدة في البرمجة واثراء المحتوى العربي بالبرمجة وخاصة مجال تطبيقات أندرويد حيث يعد من اكثر المجالات التي عليها طلب كبير في سوق العمل .


مجال تطبيقات أندرويد واحد من اكبر المجالات التي يبحث عليها كل صاحب شركة تطوير تطبيقات الجوال لان تطوير تطبيقات الهواتف الذكية اصبح يحظى بنسبة كبيره من الاهتمام بسبب كثرة الاجهزة الذكية في الوقت الحالي وايضا تطبيقات أندرويد و تطبيقات الايفون اصبحت كثيرة وتوفر خدمات لنا كمستخدمين توفر علينا كثير من الوقت وهل قد سبق وان خطر ببالك فكرة تطوير تطبيقات الهواتف الذكية تحل مشكلة معينه لم تجد لها حل ؟ قد يكون هذا التطبيق الذي تفكر به واحد من انجح تطبيقات أندرويد ويجني عليك المال الوفير لذلك ابدء بتعلم البرمجة لتنفيذة .


كيفية تخزين موقع المستخدم في مكان واحد وتحديثة دون تكرار الموقع ؟


لو تتذكر في درس معرفة موقع المستخدم من شروحات تطوير تطبيقات الموبايل وكانت ثالث مقالة على ما اعتقد قمنا بتخزين الموقع على شكل string وكنا نرسله على هيئة map لذلك ارجع الى الكود السابق الموجود في MainActivity بعد ذلك قم بعمل collection وdocument للكود وبعدها في عملية set قم بارسال ServicesLocation(location.getLatitude و location.getLongitude لكي نستقبلهم في MapsActivity .



الكود السابق 


firestore.collection("location_user").document("geecoders")
.set(new ServicesLocation(location.getLatitude(),location.getLongitude()));


ارجع الان الى ملف MapsActivity وقم بعمل ميثود اخرى باسم getserviceslocation_user() وبداخلها firebaseFirestore.collection ونكتب اسم الاسم الذي خزنا فيه البيانات وبعدها document وهي الملفات التي بداخل هذا المجلد يجب ان تكون في الارسال والاستقبال نفس الاسم بمعنى انك خزنت الموقع في هذا المسار ايضا عندما تريد جلبه تجلبه من نفس المسار , بعدها عرف ServicesLocation و عمل اختبار if بسيط , وضع العنوان في LatLng بعدها addMarker لوضع علامه على الخريطة واخيرا animateCamera لعمل انميشن للحركة والتوجه اليها مباشره



الكود السابق 


private void getserviceslocation_user() {
       firebaseFirestore.collection("location_user").document("geecoders").addSnapshotListener(new EventListener<DocumentSnapshot>() {

@Override
public void onEvent(@Nullable DocumentSnapshot document, @Nullable FirebaseFirestoreException error) {
ServicesLocation servicesLocation =   document.toObject(ServicesLocation.class);

if (servicesLocation == null) return;

Log.i(TAG, "onEvent: "+servicesLocation);
LatLng latLng = new LatLng(servicesLocation.getLat(),servicesLocation.getLng());
mMap.addMarker(new MarkerOptions().position(latLng));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng,17));

            }
        });
    }
    


اتمنى ان تكون هذة الدروس من تطوير تطبيقات الاندرويد والتعامل مع maps بسهوله تكون افادتكم واتمنى ان اكون قد غطيت كل شيئ , واذا كان لديكم ملاحظات يمكنك ترك لنا تعليق لعمل شروحات اكثر فيها اذا اردتم


لمزيد من اكواد اندرويد ستوديو




رابط المشروع كامل على جيت هب - github

هل اعجبك الموضوع :