s=new Scanner(new BufferedReader(new InputStreamReader(this.clientSocket.getInputStream())));
while(s.hasNext()){
System.out.println("Am intrat in bucla s:");
longitude=Integer.parseInt(s.next());
System.out.println("Valoare longitudine:"+longitude);
latitude=Integer.parseInt(s.next());
System.out.println(latitude);
我使用上面的行从客户端服务器连接读取一些数据;这是服务器端。数据在扫描仪中读取,之后我尝试显示它,但是当我查看 logcat 时,我没有任何显示但这个例外:
04-18 00:07:56.138:信息/全球(295):
使用的默认缓冲区大小
BufferedReader 构造函数。它会
如果是 8k 字符,最好明确一点
需要缓冲。
我的客户端和服务器都在 android 上!有人知道我做错了什么吗?
这就是我读取数据的方式,我发送纬度和经度,我假设是空格分隔的,奇怪的是有时会起作用:
Cursor c=db.getAllData();
if(c.moveToFirst())
{
do{
longitude=Integer.parseInt(c.getString(1));
out.println(longitude);
latitude=Integer.parseInt(c.getString(2));
out.println(latitude);
}while(c.moveToNext());
}
该消息似乎是针对BufferedReader
构造。
首先,我认为您没有做任何“错误”的事情,因为您是说代码按预期工作并且消息是“信息”,而不是“错误”甚至“警告”。
其次,如果你看一下BufferedReader
构造函数,你会看到:
BufferedReader(读取器输入,int大小)
构造一个新的 BufferedReader,提供缓冲区的大小字符。
http://developer.android.com/reference/java/io/BufferedReader.html http://developer.android.com/reference/java/io/BufferedReader.html
请改用该构造函数,您将不会看到该消息。
顺便说一句,logcat
充满了输出,有些行比其他行更相关。
Use Log.d
代替System.out.println()
。关于System.out
: http://developer.android.com/guide/developing/tools/adb.html http://developer.android.com/guide/developing/tools/adb.html
查看标准输出和标准错误
Android系统默认发送
stdout 和 stderr(System.out 和
System.err)输出到/dev/null。在
运行 Dalvik VM 的进程,您
可以让系统写入一个副本
输出到日志文件。在这个
在这种情况下,系统会写入消息
使用日志标签 stdout 到日志
和 stderr,都具有优先级 I。
要以这种方式路由输出,您
停止正在运行的模拟器/设备
实例然后使用shell
命令 setprop 启用
输出重定向。这就是你如何
这样做:
$ adb shell stop $ adb shell setprop
log.redirect-stdio true $ adb shell
开始
系统保留此设置直到
您终止模拟器/设备
实例。将该设置用作
模拟器/设备上的默认设置
例如,您可以添加一个条目
设备上的 /data/local.prop。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)