2010-07-21 4 views
1

Я только начал изучать разработку для Android.android maps view crashes app

Я установил тестовое приложение с основным текстом, которое при нажатии на него изменило текст. это сработало хорошо. Поэтому я решил, что хочу сделать что-то интересное с картами google, используя mapview.

Я следил за инструкциями в документации и просматривал демонстрационное приложение demomaps, но когда я запускаю свое приложение в AVD (указывал на правильный источник, API google lvl3), я получаю «приложение остановлено . неожиданно, пожалуйста, попробуйте еще раз», когда я запускаю в режиме отладки, единственная ошибка, я получаю„источник не найден“

Вот некоторые выдержки из моего кода: просмотров

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <com.google.android.maps.MapView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:enabled="true" 
     android:clickable="true" 
     android:apiKey="[ommitted for safety - i have an apikey though]" 
     /> 
</LinearLayout> 

манифеста

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="leblanc.test.HelloCora" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 

     <activity android:name=".hello" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
    <uses-sdk android:minSdkVersion="3" /> 
    <uses-library android:name="com.google.android.maps" /> 
</manifest> 

мой источник .java в основном по умолчанию

Я разрабатываю в затмении с помощью ADT, на Linux машине

дай мне знать, если есть какая-либо другая информация вам нужно

Спасибо !

EDIT: Дополнительная информация об ошибке, которую я получаю.

TestApp [Android Application] 
    DalvikVM [localhost:8619] 
    Thread [ <3> Main ] (Suspended (exception RuntimeException)) 
     ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord) line: 2268 
     ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord) line: 2284  
     ActivityThread.access$1800(ActivityThread, ActivityThread$ActivityRecord) line: 112 
     ActivityThread$H.handleMessage(Message) line: 1692 
     ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
     Looper.loop() line: 123 
     ActivityThread.main(String[]) line: 3948 
     Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] 
     Method.invoke(Object, Object...) line: 521 
     ZygoteInit$MethodAndArgsCaller.run() line: 782 
     ZygoteInit.main(String[]) line: 540 
     NativeStart.main(String[]) line: not available [native method] 

Кроме того, самое интересное заключается в том, что demomaps демонстрационное приложение в Android SDK не сломается (хотя картографических данных никогда не загружает, даже если он имеет разрешение на доступ в Интернет)

ответ

1

Я думаю, что есть проблема в «доступ к карте из сети (карта google)».

Для доступа к сети мы должны добавить файл "INTERNET PERMISSION" in AndroidMenifest.xml.

поэтому добавьте следующую строку ниже </application> тег.

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
+0

Я добавил, что к моему файлу манифеста, но все же получил ту же ошибку. Странно то, что проект mapsdemo, представленный в SDK для Android, не разбивается. – Andrew

2

есть ошибка в вашем файле манифеста, приведенный ниже код должен быть в теге приложения вместо

<uses-library android:name="com.google.android.maps" /> 

так после изменений будет

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="leblanc.test.HelloCora" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <uses-library android:name="com.google.android.maps" /> 
     <activity android:name=".hello" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
    <uses-sdk android:minSdkVersion="3" /> 

</manifest>