آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در Google Map (فرگمنتش)

احسان منصوری  11 سال پیش  11 سال پیش
+3 0

دوستان اگه دقت کرده باشید، توی آموزش Google Map، وقتی که آقای آقاجانی پروژه رو برای اولین بار اجرا می کنه، Force Close میده که مشکل از فرگمنت هست و خودشون هم توضیح میدن که ممکنه مشکل از تعریف نشدن فرکمنت توی این ورژن باشه. ولی یهو فیلم قطع میشه و برنامه که دوباره اجرا میشه، خطا نمیگیره و مشکلی نداره و توضیحی نمیدن که اون خطا چجوری حل شد.  حالا من توی اون قسمت مشکل دارم و اون فیلم دیگه جوابگو نیست:(

مشکلم هم دقیقا از فرگمنته. 

اینم لوگ:

0 0
up:( (11 سال پیش)
0 0
منم همین مشکل رو دارم (11 سال پیش)
0 0
خب این مشکل اصلا چی هست؟ من هم توی اندروید استودیو و هم تو اکلیپس تست کردم خطاهای مشابه میده. (11 سال پیش)
0 0
دوستان یعنی هیچکدومتون این مشکل براش پیش نیومده؟ اگه گیر نبودم این همه اصرار نمیکردم (11 سال پیش)
0 0
خب احسان جان این خطای RunTime هستش و همینطور که خودتم گفتی مربوط به کلاس فرگمنت هست و مربوط به خط 13 فایل xml (11 سال پیش)
0 0
خطا رو جستجو کردید؟ تو stack چند تا راه حل نوشته بودن. (11 سال پیش)
0 0
@MeY3am جان می دونیم خطا از چیه ولی نحوه رفع این مشکل رو نمی دونیم (11 سال پیش)
0 0
آره خطا رو جستجو کردم Spirit جان. متاسفانه چندین دلیل داره و هیچ دلیل منطقی برای این خطا نیست. مراحل راه اندازیش هم چیز خاصی نداره که مثلا اشتباهی توش باشه. ببینید، درسته خطا از XML فرگمنت هست ولی خطا از نحوه extends شدن اکتیویتی اونه که من از FragmentActivity اومدم extendsش کردم و حل شد. ولی همونطور که گفتم، ممکنه دلایل دیگه و بی ربط دیگه داشته باشه. ولی الان یه صفحه خالی و بدون نقشه بالا میاد. مثل تصویر زیر. (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
احسان منصوری  11 سال پیش
0 0

این صفحه خالی رو نشون میده. روی گوشی هم تست میکنم بازم همینه.

API Key رو هم چند بار تغییر دادم ولی فایده ای نداشت. لوگ رو که بررسی میکنم، میگه خطا در برقراری ارتباط با سرور گوگل. با چیزشکن:) هم تست میکنم بازم فایده نداره

اینم از لوگش:

البته خطاهاش دو قسمت بود که تو عکس توضیح دادم

 

0 0
up (11 سال پیش)
پاسخ به سوال 
کاشی زاده  11 سال پیش
+4 0

من خیلی خاطر نیست آموزش هارو ولی شما باید برای استفاده از گوگل مپ یک فرگمنت قرار بدید که داخلش خاصیت name رو براش

com.google.android.gms.maps.SupportMapFragment در نظر بگیری مثل کد xml زیر :

   <fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />

در کلاس مربوطه هم باید برای دسترسی به نقشه به اینصورت کد بزنید :

 SupportMapFragment frag =  (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
GoogleMap map = frag.getMap();

توجه داشته باشید برای استفاده از مپ یکسری پرمیشن ها رو هم باید به برنامه بدید :

    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

که البته من پرمیشن های بالا رو کامل گذاشتم چون برخی هم مال دسترسی به GPS هست که نیاز میشه .

و همینطور باید کلید دریافتی از گوگل بهمراه ورژن گوگل پلی سرویس  رو توی منی فست وارد کنید .

   <meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="XXXxxxxXXXXxxxXXXXxxxXXX" />

با این روش شما میتونید به راحتی از مپتون استفاده کنید و اگر کلید صحیح رو داده باشید نباید مشکلی باشه .

تنها نکته ای که میمونه این هست که شما  کلیدی که برای دیباگ استفاده میکنید با کلید مربوط به نسخه  ریلیز شده متفاوت هست .

 

موفق باشید :)

 

 

0 0
جان؟ کلی دیباگ با کلید ریلیز شده متفاوته؟ این کلید نسخه ریلیز شده رو از کجا بیارم؟ من که همش دارم از کلید دیباگ استفاده میکنم:( (11 سال پیش)
+2 0
کلید دیباگ کلیدی هست که برای تست برنامه استفاده میشه و شما روی ایمولیتر استفاده کنید ولی کلید رلیز کلیدی هست که شما موقع خروجی گرفتن از برنامه بهش میدیدهمون signKey که با پلاگین keyTools میسازید . (11 سال پیش)
0 0
آخه من از اندروید استودیو استفاده میکنم (11 سال پیش)
+4 0
فرقی نمیکنه بالاخره شما کلیدی که الان داری استفاده میکنی کلید دیباگ هست برای ساخت و اگر برنامه رو در گوشی بخواین تست بگیرید مشکل پیدا میکنید ولی در ایمولیتر نباید مشکلی داشته باشید . به هر حال برای دریافت کلید ریلیز برنامه میتونید از این روش هم استفاده کنید لینک (11 سال پیش)
0 0
واقعا ممنونم محمدحسین عزیز. حل شد. مشکل از همون keystore بود. (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .