Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序保持强制关闭_Android - Fatal编程技术网

Android 应用程序保持强制关闭

Android 应用程序保持强制关闭,android,Android,我创建了一个简单的应用程序,允许用户在框中键入电话号码,然后按下一个按钮,启动搜索联系人并返回与输入的电话号码匹配的联系人姓名的活动 然而,该应用程序保持强制关闭 这是密码 package com.xenom.text; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract.PhoneLookup; impor

我创建了一个简单的应用程序,允许用户在框中键入电话号码,然后按下一个按钮,启动搜索联系人并返回与输入的电话号码匹配的联系人姓名的活动

然而,该应用程序保持强制关闭

这是密码

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)

您在哪里实例化
按钮1
实例?你需要像这样的东西

button1=(Button)findviewbyd(R.id.myButton)


日志上写着什么?我猜,当您尝试在空变量引用上设置单击式侦听器时,您会遇到一个
NullPointerException

您必须初始化按钮。首先,将全局变量
button1
更改为类型
Button
。然后,在setContentView(R.layout.main)之后,调用以下命令:

button1 = (Button)findViewById(R.id.button);
更新:


错误也可能是因为您正在尝试执行
Uri.encode(mText1)
,即使mText1为空。

请运行DDMS并检查logcat对此有何评论?由于我们不太清楚您的错误是什么,我们可能无法帮助您(我说可能只是因为这个网站上确实有人可能会做到这一点)。用相关stacktrace(在logcat中找到)的副本更新您的原始帖子。很抱歉,但我认为您没有发布相关的logcat输出;您能否查找有关
com.xenom.text
的一些例外情况?