我需要编写一些应用程序,它将在后台完成一些工作.这个应用程序将从autostart运行,并没有任何开始gui.Gui可以通过点击通知进行呼叫,该通知将显示自动启动.我担心,当用户明确通知时,他失去了打电话给这个gui的机会.我的问题是,有没有办法阻止用户清除我的通知?
我编写的应用程序将通过套接字将文件发送到服务器.它对所有文件非常重要,从客户端到服务器都是正确的,没有错误,丢失数据等等.要做到这一点,我需要使用TCP协议我想,但我不知道如何做到这一点.Java中的套接字是否使用TCP是默认的.如果不是,我如何通过TCP发送数据?感谢您的帮助和提示.
我使用ThreadPool在Java中编写应用程序.首先我创建新的ThreadPool:
private ExecutorService threadExecutor = Executors.newFixedThreadPool( 20 );
Run Code Online (Sandbox Code Playgroud)
然后我创建了一些Runnable对象.之后,我不时地执行我的ThreadPool传递相同的Runnable对象:
threadExecutor.execute(serverRunnable);
Run Code Online (Sandbox Code Playgroud)
我每20秒执行一次这个ThreadPool.我的问题是threadExecutor停止工作大约5分钟.它只是不执行Runnable对象.我注意到当我增加参数:
Executors.newFixedThreadPool( 20 );
Run Code Online (Sandbox Code Playgroud)
从20到100个ThreadPool将工作更长时间.任何人都可以解释为什么ThreadPool停止工作?
PS.我在Android中编写此代码
使用函数拆分拆分此String.这是我的代码:
String data= "data^data";
String[] spli = data.split("^");
Run Code Online (Sandbox Code Playgroud)
当我尝试在spli中只包含一个字符串时.看起来java在拆分时看不到"^".有谁知道我怎么能用字母"^"分割这个字符串?
编辑
解决:P
我需要编写一些具有几个线程的应用程序,这些线程将与本地数据库一起使用.我担心这些线程会在数据库之间竞争.有没有简单的解决方案来解决这个问题?我读到我可以使用内容提供商因为那时只有一个与数据库的连接,但也许有另一个解决方案?感谢您的所有建议和提示.
我需要编写将从InputStream中重新获取数据的应用程序.简而言之:我的应用程序将首先连接到蓝牙设备.连接后,我的应用程序将连续从InputStream重新加载数据.我的意思是设备将发送20 milisec的数据,应用程序将收到这个数据工作24小时甚至更多.现在我以这种方式阅读这些数据:
while((bytesReceived = is.read(buffer))>-1) {
//things to do with data
}
Run Code Online (Sandbox Code Playgroud)
此循环在流中时接收数据,在输入流接近时停止.我的问题是我认为这不是最佳解决方案.在is.read(缓冲区)接收数据后,它会阻塞等待下一个消耗大量处理器的数据.您是否知道更好的方法来读取消耗最少处理器功耗的数据.谢谢你的帮助.
BTW.我在Android上用Java编写应用程序.