相当打印列表中的JSON-ish

时间:2016-08-21 17:09:54

标签: android json

因此,作为我的Android应用程序的一部分,我需要显示一个列表,其中包含有关设备中所有传感器的信息。

以下是我用来做同样的代码。

//Read sensors and populate list
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
sensor = sensorManager.getSensorList(Sensor.TYPE_ALL);

LayoutInflater inflater = getLayoutInflater();
View convertView = inflater.inflate(R.layout.sensor_list, null);
ListView lv = (ListView) convertView.findViewById(R.id.lv_sensor);

AlertDialog.Builder alertDialog = new AlertDialog.Builder(CollectActivity.this);
alertDialog.setView(convertView);
alertDialog.setTitle("Available Sensor List");
lv.setAdapter(new ArrayAdapter < Sensor > (CollectActivity.this, android.R.layout.simple_list_item_1, sensor));
alertDialog.show();

XML文件就像它可以获得的那样简单。

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lv_sensor"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

</ListView>

输出是这样的(JSON-ish?):

Sensor_out

我的问题是,我怎样才能打印出来,这样可以用最少量的代码让人类阅读?时间限制不允许我创建具有大量解析逻辑等的另一个活动等。 编辑:输出为json-ish,正如我在代码中所写的那样。我希望可能有一些我可能错过的内部库!

感谢。

2 个答案:

答案 0 :(得分:1)

只需为ArrayAdapter<Sensor>编写自己的适配器(或使用RecyclerView)

您看到的不是JSON,而是Sensor.toSrtring()值。一个TextView用于android.R.layout.simple_list_item_1

您必须为要显示的数据创建自己的XML布局,然后在适配器中实现getView以将Sensor对象绑定到视图

答案 1 :(得分:-1)

使用Google的GSON库!

Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(obj);