2013-08-29 3 views
1

Android의 'Google Maps Android API v2'샘플 코드를 얻으려고합니다. 프로젝트를 오류없이 만들었습니다. 그러나 앱을 실행하려고하면 앱이 즉시 중단됩니다.Google지도 Android API v2 애플리케이션이 충돌 함

자바 코드 :

package com.example.Bardo; 

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import com.google.android.gms.maps.SupportMapFragment; 


public class GPS extends FragmentActivity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.gps); 
     SupportMapFragment fragment = new SupportMapFragment(); 
     fragment.getFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit(); 

    } 


} 

는 XML :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       tools:context=".GPS" > 

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

</RelativeLayout> 

로그 캣 출력 :

08-29 09:31:37.286: E/SurfaceFlinger(36): ro.sf.lcd_density must be defined as a build property 
08-29 09:31:44.396: E/Trace(1494): error opening trace file: No such file or directory (2) 
08-29 09:31:44.466: E/SurfaceFlinger(36): ro.sf.lcd_density must be defined as a build property 
08-29 09:31:46.397: E/dalvikvm(1494): Could not find class 'com.example.Bardo.GPS', referenced from method com.example.Bardo.Acceuil$5.onClick 
08-29 09:31:46.536: E/SurfaceFlinger(36): ro.sf.lcd_density must be defined as a build property 
08-29 09:35:13.466: E/ThrottleService(345): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory) 

매니페스트 :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.Bardo" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 

     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 


    <permission 
     android:name="com.example.Bardo.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 
    <uses-permission android:name="com.example.Bardo.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <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_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 



    <uses-feature 
      android:glEsVersion="0x00020000" 
      android:required="true"/> 


    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_bardo" 
     android:label="Bardo Museum" 
     android:theme="@style/AppTheme" > 



     <activity 
      android:name=".Acceuil" 
      android:label="Musée de la Bardo" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

     </activity> 
     <activity android:name=".Objets" android:label="Objets"> </activity> 
     <activity android:name=".GPS" android:label="GPS"> </activity> 
     <activity android:name=".Detail" android:label="Detail"></activity> 
     <activity 
       android:name=".Galeries" 
       android:label="Galeries" 
       /> 
     <activity 
       android:name=".Evennements" 
       android:label="Evennements"/> 
     <activity 
       android:name=".Infos" 
       android:label="Infos"/> 

    </application> 

</manifest> 

Google 검색 결과이 예외에 대한 정보가 없습니다. 나는이 문제에 대해 정말로 혼란스럽고 그것을 고치는 법을 모른다. 누구든지 그것을 고칠 생각이 있습니까? 감사.

+0

는 자바 코드를 –

+0

검사를 게시이 너무 https://developers.google.com/maps/documentation/android/v1/mapkey – Niko

답변

3

어떤 종류의 수 있습니다. 나는 그것을 지금 시험했다. 당신이 당신의 Manifest.xml에서 그 라인이있는 경우

예를 들어, :

<uses-sdk 
android:minSdkVersion="8" 
android:targetSdkVersion="17" /> 

을 그리고 당신은 당신의 컴퓨터에만 API17를 설치, 그것은 당신에게 오류를보고합니다. 테스트하려면 다른 API 버전 (이 경우 API 8)을 설치하십시오.

그리고이 오류 ro.sf.lcd_density must be defined as a build property

I 당신은 주 스레드에서 네트워킹 코드를 사용하는 생각에

. 백그라운드 스레드에서 네트워킹을 수행하십시오. AsyncTask는 좋은 옵션입니다.

두 가지 모두 문제를 해결해야합니다.

+0

정확 안드로이드에서 m bigginner 어떻게 배경 스레드에서 donetworking 내 코드를 편집 할 수 있습니다. – Bilel

+0

내가 제안한 것처럼, AsyncTask를 사용할 수 있습니다. [this] (http://stackoverflow.com/questions/9671546/asynctask-android-example) 예 또는 [this] (http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html) 자습서를 확인하십시오. . 그러나 [this] (http://developer.android.com/reference/android/os/AsyncTask.html) 문서를 반드시 읽으십시오. – Niko

+0

고맙습니다. @ Niko 고맙습니다. – Bilel

0

클래스 시작 부분에서 패키지 이름을 확인하십시오. 신청서의 이름과 일치해야합니다. 당신이 당신의 컴퓨터에의 minSdkVersion 또는 targetSdkVersion을 설치하지 않은 때문에 발생이 오류 error opening trace file: No such file or directory

이있는 경우이 복사 붙여 넣기 오류

+0

을 추가하지만 ' – Bilel