2010-03-29 5 views
0

전 Android에 완전히 새롭고 Java newb입니다. 에뮬레이터에서 Android 앱이 다운 됨 - 빈 채워짐

나는 간단한 나는 안드로이드의 개발 환경의 묘리를 터득하는 건물입니다 응용 프로그램 - 그리고 클릭 이벤트 등 같은 것들 ..

응용 부하를, 그리고는 텍스트 필드에 텍스트를 변경할 수 있어요 버튼 핸들러를 사용하여. 그러나 위치 클래스를 가져 와서 간단한 GPS 호출을 시도하면 응용 프로그램이 충돌합니다.

문제는 이클립스 (오류 콘솔)에서 모든 것이 잘 보이고 안드로이드 에뮬레이터 (DevTools)에서 예외가 보이지 않는다는 것입니다. logcat 창이 열려 있지만 이클립스/코드에서 logcat을 보내려면 아무 것도하지 않았습니다. (필요합니까?)

누구나이 문제가 발생했을 수 있습니까? 문제를 해결할 더 좋은 방법이 있습니까?

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.*; 
import android.location.*; 


public class locationDisplay extends Activity { 

    private EditText text; 
    private Location GPSLocation; 
    double dblLat; 
    double dblong; 
    String strLat; 


    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); // bind the layout to the activity 
     text = (EditText) findViewById(R.id.EditText01); 
     text.setText("No button pressed"); 

    } 

    // Handler for each button -- Button01 is when it crashes 
    public void myClickHandler(View view) { 

     switch (view.getId()) { 
     case R.id.Button01: 
      dblLat = GPSLocation.getLatitude(); 
      strLat = Double.toString(dblLat); 
      text.setText(strLat); 
      break; 
     case R.id.Button02: 
      text.setText("Button 2 was clicked"); 
      break; 
     case R.id.Button03: 
      text.setText("Button 3 was clicked"); 
      break; 
     } 
    } 
+1

LogCat에서 예외가 발생해야합니다. Eclipse 오류 콘솔에서 아무것도 볼 수 없습니다. –

+0

@mbaird - logcat이 열려 있지만 오류는 없습니다. mylyn plugin을 활성화하면이 문제가 발생할 수 있지만 그 플러그인은 설치되어 있지 않은 게시물을 읽습니다. Logcat이 작동하지 않는 이유는 무엇입니까? 시작하려면 뭔가해야합니까? – tpow

답변

4

당신은 로그 캣의 기본 메시지를 얻기 위해 무엇을 쓸 필요가 없습니다; 잡히지 않은 예외 보고서는 프로그램이 충돌 할 때 자동으로 나타나야합니다. 그러나 때로는 LogCat과 에뮬레이터가 서로 연결이 끊어지고 메시지가 사라집니다. Eclipse와 에뮬레이터를 닫고 다시 시작하기 만하면 메시지가 다시 나타납니다. 링크가 재설정되었는지 쉽게 알 수있는 방법은 에뮬레이터를 부팅하는 것입니다. 멋진 글꼴의 깜박이는 "ANDROID"텍스트가 사라져서 잠금 화면으로 이동하는 것과 마찬가지로 LogCat에서 약 100 줄의 텍스트 플래시를 볼 수 있습니다. 그렇게하지 않으면 LogCat은 메시지를받지 못합니다.

Android에서 디버깅 메시지를 표시하는 방법은 Log.d("some name for your log statements so you can filter the LogCat messages", "The actual debug statement here");을 사용하는 것입니다. 자신의 응용 프로그램에서 정적 최종 문자열 LOG_TAG와 같은 것을 사용하여 로그를 항상 동일한 태그로 유지할 수 있으므로 필터가 메시지를 놓치지 않도록 할 수 있습니다.

실제 코드는 Rpond가 맞습니다. GPS 위치 개체를 처음 초기화 한 적이 없습니다.

2

GPS 위치 개체가 null입니다. 현재 위치를 가져 오려면 LocationService에 액세스해야합니다. 에뮬레이터를 사용하면 수동으로 위치를 전송해야합니다.

Location Services

1

가끔 LogCat이 장치/에뮬레이터를 연결하여 실행하는 것을 잊어 버리는 경우가 있습니다. 당신이 장치와 에뮬레이터를 동시에 온라인 상태로 만든 다음 그 중 하나의 연결을 끊은 후에 이런 일이 일어나는 것 같습니다. LogCat에서 아무것도 얻지 못한다면, 창>보기 표시> 기타> 장치로 이동 한 다음 기록 할 장치를 클릭하십시오.

관련 문제