2011-07-27 5 views
0

사용자가 전화 번호를 상자에 입력 한 다음 연락처를 검색하는 활동을 시작하는 버튼을 눌러 입력 된 전화 번호와 일치하는 연락처 이름을 반환하는 간단한 앱을 만들었습니다.앱이 강제 종료를 유지합니다.

그러나 앱은 강제 종료 상태를 유지합니다. 여기

코드

package com.xenom.text; 

import android.app.Activity; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.ContactsContract.PhoneLookup; 
import android.util.Log; 
import android.view.View; 

public class DriveAndTextActivity extends Activity 
{ 

private View button1; 
private String Text1; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    button1.setOnClickListener(new View.OnClickListener() { 
     private String TAG; 

     public void onClick(View v) { 
      Log.d(TAG, "mbutton1 clicked"); 
      Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(Text1)); 
      resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME}); 

} 
    }); 
} 
} 

새로운 코드

package com.xenom.text; 

import android.app.Activity; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.ContactsContract.PhoneLookup; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 

public class DriveAndTextActivity extends Activity 
{ 

private Button mbutton1; 
private String mText1; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // Obtain handles to UI objects 
    mbutton1 = (Button) findViewById(R.id.button1); 

    mbutton1.setOnClickListener(new View.OnClickListener() { 
     private String TAG; 

     public void onClick(View v) { 
      Log.d(TAG, "mbutton1 clicked"); 
      Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(mText1)); 
      resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME}); 

} 
    }); 
} 
} 

로그 캣 :

[2011-07-27 22:43:56 - ddmlib]An established connection was aborted by the software in your host machine 
java.io.IOException: An established connection was aborted by the software in your host machine 
    at sun.nio.ch.SocketDispatcher.write0(Native Method) 
    at sun.nio.ch.SocketDispatcher.write(Unknown Source) 
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.write(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source) 
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213) 
    at com.android.ddmlib.Client.sendAndConsume(Client.java:574) 
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348) 
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:420) 
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854) 
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822) 
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:781) 
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:649) 
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42) 
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577) 

[2011-07-27 22:43:56 - ddmlib]An established connection was aborted by the software in your host machine 
java.io.IOException: An established connection was aborted by the software in your host machine 
    at sun.nio.ch.SocketDispatcher.write0(Native Method) 
    at sun.nio.ch.SocketDispatcher.write(Unknown Source) 
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.write(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source) 
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213) 
    at com.android.ddmlib.Client.sendAndConsume(Client.java:574) 
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348) 
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:420) 
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854) 
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822) 
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:781) 
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:649) 
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42) 
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577) 

[2011-07-27 22:43:56 - ddmlib]An established connection was aborted by the software in your host machine 
java.io.IOException: An established connection was aborted by the software in your host machine 
    at sun.nio.ch.SocketDispatcher.write0(Native Method) 
    at sun.nio.ch.SocketDispatcher.write(Unknown Source) 
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.write(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source) 
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213) 
    at com.android.ddmlib.Client.sendAndConsume(Client.java:574) 
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348) 
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:420) 
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854) 
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822) 
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:781) 
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:649) 
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42) 
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577) 

[2011-07-27 22:43:56 - ddmlib]An established connection was aborted by the software in your host machine 
java.io.IOException: An established connection was aborted by the software in your host machine 
    at sun.nio.ch.SocketDispatcher.write0(Native Method) 
    at sun.nio.ch.SocketDispatcher.write(Unknown Source) 
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.write(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source) 
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213) 
    at com.android.ddmlib.Client.sendAndConsume(Client.java:574) 
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348) 
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:420) 
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854) 
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822) 
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:781) 
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:649) 
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42) 
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577) 

[2011-07-27 22:43:57 - ddmlib]An established connection was aborted by the software in your host machine 
java.io.IOException: An established connection was aborted by the software in your host machine 
    at sun.nio.ch.SocketDispatcher.write0(Native Method) 
    at sun.nio.ch.SocketDispatcher.write(Unknown Source) 
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.write(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source) 
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213) 
    at com.android.ddmlib.Client.sendAndConsume(Client.java:574) 
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348) 
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:420) 
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854) 
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822) 
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:618) 
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42) 
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577) 
+0

DDMS를 실행하고 이것에 관해 logcat이 무엇인지 확인해 주시겠습니까? 우리는 당신의 실수가 무엇인지 알지 못하기 때문에 우리는 아마도 (아마도 사람들이 실제로이 사이트에서 그걸 꺼낼지도 모르기 때문에) 아마도 당신을 도울 수 없을 것입니다. 해당 스택 추적 (logcat에 있음)의 사본으로 원본 게시물을 업데이트하십시오. – ninetwozero

+0

ok ddms now – Aman

+0

죄송 합니다만 관련 logcat 출력을 게시 한 것으로 보지 않습니다. 'com.xenom.text'에 관한 몇 가지 예외를 찾을 수 있습니까? – ninetwozero

답변

1

당신이 button1 인스턴스를 인스턴스화하는? 로그가 말하는 무슨 당신은

button1 = (Button)findViewById(R.id.myButton);

같은 뭔가가 필요? null 변수 참조에서 클릭 리스너를 설정하려고하면 라인에 NullPointerException이 표시되는 것 같습니다.

+0

OK 위의 코드가 여전히 유효합니다. – Aman

1

버튼을 초기화해야합니다. 먼저, 글로벌 변수 button1Button으로 변경하십시오. 그런 다음, 된 setContentView (R.layout.main) 후,이 전화 :

button1 = (Button)findViewById(R.id.button); 

UPDATE : 당신이 mText1가 null의 경우에도 Uri.encode(mText1)을하려고하기 때문에

오류도있을 수 있습니다.

관련 문제