这是一个纯Java项目,用于检查客户端和服务器之间的连接是否已建立,查看收到的流是否已转换为字符串等。我想检查这些步骤是否在我的Android项目中有效。什么是System.out.print
或.println
的等价物。
public class TestConnect {
static String result = "";
public static void main(String[] args) {
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://127.0.0.1/index.php");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
System.out.println(is);
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
System.out.print(line);
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
}
try {
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
json_data.getString("nom");
// json_data.getInt("Id_Patients");
System.out.println(json_data.getString("nom"));
// r.add(json_data.getString("categorie"));
}
} catch (Exception e) {
}
} catch (Exception e) {
}
}
}
答案 0 :(得分:3)
使用内置Logger
文档中的复制粘贴: 通常,使用
方法
详细程度的顺序,从最少到最多,是ERROR,WARN,INFO,DEBUG,VERBOSE。除了在开发期间,不应该将详细编译到应用程序中。调试日志在运行时编译但被剥离。始终保留错误,警告和信息日志。
提示:一个好的约定是在类中声明一个TAG常量:
private static final String TAG = "MyActivity";
并在后续调用日志方法时使用它。
提示:当您拨打电话时不要忘记
Log.v(TAG, "index=" + i);
当你构建要传递给Log.d的字符串时,编译器使用StringBuilder并且至少发生三次分配:StringBuilder本身,缓冲区和String对象。实际上,还有另一个缓冲区分配和复制,对gc的压力更大。这意味着如果您的日志消息被过滤掉,那么您可能正在进行大量工作并产生大量开销。
答案 1 :(得分:1)
使用Log在LogCat中打印所需的值。
Log.v(MYTAG, myString);
MYTAG :
您希望与日志消息关联的标记,以便您以后可以提交LogCat消息以仅检查所需的消息。
myString :
您希望以字符串格式在日志中写入的值。
您可以根据日志标记的方式使用Log.v(),Log.d(),Log.i(),Log.w(),Log.e()中的任何日志方法消息为。例如,如果要将日志消息标记为 debug 消息,请使用 Log.d()。
答案 2 :(得分:1)
使用Log课程。
Log.i("TAG", "info");
Log.d("TAG", "debug");
答案 3 :(得分:1)
你可以使用System.out.println()
它的行为与Log.i(TAG, String);
相同
但是在Android中,您可以使用各种Log方法:
Log.v()
- 详细Log.d()
- 调试Log.i()
- 信息Log.w()
- 警告Log.e()
- 错误