public AbstractThing getThingById(String thingId) { Cursor cursor = ctx.getContentResolver() .query( Uri.withAppendedPath( HVContentContract.CONTENT_URI, "records/" + record.getId() + "/things/" + thingId), new String[] {"thing_xml"}, null, null, null); AbstractThing data = null; if (cursor.moveToFirst()) { Thing2 thing = XmlSerializer.safeRead(Thing2.class, cursor.getString(0)); data = thing.getData(); } cursor.close(); return data; }