小编Bri*_*ian的帖子

忘记关闭ServerSocket

如果我的程序没有执行a ServerSocket.close()和/或Socket.close()它终止之前,下次启动程序时,它会IOException在尝试开始侦听端口时抛出一个.

这通常不是因为我忘记close()在程序结束时放置一个,而是当我强制关闭程序并且永远不会有机会执行时close().看来我必须注销并登录我的Linux机器才能摆脱"被占用的套接字".我想知道是否有人知道我可以清除任何未封闭的套接字,以防服务器从终端或任何其他方法强行结束?

我已经尝试过禁用和启用我的网络连接,但仍然没有运气.

java sockets linux tcp

2
推荐指数
1
解决办法
3180
查看次数

JDBC Type 4驱动程序

根据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)

java mysql jdbc

2
推荐指数
1
解决办法
7854
查看次数

JDBC的难倒SQL异常

我正在尽我所能让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)

非常感谢!

java mysql connector jdbc mysql-error-1064

2
推荐指数
1
解决办法
3913
查看次数

以编程方式在EditText上设置句子大写

如果不使用XML,如何设置EditText以使句子大写并仍然具有预测文本?我尝试过EditText.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES)但有效但却禁用了预测文本.如何在不使用XML的情况下获得预测文本和句子大小写.

android capitalization android-edittext

2
推荐指数
1
解决办法
1438
查看次数

AppWidget配置活动的导出活动权限

我添加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的配置活动).有谁知道我需要在这里添加什么样的权限才能使这不会出错?

permissions android manifest android-appwidget

2
推荐指数
1
解决办法
1307
查看次数

屏幕关闭时保持UI线程运行

我正在创建一个通过runOnUiThread(Runnable)方法更新UI的应用程序.只要用户运行此应用程序,即使在onPause()时,此UI线程也会继续运行,这一点非常重要.但是,我意识到当屏幕被锁定时,Android会停止UI线程; 而且我不怪他们,这可能是为了节省电池寿命.但是我想知道是否有办法覆盖它并告诉活动或系统继续运行UI线程.

user-interface multithreading android

1
推荐指数
1
解决办法
4049
查看次数

带有文本和图标的 Android 警报对话框

我想要一个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)

android

1
推荐指数
1
解决办法
2980
查看次数

获取ObjectOutputStream/ObjectInputStream的进度

我最近想出了如何使用ObjectOutputStream和ObjectInputStream通过服务器和客户端之间的简单Java套接字连接发送对象.我想知道我是否想要传输一个可能很大的对象,例如一个图像,是否可以设置一个线程来跟踪已经发送/接收了多少数据的进度?如果这个问题的答案不是很直接,有人可以解释一下我可能会做些类似的事吗?提前致谢!

java sockets progress objectoutputstream objectinputstream

0
推荐指数
1
解决办法
1374
查看次数