android偏好设置快捷键,如何在Android中获得偏好设置?

博主是一名Java/Android新手,在开发第一个BAC(血液酒精浓度)计算器应用时遇到困难。他们希望用户能在设置中修改性别和体重变量以获得更精确的结果,但无法将设置界面的值与公式中的变量关联起来。博客内容涉及到使用ListPreference和SharedPreferences来存储用户的选择,但目前设置的更改并未反映在计算公式中。博主已经尝试了多种方法,包括创建Preferences.java,但未成功。他们寻求一个完整的工作示例来解决这个问题。

我真的一直在努力通过这一点。 Java / Android新手。我在写我的第一个应用程序,这是第一件花了我比寻找几天更长的时间。这是设置:这是一个BAC计算器/饮料计数器:

公式用于计算BAC。这里是forumla:

Bac = ((StandardDrinks / 2) * (GenderConstant / Weight)) - (0.017 * Hours);

所以,你可以看到,能够修改性别和体重将产生更准确和个性化的结果。所以我有他们双:

double GenderConstant = 7.5; //9 for female

double Weight = 180;

要更改这些变量,我希望人能够进入设置并选择不同的值。我有这些东西设置,但没有链接到上面显示的变量,因为我不能为我的生活弄清楚如何。他们来了:

我按菜单按钮,弹出。大。我将点击设置。

现在的喜好弹出。这里是我的preferences.xml:

android:title="Gender"

android:summary="Verify or deny the presence of a Y chromosome."

android:key="genderPref"

android:defaultValue="male"

android:entries="@array/genderArray"

android:entryValues="@array/genderValues" />

android:title="Weight"

android:summary="How much the planet pulls on you, in pounds."

android:key="weightPref"

android:defaultValue="180"

android:entries="@array/weightArray"

android:entryValues="@array/weightValues" />

android:title="Beer Size"

android:summary="The volume of your beer, in ounces."

android:key="beerPref"

android:defaultValue="12"

android:entries="@array/beerArray"

android:entryValues="@array/beerValues" />

android:title="Shot Size"

android:summary="The volume of your shot, in ounces."

android:key="shotPref"

android:defaultValue="1.5"

android:entries="@array/shotArray"

android:entryValues="@array/shotValues" />

android:title="Wine Size"

android:summary="The volume of your wine, in ounces."

android:key="winePref"

android:defaultValue="5"

android:entries="@array/wineArray"

android:entryValues="@array/wineValues" />

向前到重量ListPreference:

这显示。这些值作为字符串数组存储在res / values / arrays.xml中。这里有一个例子,只是重量:

120 lbs

150 lbs

180 lbs

210 lbs

240 lbs

270 lbs

120

150

180

210

240

270

这基本上就是我已经得到的。我可以点击一个值,肯定,但它不改变公式,因为它没有链接到我在DrinkingBuddy.java中创建的双。在设置中显示的所有东西现在只是空shell,包括主布局上的微调器(默认时间刚刚设置为1小时)

我创建了一个Preferences.java,并尝试实现各种组合的代码在教程和网络资源,但无济于事。这里,它无论如何,充满了失败的尝试,使beerPref(设置选项改变多少盎司在啤酒中)与我的主类中的变量相关联:

package com.dantoth.drinkingbuddy;

import android.app.Activity;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.preference.Preference;

import android.preference.PreferenceActivity;

import android.preference.Preference.OnPreferenceClickListener;

public class Preferences extends PreferenceActivity {

public static final String PREF_BEER_SIZE = "PREF_BEER_SIZE";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

addPreferencesFromResource(R.xml.preferences);

//Get the custom preference

Preference beerPref = (Preference) findPreference("beerPref");

beerPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

public boolean onPreferenceClick(Preference preference) {

SharedPreferences customSharedPreference = getSharedPreferences("myCustomSharedPrefs", Activity.MODE_PRIVATE);

SharedPreferences.Editor editor = customSharedPreference.edit();

editor.commit();

return true;

}}

);}

}

完整的教程和示例代码将是AWESOME,因为我还没有找到任何可靠的指南。

源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值