如何在Android项目中执行System.out.print?

时间:2012-11-25 16:12:42

标签: java android

这是一个纯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) {
        }
    }
}

4 个答案:

答案 0 :(得分:3)

使用内置Logger

文档中的复制粘贴: 通常,使用

  • Log.v()
  • Log.d()
  • Log.i()
  • Log.w()
  • Log.e()

方法

详细程度的顺序,从最少到最多,是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() - 错误