application settings

Probably a stupid user error but I'm playing around with application settings and in my resources folder I have resources.xml

<resources>
    <properties>
    	<property id="key" type="number">5</property>
    </properties>
	<settings>
		<setting propertyKey="@Properties.key" title="title" prompt="prompt">
			<settingConfig type="numeric" errorMessage="error" />
		</setting>
	</settings>
</resources>

but I don't see anything showing up in the IDE App Settings Editor. Configuration file in wrong place or something else?

Top Replies

All Replies

  • Well the appearing of the SET file (and the working of the settings-push from the IDE to the simulator) would indicate that at least the settings are OK from the app point of view).

    Can you access the application settings from the Garmin Connect web UI or are they just in the mobile app?

  • You have used the App settings editor in eclipse to test this out, right?

    The .set is there because you have properties.You'll see it with sideloads too.  It's no indications the settings are correctly done.

  • Yep, they show up with correct labels and default values, the push to simulator is successful and I can see the changes in the app.

    So it's in the mobile app The device -> Activities, Apps & More -> Activities & Application -> MyApp where the settings should be visible? At least that's what I assumed from a scientific "first google hit" research

  • You can also change settings in Garmin Express.  Does it work there?

  • Downloaded the app (which is apparently 20x the size of my first hard drive) and surprisingly enough, the settings show up there! There was apparently some app "Best Bike Split Race Sync" pre-installed and that one has a "settings"

  • Unfortunately, the issue apparently persists on the production app store

  • post your properties, settings, and associated strings. 

  • <resources>
        <properties>
        	<property id="minHeartRate" type="number">50</property>
        	<property id="maxHeartRate" type="number">200</property>
        	<property id="minPower" type="number">0</property>
        	<property id="maxPower" type="number">350</property>
        	<property id="powerAverageSeconds" type="number">5</property>
        	<property id="pauseSpeed" type="number">2</property>
        </properties>
    	<settings>
    		<setting propertyKey="@Properties.minHeartRate" title="@Strings.set_hr_low" prompt="@Strings.set_hr_low_title">
    			<settingConfig type="numeric" errorMessage="@Strings.set_hr_low_err" />
    		</setting>
    		<setting propertyKey="@Properties.maxHeartRate" title="@Strings.set_hr_high" prompt="@Strings.set_hr_high_title">
    			<settingConfig type="numeric" errorMessage="@Strings.set_hr_high_err" />
    		</setting>
    		<setting propertyKey="@Properties.minPower" title="@Strings.set_pwr_low" prompt="@Strings.set_pwr_low_title">
    			<settingConfig type="numeric" errorMessage="@Strings.set_pwr_low_err" />
    		</setting>
    		<setting propertyKey="@Properties.maxPower" title="@Strings.set_pwr_high" prompt="@Strings.set_pwr_high_title">
    			<settingConfig type="numeric" errorMessage="@Strings.set_pwr_high_err" />
    		</setting>
    		<setting propertyKey="@Properties.powerAverageSeconds" title="@Strings.set_pas" prompt="@Strings.set_pas_title">
    			<settingConfig type="numeric" errorMessage="@Strings.set_pas_err" />
    		</setting>
    		<setting propertyKey="@Properties.pauseSpeed" title="@Strings.set_ps" prompt="@Strings.set_ps_title">
    			<settingConfig type="numeric" errorMessage="@Strings.set_ps_err" />
    		</setting>
    	</settings>
    </resources>

    <strings>
        <string id="AppName">MenoX</string>
        
        <string id="chart_WperHB_title">Power per heartbeat</string>
        <string id="chart_WperHB_dataLabel">efficiency</string>
        <string id="chart_WperHB_unitLabel">W/hb</string>
        
        <string id="set_hr_low">HR low</string>
        <string id="set_hr_low_title">Heart rate low limit</string>
        <string id="set_hr_low_err">Error setting heart rate lower limit</string>
        
        <string id="set_hr_high">HR high</string>
        <string id="set_hr_high_title">Heart rate high limit</string>
        <string id="set_hr_high_err">Error setting heart rate upper limit</string>
    
        <string id="set_pwr_low">Power low</string>
        <string id="set_pwr_low_title">Power low limit</string>
        <string id="set_pwr_low_err">Error setting power lower limit</string>
    
        <string id="set_pwr_high">Power high</string>
        <string id="set_pwr_high_title">Power high limit</string>
        <string id="set_pwr_high_err">Error setting power upper limit</string>
        
        <string id="set_pas">Power average</string>
        <string id="set_pas_title">Power average in seconds</string>
        <string id="set_pas_err">Error setting power average</string>
    
        <string id="set_ps">Pause speed</string>
        <string id="set_ps_title">Pause speed in m/s</string>
        <string id="set_ps_err">Error setting pause speed</string>
        
    </strings>
    

  • Nothing jumps out at me, but it could be using prompt and errorMessage

    for a numeric setting, I just do this:

            <setting propertyKey="@Properties.bgmins" title="@Strings.bgmins">
                <settingConfig min="0" max="60" type="numeric"/>
            </setting>

  • Changed after your example - still no go. Strange thing it shows up on Garmin Express, though. And https://developer.garmin.com/connect-iq/core-topics/app-settings/ appears to be using them