<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic FeatureSet from QueryTask does not contain all information from db in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/featureset-from-querytask-does-not-contain-all/m-p/6439#M54</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi everybody!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anybody know why the FeatureSet I get from my QueryTask only contains one of several Fields? If I perform the same Query via Browser, I get all the Fields for each feature, but the FeatureSet only contains the field specified as displayField, in my case NAME.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration:underline;"&gt;Fields contained according to Browser:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;"fieldAliases":{"ID":"ID",&lt;/SPAN&gt;&lt;STRONG&gt;"NAME":"NAME"&lt;/STRONG&gt;&lt;SPAN&gt;,"ADRESSE":"ADRESSE","OEFFNUNGSZEITEN":"??ffnungszeiten","PARKENTGELT":"Parkentgelt","TAGESHOECHSTSATZ":"Tageshöchstsatz","LANGZEITPARKEN":"Langzeitparken","PLS_NAME":"PLS Name","INFRASTRUKTUR":"Infrastruktur","BEMERKUNG":"Bemerkung","STELLPLAETZE":"Stellplätze","TYP":"TYP","TYP_EN":"TYP_EN","TYP_ID":"TYP_ID","BETREIBER":"BETREIBER","BETREIBER_LINK":"BETREIBER_LINK"}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(NAME is contained in FeatureSet, the rest of the fields not)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In class DownloadController, I trigger the download which is done in class DatabaseConnection. DownloadController is kind of a Util-class that is why the methods are public static. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;PRE class="plain" name="code"&gt; boolean downloadDidFinish = DownloadController.grabParkingAreaDataWithFeatureSet(context); //will trigger the download

package passau.android.app.db;

+import java.util.ArrayList; // I deleted the rest of the imports to make the code cleaner and easier readable

public class DownloadController {

 private static final String TAG = "DOWNLOADER";
 private static final String NO_DESCRIPTION_TEXT = "-";
 private static final int MINUTES_OF_DAY = 86400;

 private static Context context;
 private DataStore ds = DataStore.getInstance();

 private static AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; parkingConnection;

 private static FeatureSet parkingFeatureSet;

 private static ArrayList&amp;lt;ParkingArea&amp;gt; parkingArray;

 public static boolean[] failedDataConnection = new boolean[10];

 public static boolean isParkingDataAvailable = false;

