Java Android-如何在文本视图中打印结果?
我应该使用setText(),但是我应该如何使用它而不是System.out.println()? 我想在文本视图中打印结果。代码是一个json读取器。对不起,我需要写一些文字让我张贴我的问题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
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设置文本。你想实现什么目标?