كيفية عرض تفاصيل موقع المستخدم بشكل كامل في برنامج اندرويد ستوديو

 

كيفية تفاصيل موقع المستخدم بشكل كامل في برنامج اندرويد ستوديو


كيفية تفاصيل موقع المستخدم بشكل كامل في برنامج اندرويد ستوديو


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


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


التعامل مع Map #11 : اكواد xml لعرض موقع المستخدم بشكل تفصيلي ؟


قمنا بعمل زر واسفلة مجموعة من TextView لعرض موقع المستخدم بشكل تفصيلي مثل العنوان والكود البريدي والدوله ورمز الدوله والبيانات بشكل تفصيلي وعندما ينقر المستخدم على الزر يقوم التطبيق بجلب البيانات له


xml code



    <com.google.android.material.button.MaterialButton
        android:id="@+id/btn_getting_data"
        android:layout_marginTop="10dp"
        android:layout_gravity="center"
        app:strokeColor="#7C83FD"
        android:text="give me data"
        android:textColor="#96BAFF"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/Widget.MaterialComponents.Button.OutlinedButton"
        />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        
        <TextView
            android:id="@+id/tv_1"
            android:gravity="center"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/tv_2"
            android:gravity="center"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            />
        
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_marginTop="16dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/tv_3"
            android:gravity="center"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/tv_4"
            android:gravity="center"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            />

    </LinearLayout>

    <TextView
        android:id="@+id/tv_5"
        android:gravity="center"
        android:layout_marginTop="16dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <TextView
        android:id="@+id/tv_6"
        android:gravity="center"
        android:layout_marginTop="16dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <TextView
        android:id="@+id/tv_7"
        android:gravity="center
        android:layout_marginTop="16dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
        


الكود الخاص بعرض بيانات المستخدم كامله


الكود الخاص بعرض بيانات المستخدم كامله


قم بتعريف المتغيرات مثل الزر والنصوص وعمل setOnClickListener للزر وبداخلة function الخاصه بي getting_your_data_location وهذة الميثود مسؤوله عن جلب البيانات بكل بساطة قمنا بتعريف المتغيرات بداخلها وعمل checkSelfPermission للتاكد ان الموقع يعمل على هاتف المستخدم وبعدها fusedLocationProviderClient للموقع وبداخلة task.getResult للتاكد هل العملية نجحت ام لا اذا نجحت سوف نتاكد ان الموقع غير فارغ اذا كان كذلك نضعه داخله try و catch حيث لو نجحت ينفذ الامر الموجود في try  وهو استدعاء دالة Geocoder الخاصه بتعرض تفاصيل العنوان للمستخدم , وبعدها t1.setText لنرسل العنوان الاول وبداخله Html.fromHtml لكي نستخدم فورمات لغة html ونضع لون وبعده ما نريد ارساله وهو getLatitude او getCountryCode او غيره كما تريد .


MainActivity.class


    private void getting_your_data_location() {
        TextView t1, t2, t3, t4, t5, t6, t7;
        t1 = findViewById(R.id.tv_1);
        t2 = findViewById(R.id.tv_2);
        t3 = findViewById(R.id.tv_3);
        t4 = findViewById(R.id.tv_4);
        t5 = findViewById(R.id.tv_5);
        t6 = findViewById(R.id.tv_6);
        t7 = findViewById(R.id.tv_7);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            return;
        }

       fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {
            @Override
            public void onComplete(@NonNull Task<Location> task) {

                Location location = task.getResult();
                if (location != null) {
                    try {
                        Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
                        List<Address> address = geocoder.getFromLocation(
                                location.getLatitude(), location.getLongitude(), 1
                        );

                       t1.setText(Html.fromHtml("<font color ='#57837B'><b>Latitude :</b><br></font>" + address.get(0).getLatitude()));
                       t2.setText(Html.fromHtml("<font color ='#57837B'><b>Longitude :</b><br></font>" + address.get(0).getLongitude()));
                       t3.setText(Html.fromHtml("<font color ='#57837B'><b>CountryName :</b><br></font>" + address.get(0).getCountryName()));
                       t4.setText(Html.fromHtml("<font color ='#57837B'><b>CountryCode :</b><br></font>" + address.get(0).getCountryCode()));
                       t5.setText(Html.fromHtml("<font color ='#57837B'><b>AddressLine :</b><br></font>" + address.get(0).getAddressLine(0)));
                       t6.setText(Html.fromHtml("<font color ='#57837B'><b>Locality :</b><br></font>" + address.get(0).getLocality()));
                        t7.setText(Html.fromHtml("<font color ='#57837B'><b>PostalCode :</b><br></font>" + address.get(0).getPostalCode()));

                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        });

    }
    


الى هنا يكون انتهى الدرس الجديد من دروس بناء تطبيق خرائط بشكل تفصيلي ولمزيد من الاكواد والشروحات يمكنكم مشاهدة مشاهدة باقي الاكواد من خلال الدروس التالية :


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



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

تعليقات