我是使用Android Studio和FiRecovery DB的新手。我正在尝试将几行文本从fiRecovery加载到我的android应用程序中。我在调试时注意到Equalto字段名称的代码行没有读取所需的数据。我不知道我在获取数据时哪里出错了。任何帮助都将不胜感激。这是我的代码。
查看活动。班
public class ViewActivity extends AppCompatActivity implements View.OnClickListener {
private static String topic_name;
ImageButton next, previous;
TextView text_area;
private Information infodb;
public static List<String> mFragments;
private Query query;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewtext);
FetchDetails();
text_area= (TextView)findViewById(R.id.tf_text);
next = (ImageButton) findViewById(R.id.next);
next.setOnClickListener(this);
previous = (ImageButton) findViewById(R.id.previous);
previous.setOnClickListener(this);
}
public void FetchDetails(){
FirestoreUtil.getCollection("Information Text").whereEqualTo("topic_name",topic_name).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Information ip = document.toObject(Information.class);
mFragments=(ip.getFragments());
text_area.setText(ip.getFragments().get(0));
}
}
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.next:
text_area.setText(infodb.getFragments().get(1));
break;
case R.id.previous:
text_area.setText(infodb.getFragments().get(2));
break;
}
}
}
我nformation.class
public class Information {
public List<String> fragments;
private int topic_id;
private String topic_name;
private String game;
private String link;
private int level;
public Information() {
}
public Information(String topic_name, List<String> fragments,String game, String link, int level,int topic_id)
{
this.fragments = fragments;
this.topic_name= topic_name;
this.game=game;
this.topic_id=topic_id;
this.level = level;
this.link=link;
}
public Information(List<String> fragments) {
this.fragments=fragments;
}
public String getTopic_name() {return topic_name;}
public void setTopic_name(String topic_name) {
this.topic_name = topic_name;
}
public void setFragments(List<String> fragments) {
this.fragments = fragments;
}
public List<String> getFragments() {
return fragments;
}
public String getGame() { return game; }
public void setGame(String game) { this.game = game; }
public String getLink() { return link; }
public void setLink(String link) { this.link = link; }
public void setLevel(int level) {
this.level = level;
}
public int getLevel() {
return level;
}
public void setTopic_id(int topic_id) {this.topic_id=topic_id;}
public int getTopic_id() {
return topic_id;
}
}
这是我在firestore控制台上的数据截图
查看了您提供的代码后,我发现ViewActivity中的变量private static topic\u name
。类已声明,但未在任何位置初始化。因此,默认情况下,主题名称将为空值。这就是为什么您不能在whereEqualTo(“topic\u name”,topic\u name)方法之后获取文档的原因。
因此,请使用Firestore集合中存在的值初始化私有静态topic\u name变量。您可以按如下方式初始化它-
private static String topic_name = “Understanding PTSD”
您还使用了FirestoreUtil。getCollection()方法获取集合。但是,在Firestore文档中,使用Firestore数据库引用来获取集合。“db”Firestore数据库引用可以按此处所述进行初始化。
因此,我建议您在ViewActivity中初始化Firestore数据库引用。等级如下-
FirebaseFirestore db = FirebaseFirestore.getInstance();
然后使用此引用获取集合,如下所示-
db.collection("Information Text").whereEqualTo("topic_name",topic_name).get()
问题内容: 我有一个视图vwGetData,它从两个表t1,t2中获取数据并具有字段: 我将在下面提供输入 我想在C#/ SQL中获得以下输出 或者 我想使用C#和SQL做到这一点。 问题答案: 您要做的第一件事是确保没有数据被返回: 现在假设您知道如何设置一个DataReader,您将执行以下操作: 您也可以查看SQL Catalog SYS视图。
问题内容: 在我的代码中,我正在使用。 然后,我执行该方法以填充准备好的语句的通配符。 在调用该方法并执行查询之前,我是否有办法检索(并打印出)最终查询?我只想将此用于调试目的。 问题答案: 这在JDBC API合同中没有定义,但是如果幸运的话,有问题的JDBC驱动程序可以通过调用来返回完整的SQL 。即 以我的经验,至少这样做是PostgreSQL 8.x和MySQL 5.x JDBC驱动程序。
问题内容: 我对sql不好,所以任何帮助世界都很棒 我有一个SQL查询,该查询获取从1月到本月注册的记录 我的代码示例 查询将如何带回 2月= 2、3月= 3、4月= 4和5月= 5 我想让它带回Jan = 1(总数为0)和June = 6(总数为0)以及任何想法如何做到这一点? 谢谢你。 问题答案: 这是创建月/年组合并将其用作查询基础的循环:
问题内容: 我正在尝试连接到数据库,运行查询并打印出查询。到目前为止,我已经完成了工作,但是我需要获取输出并将其中的特定部分分配给 我正在使用log4jdbc监视我的查询。 此刻,我得到如下记录的输出: 我想分配给。我该怎么做呢? 问题答案: 通常,a 将为您提供查询(包括绑定参数)。但这取决于的实际实现(例如,使用PostgreSQL隐式实现)。 您提到为您带来回报。我对 log4jdbc 并不
问题内容: 我的代码有问题。 像这样的情况: 我有一个下拉列表,如果选择“个人”,则会出现新的下拉列表,其中包含从数据库查询中检索到的数据;如果选择“公开”,则该下拉列表将消失。 这样的HTML代码: 查询如下: 像这样的JavaScript代码: 我不知道如何将值/结果发送到javascript代码(选择选项中的值和名称)。 问题答案: 在javascript中,您必须对您的php文件进行操作:
问题内容: 通过在页面初始化时关闭连接,然后在Dropdownlist中重新打开来修复此问题。 我一直在寻找这个问题的答案,但是没有任何运气。 我想从选定的下拉列表项到文本框获取数据。我一直在尝试执行此sql查询,但没有成功。 这是我的代码: 问题答案: “ xecuteReader”返回复数/非标量值。使用`` ExecuteScalar ‘’方法代替: