我正在尝试将一个名为“应用作业”的新子项插入Firebase中的“用户”节点,如下所示:
然而,我希望这个孩子被添加后,点击屏幕上的一个按钮,称为“招聘申请”。通过查看其他类似问题,我尝试了以下代码,但没有效果。如果有人帮我,我会很感激的。还要注意的是,我需要将子项添加到当前登录的用户。
这是我目前的代码:
工作信息。JAVA
package com.example.oddsynew;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.squareup.picasso.Picasso;
public class JobInfo extends AppCompatActivity {
TextView jobName, jobCharge, jobLocation, jobDate, jobTime, jobDesc, jobTasks, addPref, recruiterName;
ImageView profPic;
String jobname, jobloc, jobcharge, profpic, startdate, enddate, starttime, endtime, jobdesc, jobtasks, addpref, recruitername, userID;
ImageButton menuIcon;
DrawerLayout drawer;
Button requestForHireBtn;
DatabaseReference myRef;
FirebaseAuth mAuth;
FirebaseUser u;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_job_info);
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
menuIcon = (ImageButton) findViewById(R.id.menuIcon);
requestForHireBtn = (Button) findViewById(R.id.requestForHireBtn);
menuIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawer.openDrawer(GravityCompat.START);
}
});
jobName = (TextView) findViewById(R.id.jobName_info);
jobCharge = (TextView) findViewById(R.id.jobCharge_info);
jobLocation = (TextView) findViewById(R.id.jobLocation_info);
profPic = (ImageView) findViewById(R.id.prof_pic_info);
jobDate = (TextView) findViewById(R.id.jobDate_info);
jobTime = (TextView) findViewById(R.id.jobTime_info);
jobDesc = (TextView) findViewById(R.id.jobDesc);
jobTasks = (TextView) findViewById(R.id.jobTasks);
addPref = (TextView) findViewById(R.id.additionalPref);
recruiterName = (TextView) findViewById(R.id.recruiterName_info);
jobname = getIntent().getStringExtra("jobName");
jobloc = getIntent().getStringExtra("jobLocation");
jobcharge = getIntent().getStringExtra("jobCharge");
profpic = getIntent().getStringExtra("profPic");
startdate = getIntent().getStringExtra("startDate");
enddate = getIntent().getStringExtra("endDate");
starttime = getIntent().getStringExtra("startTime");
endtime = getIntent().getStringExtra("endTime");
jobdesc = getIntent().getStringExtra("jobDesc");
jobtasks = getIntent().getStringExtra("jobTasks");
addpref = getIntent().getStringExtra("addPref");
recruitername = getIntent().getStringExtra("recruiterName");
jobName.setText(jobname);
jobCharge.setText(jobcharge);
jobLocation.setText(jobloc);
jobDate.setText(startdate + " - " + enddate);
jobTime.setText(starttime + " - " + endtime);
jobDesc.setText(jobdesc);
jobTasks.setText(jobtasks);
addPref.setText(addpref);
recruiterName.setText(recruitername);
Picasso.get().load(profpic).into(profPic);
requestForHireBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
u = mAuth.getCurrentUser();
userID = u.getUid();
myRef = FirebaseDatabase.getInstance().getReference().child("Users").child("userID").child("Applied Jobs");
myRef.child("job_name").setValue(jobname);
}
});
}
}
我设法找到了解决办法。我所要做的就是添加“mAuth=FirebaseAuth.getInstance();”它成功了:
requestForHireBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mAuth = FirebaseAuth.getInstance(); //added this
u = mAuth.getCurrentUser();
userID = u.getUid();
myRef = FirebaseDatabase.getInstance().getReference().child("Users").child(userID).child("Applied Jobs");
myRef.child("job_name").setValue(jobname);
}
});
myRef = FirebaseDatabase.getInstance().getReference("oddsy-b8336").child("Users").child(userID).child("Applied Jobs");
myRef.child("job_name").setValue(jobname);
改变这个:
myRef = FirebaseDatabase.getInstance().getReference().child("Users").child("userID").child("Applied Jobs");
myRef.child("job_name").setValue(jobname);
为此:
userID = u.getUid();
myRef = FirebaseDatabase.getInstance().getReference().child("Users").child(userID).child("Applied Jobs");
myRef.child("job_name").setValue(jobname);
删除userID
周围的引号,您必须传递值。不是用户ID的字符串格式
当我使用将新节点插入到二叉树中时,它只在子节点的位置插入新节点,即使根节点已经有左、右子节点。它不是访问子节点来创建更深层次的二叉树。 抱歉英语不好。
问题内容: 我正在一个项目中,用户对我们的代客服务的请求在另一端代客接受请求。 我正在使用Firebase作为后端,并应要求将客户uid保存在“ request”子项上。 当代客接受请求时,客户uid应从“请求”节点移至“进行中”节点。 我怎样才能做到这一点? 问题答案: 我建议使用这个: 这来自以下来源:https : //gist.github.com/katowulf/6099042。我在J
我有一个非常简单的节点结构,用于实现迭代深化DFS。然而,我后来在将子节点链接到父节点时遇到了麻烦。 后来在我的代码中,当我试图做这样的事情时,我会遇到严重的错误: 我只想将这个子节点(称为Down_节点)链接到它的父节点(称为Next)。但如果Next本身不是一个节点,我该怎么做呢? 正是指向下一步的指针带来了麻烦。我试过了 编辑:当我尝试使用 在/usr/lib/gcc/x86_64-redh
我的Firebase数据库映像在Firebase的实时数据库中,我正在尝试访问父节点的名称,并给出了子节点的名称。但是,.parent似乎需要对子节点的引用,如果没有父节点的名称,我似乎无法获得子节点的引用。 这是我的数据的代码: 问题出在like函数中:如果我能找到一种方法来获取发tweet(参数t表示的tweet)的人的userId,那么第一个var y和所有这些都是不必要的。 如果我可以得到
我想用XSLT转换XML文档。按名称和属性匹配的节点及其子节点应嵌套/移动到新节点中。 从转变 到 但是我的XSLT工作不好。您有什么提示吗,XSLT文件有什么问题? 非常感谢你 安德烈亚斯 我的XSLT 输出: 我的源XML文件 我希望在转换后的输出中将v:data节点及其子节点嵌套到一个新节点中。但只有属性名为“Custon”的v:data节点。转换后的XML文档应该如下所示 如果我从XSLT
问题内容: 我创建了一个新的JsonNode 与此节点一起,然后如何在其中添加键值对,以便可以使用新值构造此新节点?我在http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html中阅读的内容涉及使用 但是,查看Jackson的JsonNode(v1.8)的API并没有显示任何此类方法。 问题答案: 这些方法在:除法中,大多数读取