一个关于Android编成问题

代码如下:
public class get extends MainActivity {
Socket socket;
BufferedReader in;
private EditText OP;
EditText dose=(EditText)findViewById(R.id.editText);
public get() {
try {
Socket socket = new Socket("192.168.11.254", 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
new gd().start();
} catch (IOException e) {
e.printStackTrace();
}
}

class gd extends Thread {
    public void run() {
        while (this.isAlive()) {
            try {
                String kk = in.readLine();
                int k = (kk.lastIndexOf("dose"));
                String z;
                z = kk.substring(k + 5, k + 10);
                Thread.sleep(50);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }

}

}

提示如下:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference

如何解决?

这个报错不取决于这段代码。错误的原因是系统没有找到对应控件的ID。觉得可能是控件1,控件的ID匹配错了。2,布局文件里面的控件与代码里面控件的声明不匹配。
再检查一下。

这个错误叫空指针异常:.NullPointerException,看提示是你这段代码错了:EditText dose=(EditText)findViewById(R.id.editText);,你找一下这个editText
这个ID是否是写在了EditText控件上了,还是写错了地方

你的get类继承自MainActivity,那么它应该也是一个Activity,那么你的onCreate方法呢?findViewById这种应该卸载onCreate里边

EditText dose=(EditText)findViewById(R.id.editText);这个应该写在onCreate()方法里面的

Socket socket与BufferedReader in实例化了两次,

Socket socket = new Socket("192.168.11.254", 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
把这两句改为
socket = new Socket("192.168.11.254", 8080);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
试试