2012-07-12 6 views
0

아무도 말해 줄 수 있습니까? 앱은 항상 SE xperia X10 기기에서 충돌합니다. 어쩌면 내가 ADMOB를 임베드하는 방식 일 수 있습니다. 초 동안 보이지 않습니다. 어떤 단서를주십시오? 모든 것이 XML과 매니페스트에서 문제가없는 것처럼 보입니다. 당신에게Android 앱이 항상 다운 됨

package com.taiic.template.admob; 


import com.google.ads.AdRequest; 
import com.google.ads.AdView; 
import java.io.IOException; 
import java.util.*; 

import android.widget.*; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.os.Bundle; 
import android.location.*; 
import android.content.*; 

import android.app.Activity; 
import android.os.Bundle; 

public class adMain extends Activity { 

    Button addressButton; 
    TextView locationText; 
    TextView addressText; 
    Location currentLocation; 
    double currentLatitude; 
    double currentLongitude; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 




    addressText = (TextView)findViewById(R.id.addressText); 
    locationText = (TextView)findViewById(R.id.locationText); 
    addressButton = (Button)findViewById(R.id.addressButton); 

    this.addressText.setText("ready"); 

    LocationManager locationManager = 
     (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); 

    LocationListener locationListener = new LocationListener() { 
     public void onLocationChanged(Location location) { 
      updateLocation(location); 
     } 
     public void onStatusChanged(
       String provider, int status, Bundle extras) {} 
     public void onProviderEnabled(String provider) {} 
     public void onProviderDisabled(String provider) {} 
    }; 

    locationManager.requestLocationUpdates(
      LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); 

    this.addressButton.setOnClickListener(new OnClickListener() { 
     public void onClick(View v){ 
      getAddress(); 
     } 
    }); 
} 

void getAddress(){ 
    try{ 
     Geocoder gcd = new Geocoder(this, Locale.getDefault()); 
     List<Address> addresses = 
      gcd.getFromLocation(currentLatitude, currentLongitude,100); 
     if (addresses.size() > 0) { 
      StringBuilder result = new StringBuilder(); 
      for(int i = 0; i < addresses.size(); i++){ 
       Address address = addresses.get(i); 
       int maxIndex = address.getMaxAddressLineIndex(); 
       for (int x = 0; x <= maxIndex; x++){ 
        result.append(address.getAddressLine(x)); 
        result.append(","); 
       }    
       result.append(address.getLocality()); 
       result.append(","); 
       result.append(address.getPostalCode()); 
       result.append("\n\n"); 
      } 
      addressText.setText(result.toString()); 
     } 
    } 
    catch(IOException ex){ 
     addressText.setText(ex.getMessage().toString()); 
    } 
} 

void updateLocation(Location location){ 
    currentLocation = location; 
    currentLatitude = currentLocation.getLatitude(); 
    currentLongitude = currentLocation.getLongitude(); 
    locationText.setText(currentLatitude + ", " + currentLongitude); 
} 

AdView layout = (AdView)this.findViewById(R.id.adView); 
AdRequest adRequest = new AdRequest(); 
adRequest.setTesting(true); 
layout.loadAd(adRequest); 
} 

감사 그리고 여기 catlog

07-13 00:10:59.451: D/AndroidRuntime(3735): Shutting down VM 
07-13 00:10:59.451: W/dalvikvm(3735): threadid=1: thread exiting with uncaught exception (group=0x4001d560) 
07-13 00:10:59.461: E/AndroidRuntime(3735): FATAL EXCEPTION: main 
07-13 00:10:59.461: E/AndroidRuntime(3735): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.taiic.template.admob/com.taiic.template.admob.adMain}: java.lang.NullPointerException 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1581) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.ActivityThread.access$1500(ActivityThread.java:121) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.os.Handler.dispatchMessage(Handler.java:99) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.os.Looper.loop(Looper.java:123) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.ActivityThread.main(ActivityThread.java:3701) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at java.lang.reflect.Method.invoke(Method.java:507) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at dalvik.system.NativeStart.main(Native Method) 
07-13 00:10:59.461: E/AndroidRuntime(3735): Caused by: java.lang.NullPointerException 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.Activity.findViewById(Activity.java:1647) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at com.taiic.template.admob.adMain.<init>(adMain.java:102) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at java.lang.Class.newInstanceImpl(Native Method) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at java.lang.Class.newInstance(Class.java:1409) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573) 
07-13 00:10:59.461: E/AndroidRuntime(3735):  ... 11 more 

답변

2

로그 잘못 무슨 일이 일어나고 있는지에 대해 매우 분명하다 : 당신이 클래스 adMain에서

Caused by: java.lang.NullPointerException 
at android.app.Activity.findViewById(Activity.java:1647) 
at com.taiic.template.admob.adMain.<init>(adMain.java:102) 

, 라인 (102) 액티비티의 레이아웃에 존재하지 않는 뷰를 부 풀려는 시도 :

AdView layout = (AdView)this.findViewById(R.id.adView); 

질문 : 실제로 활동의 콘텐츠보기로 설정중인 main.xml 파일에 정의 된 레이아웃에 AdView보기 (ID가 android:id="@+id/adView")를 추가 했습니까? 이 오류는 당신이하지 않았 음을 시사합니다.

+0

그리고 XML에서 AdView를 정의했다면 AdView에 'android : id = "adView"가 있습니까? –

+0

@EricLeichtenschlag : 좋은 캐치; 이론적으로 그는 다른 레이아웃에서'android : id = "@ + id/adView"를 정의했을 수도 있습니다. 반면에 코드 스 니펫은 광고를 테스트하는 중이라고 제안하므로 참조가 아직 여기에있는 것은 아닙니다. 나는 그것을 위해 답변에 추가 할 것입니다. –

+0

방금 ​​문제를 해결했는데 – user1427211

관련 문제