【发布时间】:2014-07-10 21:59:39
【问题描述】:
我正在开发一款能够通过同时拨打电话和发送包裹手动在 3G 和 4G 之间切换的 Android 应用。当我结束通话时,包裹将继续发送,使手机保持 3G,但是当我按下按钮时,它会终止包裹。
我对大部分代码都很好,但是我让程序从其他人那里发送包,我对如何让它运行有点困惑,特别是我在声明时遇到的这个错误socket 字段。我收到一条错误消息,提示“默认构造函数无法处理隐式超级构造函数抛出的异常类型 SocketException。必须定义显式构造函数。”
这是我的包类文件:
package com.example.derpphone;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.TimerTask;
public class timer extends TimerTask {
DatagramSocket socket = new DatagramSocket();
@Override
public void run() {
if (socket != null) {
byte[] bytes = new byte[100];
SocketAddress serverAddress = new InetSocketAddress("131.179.176.74",
9998);
try {
DatagramPacket packet = new DatagramPacket(bytes,
bytes.length, serverAddress);
socket.send(packet);
} catch (Exception e) {
}
}
}
}
【问题讨论】: