我已经更改了数据库,以便为所有条目提供唯一的密钥。
public class ResocardFragment extends Fragment{
private RecyclerView recyclerView;
CardAdapter adapter;
DatabaseReference mbase;
double SpendeFra,SpendeAngy;
private @NonNull FragmentResocardBinding binding;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = FragmentResocardBinding.inflate(inflater, container, false);
String reference = ""+Spesa.annoEffettivo()+Spesa.meseEffettivo()+"/spese";
mbase = FirebaseDatabase.getInstance().getReference(reference);
recyclerView = binding.RecyclerResocard;
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
FirebaseRecyclerOptions<Spesa> options
= new FirebaseRecyclerOptions.Builder<Spesa>()
.setQuery(mbase, Spesa.class)
.build();
adapter = new CardAdapter(getActivity(), options);
recyclerView.setAdapter(adapter);
View root = binding.getRoot();
return root;
}
@Override public void onStart()
{
super.onStart();
adapter.startListening();
}
@Override public void onStop()
{
super.onStop();
adapter.stopListening();
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
}
};
mbase.addValueEventListener(postListener);
}
}
我是斯佩萨。班
public class Spesa {
public String desc;
public Double costo;
public String categoria;
public String chi;
public Integer giorno;
public Integer mese;
public Integer anno;
public Spesa(){
}
public Spesa(String spesa,Double costo, String categoria, String chi, Integer giorno, Integer mese, Integer anno){
this.costo = costo;
this.desc = spesa;
this.categoria = categoria;
this.chi = chi;
this.giorno = giorno;
this.mese = mese;
this.anno = anno;
}
public Spesa(String desc, Double costo, String chi){
this.desc = desc;
this.costo = costo;
this.chi = chi;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public double getCosto() {
return costo;
}
public void setCosto(Double costo) {
this.costo = costo;
}
public String getCategoria() {
return categoria;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
public String getchi() {
return chi;
}
public void setchi(String chi) {
this.chi = chi;
}
public Integer getGiorno() {
return giorno;
}
public void setGiorno(Integer giorno) {
this.giorno = giorno;
}
public Integer getMese() {
return mese;
}
public void setMese(Integer mese) {
this.mese = mese;
}
public Integer getAnno() {
return anno;
}
public void setAnno(Integer anno) {
this.anno = anno;
}
public static String meseEffettivo(){
Calendar c = Calendar.getInstance();
String[] monthName = {"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio",
"Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"};
//da gestire: IF giorno > 27 dic...
if(c.get(Calendar.DAY_OF_MONTH)>27){
return monthName[c.get(Calendar.MONTH)+1];
}
else{
return monthName[c.get(Calendar.MONTH)];
}
}
public static String annoEffettivo(){
Integer anno = 0;
Calendar c = Calendar.getInstance();
if(c.get(Calendar.MONTH)==11){
if(c.get(Calendar.DAY_OF_MONTH)>=27){
anno = c.get(Calendar.YEAR)+1;
}
}
else {
anno = c.get(Calendar.YEAR);
}
return anno.toString();
}
}
这段代码工作正常,直到我有了没有唯一密钥的“旧”数据库。现在我不得不面对这些陈述:
DatabaseReference mbase = FirebaseDatabase.getInstance().getReference(reference);
FirebaseRecyclerOptions<Spesa> options
= new FirebaseRecyclerOptions.Builder<Spesa>()
.setQuery(mbase, Spesa.class)
.build();
问题是我不知道如何有一个指向键的参考。特别是,变量“选项”不是“Spesa”类,但它是null。如果我没有适配器,我会做为(Datasnapshot ds: datasSnapshot.get儿童),然后进入为我将使用getValue,但在这种情况下,与Firebase RecycreOptions我真的不知道该怎么办。
我在这个网站上搜索过,但没有找到任何解决我问题的方法。
这是我数据库的照片
谢谢提前
我解决了改变数据库结构的问题。唯一键是一个嵌套,现在我可以迭代,适配器工作正常
我正在使用Postgres,我有一个具有唯一键(memberId,propertyName)的表。我使用的是onDuplicateKey,生成的代码显示它使用的是on conflict,但它使用的是id。是否可以指定您自己的键来检查,或者Jooq是否尝试读取表并检查是否存在唯一约束?我目前的解决方法是先进行选择,然后进行更新或插入。
我有几个关于Azure Key Vault的问题,我需要一些技术帮助:链接https://docs.microsoft.com/en-us/Azure/key-vault/general/overview指出,“机密和密钥由Azure保护,使用行业标准算法、密钥长度和硬件安全模块(HSMs)。使用的HSMs经过联邦信息处理标准(FIPS)140-2级验证”。 我想确认这是否适用于秘密,就像适用于密
问题内容: 我刚刚发现了信息,我只是在检查是否有与项目中的一些朋友一起遇到约束的想法,尽管这更多是我一直在尝试找到的理论问题一个答案一段时间。 我不太喜欢密码学,但是如果我不够清楚,我将尝试编辑/评论以澄清任何问题。 简而言之,环境是这样的: 前端用于访问加密/解密密钥,后端用于存储和查询的应用程序。 例如,有一个您无法访问几个字段的数据库,让我们说“地址”,它通常是文本/ varchar。 您无
我在从Firebase实时数据库查询嵌套数据时遇到问题。 给出以下示例数据结构: 让我们假设这个集合将有数百个孩子。此外,在执行查询之前,ID是随机的和未知的。如图所示,每个交叉点都有几个其他值。 首先,我必须列出键以给定值开始的所有交叉。例如,如果我搜索1,我希望得到这个简单例子中的所有交叉。 此代码段解决了这个问题。虽然,我仍然不确定这是否是实现这一目标的最佳方式。 我的主要问题是,现在我必须
我用过这个命令 生成密钥库。它工作正常,但从我读到的内容来看,这个命令还应该提示您输入密钥密码(而不是存储密码)?我从来没有收到过这样的提示。我能跑 查看密钥库的内容。钥匙似乎就在那里。。。正确的别名在那里。在哪里获取/设置特定别名的密码? 我有一个key.properties在Android目录 在build.gradle我有: 当我试图生成一个发布版本时,我得到了 我想它可能与keyPassw
问题内容: 我对数据库表中的唯一行有问题,现在可以这样做: 当我在所有列中使用UNIQUE属性时,即使第二个Moore名称不同,我也会插入第二个Moore错误:/ 如何使用UNIQUE(或INDEX?)在db表中执行类似的操作: 抱歉,如果问题很简单,但是我是sql的初学者,并且在使用UNIQUE之类的UNIQUE时找到一些好的示例时遇到问题:/或者也许我必须在插入新行之前从db中选择一个表并检查