 public static boolean grabParkingAreaData(Context context) {
&amp;nbsp; String parkingurl = "http://www.geoportal.passau.de/ArcGIS/rest/services/APPDATEN/MapServer/10";
&amp;nbsp; String parkingWhere = "ID &amp;lt;&amp;gt; 0";
&amp;nbsp; // String parkingWhere = "NAME='Zentralgarage'";
&amp;nbsp; String parkingDataName = "park";
&amp;nbsp; String[] parkingParams = { parkingurl, parkingWhere, parkingDataName,
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id", "name", "adresse", "oeffnungszeiten", "parkentgelt",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "tageshoechstsatz", "langzeitparken", "pls_name", "shape",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "infrastruktur", "bemerkung", "stellplaetze", "typ", "typ_en",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "typ_id", "betreiber", "betreiber_link" };
&amp;nbsp; parkingConnection = new DatabaseConnection().execute(parkingParams);
&amp;nbsp; return getDataWhenDownloadFinished(parkingConnection, "park");
 }

 private static boolean getDataWhenDownloadFinished(
&amp;nbsp;&amp;nbsp; AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; download, String dataName) {
&amp;nbsp; FeatureSet fs = new FeatureSet();
&amp;nbsp; try {
&amp;nbsp;&amp;nbsp; fs = download.get();
&amp;nbsp;&amp;nbsp; Log.d(dataName.toUpperCase(), FeatureSet.toJson(fs));
&amp;nbsp; } catch (InterruptedException e) {
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; } catch (ExecutionException e) {
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; } catch (Exception e) {
&amp;nbsp;&amp;nbsp; // TODO Auto-generated catch block
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; }

&amp;nbsp; boolean finished = false;
&amp;nbsp; if (fs.getGraphics().length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dataName.equals("park")) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d(TAG, "PARK_DB successfully downloaded");
&amp;nbsp;&amp;nbsp;&amp;nbsp; parkingFeatureSet = fs;
&amp;nbsp;&amp;nbsp;&amp;nbsp; finished = setParkingAreasWithFeatureSet(parkingFeatureSet);
&amp;nbsp;&amp;nbsp; } // never mind the other cases, they follow the same principle
&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp; handleDatabaseDownloadError(dataName);
&amp;nbsp; }

&amp;nbsp; return finished;
 }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static boolean setParkingAreasWithFeatureSet(FeatureSet fs) {
&amp;nbsp; DataStore ds = DataStore.getInstance();
&amp;nbsp; ds.removeAllValuesForKey("pa_");
&amp;nbsp; ArrayList&amp;lt;ParkingArea&amp;gt; parkingList = new ArrayList&amp;lt;ParkingArea&amp;gt;();
&amp;nbsp; 
&amp;nbsp; for (Graphic g : fs.getGraphics()) {
&amp;nbsp;&amp;nbsp; String graphicName = (String) g.getAttributeValue("PLS_NAME");
&amp;nbsp;&amp;nbsp; if (graphicName != null &amp;amp;&amp;amp; graphicName.isEmpty()) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; int total = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int current = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int trend = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; String status = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean full = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; String distance = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("NAME") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name = (String) g.getAttributeValue("NAME");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("AKTUELL") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = (Integer) g.getAttributeValue("AKTUELL");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("GESAMT") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; total = (Integer) g.getAttributeValue("GESAMT");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("STATUS") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = (String) g.getAttributeValue("STATUS");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("TREND") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trend = (Integer) g.getAttributeValue("TREND");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; ParkingArea pa = new ParkingArea(name, total, current, trend,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status, full, distance);

&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("WEBSITE") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pa.setSlotId((Integer) g.getAttributeValue("ID"));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // here I am processing the rest of the attributes likewise

&amp;nbsp;&amp;nbsp;&amp;nbsp; ds.setValue("pa_" + name, pa);
&amp;nbsp;&amp;nbsp;&amp;nbsp; parkingList.add(pa);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
&amp;nbsp; parkingArray = parkingList;
&amp;nbsp; return true;
 }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;package passau.android.app.db;

+import android.graphics.Color;

public class DatabaseConnection extends AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; {

 private static final String TAG = "DATABASE_DOWNLOAD";
 private FeatureSet fs;
 private QueryTask task;
 private Query query;

 private String dataName = "";

 @Override
 protected FeatureSet doInBackground(String... params) {
&amp;nbsp; String url = params[0];
&amp;nbsp; String where = params[1];
&amp;nbsp; this.dataName = params[2];
&amp;nbsp; String[] outFields = new String[params.length - 3];
&amp;nbsp; for (int i = 3; i &amp;lt; params.length; i++) {
&amp;nbsp;&amp;nbsp; outFields[i - 3] = params&lt;I&gt;;
&amp;nbsp; }

&amp;nbsp; // Define a new query and set parameters
&amp;nbsp; query = new Query();
&amp;nbsp; query.setWhere(where);
&amp;nbsp; query.setReturnGeometry(true);

&amp;nbsp; // Define the new instance of QueryTask
&amp;nbsp; task = new QueryTask(url);
&amp;nbsp; fs = new FeatureSet();

&amp;nbsp; try {
&amp;nbsp;&amp;nbsp; // run the querytask
&amp;nbsp;&amp;nbsp; fs = task.execute(query);
&amp;nbsp; } catch (Exception e) {
&amp;nbsp;&amp;nbsp; Log.d(TAG, "Error: Couln't load FeatureSet for data: " + dataName);
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; }

&amp;nbsp; return fs;
 }

 @Override
 protected void onPostExecute(FeatureSet fs) {
&amp;nbsp; // Define a new marker symbol for the result graphics
&amp;nbsp; SimpleMarkerSymbol sms = new SimpleMarkerSymbol(Color.BLUE, 6,
&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleMarkerSymbol.STYLE.CIRCLE);

&amp;nbsp; for (Graphic gr : fs.getGraphics()) {
&amp;nbsp;&amp;nbsp; Graphic g = new Graphic(gr.getGeometry(), sms);

&amp;nbsp;&amp;nbsp; Point p = (Point) gr.getGeometry();
&amp;nbsp; }
 }

}
&lt;/I&gt;&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope anybody has a clue for me, why all my fields will not show up in FeatureSet but in Browser-Json. How can I get that Json-representation in Code as well? Performing a FeatureSet.toJson(featureSet) will not do the trick.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Greetings&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 May 2013 19:26:35 GMT</pubDate>
    <dc:creator>PatriziaPeller</dc:creator>
    <dc:date>2013-05-20T19:26:35Z</dc:date>
    <item>
      <title>FeatureSet from QueryTask does not contain all information from db</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/featureset-from-querytask-does-not-contain-all/m-p/6439#M54</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi everybody!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anybody know why the FeatureSet I get from my QueryTask only contains one of several Fields? If I perform the same Query via Browser, I get all the Fields for each feature, but the FeatureSet only contains the field specified as displayField, in my case NAME.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration:underline;"&gt;Fields contained according to Browser:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;"fieldAliases":{"ID":"ID",&lt;/SPAN&gt;&lt;STRONG&gt;"NAME":"NAME"&lt;/STRONG&gt;&lt;SPAN&gt;,"ADRESSE":"ADRESSE","OEFFNUNGSZEITEN":"??ffnungszeiten","PARKENTGELT":"Parkentgelt","TAGESHOECHSTSATZ":"Tageshöchstsatz","LANGZEITPARKEN":"Langzeitparken","PLS_NAME":"PLS Name","INFRASTRUKTUR":"Infrastruktur","BEMERKUNG":"Bemerkung","STELLPLAETZE":"Stellplätze","TYP":"TYP","TYP_EN":"TYP_EN","TYP_ID":"TYP_ID","BETREIBER":"BETREIBER","BETREIBER_LINK":"BETREIBER_LINK"}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(NAME is contained in FeatureSet, the rest of the fields not)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In class DownloadController, I trigger the download which is done in class DatabaseConnection. DownloadController is kind of a Util-class that is why the methods are public static. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;PRE class="plain" name="code"&gt; boolean downloadDidFinish = DownloadController.grabParkingAreaDataWithFeatureSet(context); //will trigger the download

package passau.android.app.db;

+import java.util.ArrayList; // I deleted the rest of the imports to make the code cleaner and easier readable

public class DownloadController {

 private static final String TAG = "DOWNLOADER";
 private static final String NO_DESCRIPTION_TEXT = "-";
 private static final int MINUTES_OF_DAY = 86400;

 private static Context context;
 private DataStore ds = DataStore.getInstance();

 private static AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; parkingConnection;

 private static FeatureSet parkingFeatureSet;

 private static ArrayList&amp;lt;ParkingArea&amp;gt; parkingArray;

 public static boolean[] failedDataConnection = new boolean[10];

 public static boolean isParkingDataAvailable = false;

 public static boolean grabParkingAreaData(Context context) {
&amp;nbsp; String parkingurl = "http://www.geoportal.passau.de/ArcGIS/rest/services/APPDATEN/MapServer/10";
&amp;nbsp; String parkingWhere = "ID &amp;lt;&amp;gt; 0";
&amp;nbsp; // String parkingWhere = "NAME='Zentralgarage'";
&amp;nbsp; String parkingDataName = "park";
&amp;nbsp; String[] parkingParams = { parkingurl, parkingWhere, parkingDataName,
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id", "name", "adresse", "oeffnungszeiten", "parkentgelt",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "tageshoechstsatz", "langzeitparken", "pls_name", "shape",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "infrastruktur", "bemerkung", "stellplaetze", "typ", "typ_en",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "typ_id", "betreiber", "betreiber_link" };
&amp;nbsp; parkingConnection = new DatabaseConnection().execute(parkingParams);
&amp;nbsp; return getDataWhenDownloadFinished(parkingConnection, "park");
 }

 private static boolean getDataWhenDownloadFinished(
&amp;nbsp;&amp;nbsp; AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; download, String dataName) {
&amp;nbsp; FeatureSet fs = new FeatureSet();
&amp;nbsp; try {
&amp;nbsp;&amp;nbsp; fs = download.get();
&amp;nbsp;&amp;nbsp; Log.d(dataName.toUpperCase(), FeatureSet.toJson(fs));
&amp;nbsp; } catch (InterruptedException e) {
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; } catch (ExecutionException e) {
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; } catch (Exception e) {
&amp;nbsp;&amp;nbsp; // TODO Auto-generated catch block
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; }

&amp;nbsp; boolean finished = false;
&amp;nbsp; if (fs.getGraphics().length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dataName.equals("park")) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d(TAG, "PARK_DB successfully downloaded");
&amp;nbsp;&amp;nbsp;&amp;nbsp; parkingFeatureSet = fs;
&amp;nbsp;&amp;nbsp;&amp;nbsp; finished = setParkingAreasWithFeatureSet(parkingFeatureSet);
&amp;nbsp;&amp;nbsp; } // never mind the other cases, they follow the same principle
&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp; handleDatabaseDownloadError(dataName);
&amp;nbsp; }

&amp;nbsp; return finished;
 }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static boolean setParkingAreasWithFeatureSet(FeatureSet fs) {
&amp;nbsp; DataStore ds = DataStore.getInstance();
&amp;nbsp; ds.removeAllValuesForKey("pa_");
&amp;nbsp; ArrayList&amp;lt;ParkingArea&amp;gt; parkingList = new ArrayList&amp;lt;ParkingArea&amp;gt;();
&amp;nbsp; 
&amp;nbsp; for (Graphic g : fs.getGraphics()) {
&amp;nbsp;&amp;nbsp; String graphicName = (String) g.getAttributeValue("PLS_NAME");
&amp;nbsp;&amp;nbsp; if (graphicName != null &amp;amp;&amp;amp; graphicName.isEmpty()) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; int total = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int current = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int trend = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; String status = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean full = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; String distance = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("NAME") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name = (String) g.getAttributeValue("NAME");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("AKTUELL") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = (Integer) g.getAttributeValue("AKTUELL");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("GESAMT") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; total = (Integer) g.getAttributeValue("GESAMT");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("STATUS") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = (String) g.getAttributeValue("STATUS");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("TREND") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trend = (Integer) g.getAttributeValue("TREND");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; ParkingArea pa = new ParkingArea(name, total, current, trend,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status, full, distance);

&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g.getAttributeValue("WEBSITE") != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pa.setSlotId((Integer) g.getAttributeValue("ID"));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // here I am processing the rest of the attributes likewise

&amp;nbsp;&amp;nbsp;&amp;nbsp; ds.setValue("pa_" + name, pa);
&amp;nbsp;&amp;nbsp;&amp;nbsp; parkingList.add(pa);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
&amp;nbsp; parkingArray = parkingList;
&amp;nbsp; return true;
 }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;package passau.android.app.db;

+import android.graphics.Color;

public class DatabaseConnection extends AsyncTask&amp;lt;String, Void, FeatureSet&amp;gt; {

 private static final String TAG = "DATABASE_DOWNLOAD";
 private FeatureSet fs;
 private QueryTask task;
 private Query query;

 private String dataName = "";

 @Override
 protected FeatureSet doInBackground(String... params) {
&amp;nbsp; String url = params[0];
&amp;nbsp; String where = params[1];
&amp;nbsp; this.dataName = params[2];
&amp;nbsp; String[] outFields = new String[params.length - 3];
&amp;nbsp; for (int i = 3; i &amp;lt; params.length; i++) {
&amp;nbsp;&amp;nbsp; outFields[i - 3] = params&lt;I&gt;;
&amp;nbsp; }

&amp;nbsp; // Define a new query and set parameters
&amp;nbsp; query = new Query();
&amp;nbsp; query.setWhere(where);
&amp;nbsp; query.setReturnGeometry(true);

&amp;nbsp; // Define the new instance of QueryTask
&amp;nbsp; task = new QueryTask(url);
&amp;nbsp; fs = new FeatureSet();

&amp;nbsp; try {
&amp;nbsp;&amp;nbsp; // run the querytask
&amp;nbsp;&amp;nbsp; fs = task.execute(query);
&amp;nbsp; } catch (Exception e) {
&amp;nbsp;&amp;nbsp; Log.d(TAG, "Error: Couln't load FeatureSet for data: " + dataName);
&amp;nbsp;&amp;nbsp; e.printStackTrace();
&amp;nbsp; }

&amp;nbsp; return fs;
 }

 @Override
 protected void onPostExecute(FeatureSet fs) {
&amp;nbsp; // Define a new marker symbol for the result graphics
&amp;nbsp; SimpleMarkerSymbol sms = new SimpleMarkerSymbol(Color.BLUE, 6,
&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleMarkerSymbol.STYLE.CIRCLE);

&amp;nbsp; for (Graphic gr : fs.getGraphics()) {
&amp;nbsp;&amp;nbsp; Graphic g = new Graphic(gr.getGeometry(), sms);

&amp;nbsp;&amp;nbsp; Point p = (Point) gr.getGeometry();
&amp;nbsp; }
 }

}
&lt;/I&gt;&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope anybody has a clue for me, why all my fields will not show up in FeatureSet but in Browser-Json. How can I get that Json-representation in Code as well? Performing a FeatureSet.toJson(featureSet) will not do the trick.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Greetings&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 19:26:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/featureset-from-querytask-does-not-contain-all/m-p/6439#M54</guid>
      <dc:creator>PatriziaPeller</dc:creator>
      <dc:date>2013-05-20T19:26:35Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSet from QueryTask does not contain all information from db</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/featureset-from-querytask-does-not-contain-all/m-p/6440#M55</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Maybe in your query object you need to specify the outFields?:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Query query = new Query();


// set the geometry to the envelope of Montana created above.&amp;nbsp; 
query.setGeometry(mtStExtent);

// query features that are completely contained by selection
query.setSpatialRelationship(SpatialRelationship.CONTAINS);

// set query in/out spatial ref defined above&amp;nbsp; 
query.setInSpatialReference(mtSt);
&amp;nbsp; 
// get the output in Montana State Plane to match map
query.setOutSpatialReference(mtSt);

// return all features
&lt;STRONG&gt;query.setOutFields(new String[] { "*" });&lt;/STRONG&gt;

// include geometry in result set
query.setReturnGeometry(true);
&amp;nbsp; 
// run query on FeatureLayer off UI thread
fl.queryFeatures(query, new CallbackListener&amp;lt;FeatureSet&amp;gt;() {....&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:16:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/featureset-from-querytask-does-not-contain-all/m-p/6440#M55</guid>
      <dc:creator>MilesWacker</dc:creator>
      <dc:date>2021-12-10T20:16:05Z</dc:date>
    </item>
  </channel>
</rss>

