كيفية تفاصيل موقع المستخدم بشكل كامل في برنامج اندرويد ستوديو
اذا كنت تبحث عن اكواد جافا جاهزه للاندرويد استديو في فموقع جي كودرس يقدم لك الكثير من الاكواد حول برمجة وتطوير تطبيقات الاندرويد ستوديو نحن في موقعنا نهتم بجميع الاكواد او التي يقوم بها كثير من التطبيقات في برنامج اندرويد ستوديو و في الايام المقبله سنوفر اكواد بايثون وفلاتر والكثير من اللغات وايضا يوجد قسم يسمى ب مشاريع اندرويد ستوديو هذا القسم نقوم فيه بتنزيل اكواد تطبيقات اندرويد جاهزه للاستخدام , حيث يمكنك استخدام هذه الاكواد في تطوير وصناعه تطبيقات الاندرويد وايضا في هذا القسم نقدم شروحات اندرويد ستوديو يوجد الكثير من الاكواد التي تساعدك في انشاء تطبيقك على منصه اندرويد ستوديو بكل سهوله. ودائما حاول تنزيل لكم الكثير من الاكواد سواء في اندرويد ستوديو او في لغات البرمجه الاخرى مثل بايثون جافا سي بلس بلس.
وايضا نقدم مشاريع اندرويد ستوديو مفتوحه المصدر جاهزه للتعديل و للاستخدام كل هذا تجدونه في موقعنا جي كودرس . حيث نسعى دائما لتوفير جميع الاكواد التي يحتاجها المطورون العرب في انشاء تطبيقاتهم حيث اننا العرب لا يوجد لدينا الكثير من المصادر التي تمكننا من انشاء وتطوير تطبيقات الاندرويد او مواقع الويب وهذا كان الهدف من انشاء الموقع هو مساعده جميع العرب في تعلم البرمجه بسهوله و في الايام المقبله سوف نعمل باذن الله على تطوير تطبيقات تساعد على تعلم البرمجه من بسهولة للكبار والصغار حيث تعد مهاره تطوير التطبيقات سوا اندرويد او ايفون واحد من اهم المتطلبات بكثره ومطلوبه لدى الشركات بشكل ماهول و هذا المجال غير صعب وفي نفس الوقت غير سهل فقط يريد منك التركيز , ودائما تابع الموقع لتجد الكثير من الاكواد
التعامل مع 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();
}
}
}
});
}
الى هنا يكون انتهى الدرس الجديد من دروس بناء تطبيق خرائط بشكل تفصيلي ولمزيد من الاكواد والشروحات يمكنكم مشاهدة مشاهدة باقي الاكواد من خلال الدروس التالية :
لمزيد من اكواد اندرويد ستوديو
- الدرس الاول : كيفية ربط تطبيقك في اندرويد ستوديو بالموقع
- الدرس الثاني : كيفية تخزين موقع المستخدم في الفايربيز بواسطة برنامج أندرويد ستوديو
- الدرس الثالث : كيفية تحديث وتتبع موقع المستخدم باستخدام برنامج اندرويد ستوديو
- الدرس الرابع : كيفية التاكد من تشغيل الموقع على هاتف المستخدم
- الدرس الخامس : ربط تطبيقك في اندرويد ستوديو بجوجل ماب
- الدرس السادس : شرح استخدام جيو كودر geocoder في maping داخل برنامج اندرويد ستوديو
- الدرس السابع : كيفية اضافة نقطة Marker على الخريطة maps داخل برنامج اندرويد ستوديو
- الدرس الثامن : كيفية الحصول على عنوان الموقع من firebase وتحديده على خرائط جوجل
- الدرس التاسع : طريقة عمل tracking او تتبع لموقع المستخدم من قاعة البينانات
- الدرس العاشر : كيفية تغيير شكل العلامه على الخريطة MarkerOptions