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