Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-如何在文本视图中打印结果?_Java_Android_Textview - Fatal编程技术网

Java Android-如何在文本视图中打印结果?

Java Android-如何在文本视图中打印结果?,java,android,textview,Java,Android,Textview,我应该使用setText(),但是我应该如何使用它而不是System.out.println()? 我想在文本视图中打印结果。代码是一个json读取器。对不起,我需要写一些文字让我张贴我的问题 public class JsonReader extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set

我应该使用setText(),但是我应该如何使用它而不是System.out.println()? 我想在文本视图中打印结果。代码是一个json读取器。对不起,我需要写一些文字让我张贴我的问题

public class JsonReader extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

private static String readAll(Reader rd) throws IOException {
    StringBuilder sb = new StringBuilder();
    int cp;
    while ((cp = rd.read()) != -1) {
        sb.append((char) cp);
    }
    return sb.toString();
}

public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
    InputStream is = new URL(url).openStream();
    try {
        BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
        String jsonText = readAll(rd);
        JSONObject json = new JSONObject(jsonText);
        return json;
    } finally {
        is.close();
    }
}

public static void main(String[] args) throws IOException, JSONException {
    JSONObject json = readJsonFromUrl("http://www.w3schools.com/json/myTutorials.txt");
    System.out.println(json.toString());
    System.out.println(json.get("display"));
    //TextView tv = (TextView) findViewById( R.id.tv );
    //tv.setText(json.toString());
    //tv.setText(json.get("display"));

}

}

您需要使用日志在android中打印和调试内容

通常有五种方法

Log.v() Log.d() Log.i() Log.w() and Log.e()
v表示冗长

d用于调试

我需要信息

w表示警告

对错误的怀疑

在您的情况下

Log.d("Key", json.toString() + "");
Log.d("Key", json.get("display") + "");

您可以在日志猫中查找值,使用“键”

您需要使用日志来打印和调试android中的内容

通常有五种方法

Log.v() Log.d() Log.i() Log.w() and Log.e()
v表示冗长

d用于调试

我需要信息

w表示警告

对错误的怀疑

在您的情况下

Log.d("Key", json.toString() + "");
Log.d("Key", json.get("display") + "");
然后在日志cat中查找值,使用“键”

可以使用a来收集输出:

CharArrayWriter writer = new CharArrayWriter();
// write your stuff
TextView view = ...
view.setText(writer.toString());
您必须使用
编写器可用的方法,而不是
打印流的方法,例如
System.out
(无
println()
方法)

如果您想使用基本相同的调用来生成输出,您可以通过tearrayoutputstream创建一个
ByteArrayOutputStream
,并将其包装在
PrintStream
中。写入(并关闭
打印流
)后,从
ByteArrayOutputStream
检索字节数组,并使用
字符串
构造函数之一将其转换为
字符串。您只需在创建
PrintStream
和将字节转换为
字符串时指定要使用的字符编码即可

另一种选择是用简单地将数据附加到
StringBuilder
来代替打印

最后一种选择是直接附加到
文本视图
,但这需要将每一段输出转换为某种类型的
字符序列

,您可以使用来收集输出:

CharArrayWriter writer = new CharArrayWriter();
// write your stuff
TextView view = ...
view.setText(writer.toString());
您必须使用
编写器可用的方法,而不是
打印流的方法,例如
System.out
(无
println()
方法)

如果您想使用基本相同的调用来生成输出,您可以通过tearrayoutputstream创建一个
ByteArrayOutputStream
,并将其包装在
PrintStream
中。写入(并关闭
打印流
)后,从
ByteArrayOutputStream
检索字节数组,并使用
字符串
构造函数之一将其转换为
字符串。您只需在创建
PrintStream
和将字节转换为
字符串时指定要使用的字符编码即可

另一种选择是用简单地将数据附加到
StringBuilder
来代替打印


最后一种选择是直接附加到
TextView
,但这需要将每个输出转换为某种
CharSequence

,如果您想在手机上查看结果,而不是像johnrao07建议的那样在LogCat控制台上查看结果,则需要在TextView中打印结果

要在TextView中打印结果,首先在activity_main.xml布局文件中添加TextView小部件

<TextView
        android:id="@+id/text_view_id"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


然后JsonReader.java类main函数,而不是
System.out.println(json.toString())调用
((TextView)findViewById(R.id.text\u view\u id)).setText(json.toString())

如果您想在手机上查看结果,而不是像johnrao07建议的那样在LogCat控制台上查看结果,则需要在文本视图中打印结果

要在TextView中打印结果,首先在activity_main.xml布局文件中添加TextView小部件

<TextView
        android:id="@+id/text_view_id"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


然后JsonReader.java类main函数,而不是
System.out.println(json.toString())调用
((TextView)findViewById(R.id.text\u view\u id)).setText(json.toString())

您的代码中没有使用任何文本视图您是否在活动主布局中定义了任何文本视图?文本视图在哪里。透视->是,但是我不能从java设置文本。你想实现什么目标?你的代码中没有使用任何文本视图?你在活动的主布局中定义过任何文本视图吗?你的文本视图在哪里?透视->是的,但我不能从java设置文本。你想实现什么目标?