如果我的程序没有执行a ServerSocket.close()和/或Socket.close()它终止之前,下次启动程序时,它会IOException在尝试开始侦听端口时抛出一个.
这通常不是因为我忘记close()在程序结束时放置一个,而是当我强制关闭程序并且永远不会有机会执行时close().看来我必须注销并登录我的Linux机器才能摆脱"被占用的套接字".我想知道是否有人知道我可以清除任何未封闭的套接字,以防服务器从终端或任何其他方法强行结束?
我已经尝试过禁用和启用我的网络连接,但仍然没有运气.
根据MySQL 5.0参考手册,MySQL JDCB Connector/J是一个"Type 4"驱动程序.我用来连接JDBC服务器的方法是......
Class.forName("com.mysql.jdbc.Driver").newInstance();
Run Code Online (Sandbox Code Playgroud)
我的JDBC根本不起作用,作为我最后的手段,找出为什么这不起作用,我认为它可能是驱动程序.有人能告诉我这是否是为getConnection()调用驱动程序的正确方法?我真正想要的是一个不同的命令,它应该替换Type 4 JDBC驱动程序的"com.mysql.jdbc.Driver".
这是堆栈跟踪让我想到为什么这不起作用......
java.sql.SQLException: No driver found for jdbc:mysql://localhost:3306/mysql?user=user_name&password=pass_word
java.sql.DriverManager.getDriver(libgcj.so.10)
java.sql.DriverManager.getConnection(libgcj.so.10)
java.sql.DriverManager.getConnection(libgcj.so.10)
... blah blah blah
Run Code Online (Sandbox Code Playgroud) 我正在尽我所能让JDBC工作,现在唯一困扰我的是这个例外,我不知道:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1049)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1890)
com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3523)
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2386)
com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:374)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
java.sql.DriverManager.getConnection(libgcj.so.10)
java.sql.DriverManager.getConnection(libgcj.so.10)
Run Code Online (Sandbox Code Playgroud)
我正在用它连接...
Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "username", "password");
Run Code Online (Sandbox Code Playgroud)
非常感谢!
如果不使用XML,如何设置EditText以使句子大写并仍然具有预测文本?我尝试过EditText.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES)但有效但却禁用了预测文本.如何在不使用XML的情况下获得预测文本和句子大小写.
我添加android:exported="true"标签后,我在清单文件中收到了AppWidget配置活动的警告.这就是它的样子......
<activity android:name=".widgets.WidgetConfigurationActivity"
android:theme="@android:style/Theme.Translucent"
android:exported="true" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
我得到的警告是"导出的活动不需要许可".根据我的理解,将exported标记设置为true意味着与我的应用程序无关的另一个应用程序可以访问它(这将是有意义的,因为主屏幕启动器应用程序需要启动我的AppWidget的配置活动).有谁知道我需要在这里添加什么样的权限才能使这不会出错?
我正在创建一个通过runOnUiThread(Runnable)方法更新UI的应用程序.只要用户运行此应用程序,即使在onPause()时,此UI线程也会继续运行,这一点非常重要.但是,我意识到当屏幕被锁定时,Android会停止UI线程; 而且我不怪他们,这可能是为了节省电池寿命.但是我想知道是否有办法覆盖它并告诉活动或系统继续运行UI线程.
我想要一个AlertDialog带有文本和图标的。我创建了两个数组,一个用于对话框项,另一个用于对话框项图标,但它不起作用。到目前为止,这是我的代码:
CharSequence options[] = new CharSequence[] {"RETEN", "ACCIDENTE VIAL", "INUNDACION", "ABUSO", "ASALTO / VIOLENCIA"};
builder = new AlertDialog.Builder(getActivity(), android.R.style.Theme_DeviceDefault_Settings);
builder.setCancelable(false);
Resources res = getResources();
TypedArray icons = res.obtainTypedArray(R.array.alertas);
builder.setIcon(icons);
builder.setTitle(getContext().getString(R.string.select_alert_type));
builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// the user clicked on options[which]
//1.RECUPERAR OPCION SELECCIONADA
if (which == 0){ ... }
...
});
Run Code Online (Sandbox Code Playgroud)
我在行收到警告:
builder.setIcon(icons);
Run Code Online (Sandbox Code Playgroud) 我最近想出了如何使用ObjectOutputStream和ObjectInputStream通过服务器和客户端之间的简单Java套接字连接发送对象.我想知道我是否想要传输一个可能很大的对象,例如一个图像,是否可以设置一个线程来跟踪已经发送/接收了多少数据的进度?如果这个问题的答案不是很直接,有人可以解释一下我可能会做些类似的事吗?提前致谢!