我在Android应用程序中使用Firebase身份验证,我使用Google帐户身份验证作为登录应用程序的选项.
如何知道用户是否首次登录该应用程序?
我有RedHat Enterprise Linux Server 7,我下载了linux内核版本4.12.10,我正在尝试编译但是当我执行以下命令时:
make modules
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有没有人有想法解决这个问题?
我正在使用Firebase数据库和Firebase身份验证,允许用户使用电子邮件/密码或Google登录进行登录.在登录活动中,我正在尝试检查用户是否登录Google,是第一次执行此操作还是不执行此操作.
如果这是他第一次签名,则会出现一个对话框并请求用户的年龄和性别; 如果不是,则不应出现对话框.
我遇到的问题是,如果用户使用Google登录,则始终会显示对话框,无论是否是第一次.
这是我的代码,我试图检查用户是否第一次登录:
protected void updateActivity(FirebaseUser user) {
Log.d(TAG ,"updateActivity(FirebaseUser) - Ini");
final boolean[] exist = {false};
if(user != null) {
ArrayList<String> providers = (ArrayList<String>) user.getProviders();
if(!providers.isEmpty() && providers.get(0).equals("google.com")) {
username = user.getEmail().substring(0,user.getEmail().indexOf('@'));
String userId = user.getUid();
Query query = mRef.orderByChild("userName").equalTo(username);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot userSnapShot : dataSnapshot.getChildren()){
if (!userSnapShot.getKey().equals(null) && !userSnapShot.getKey().isEmpty()) {
exist[0] = true;
Intent i = new Intent(LoginActivity.this, HomeActivity.class);
startActivity(i);
finish();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) …Run Code Online (Sandbox Code Playgroud) 我在 Android 应用程序中使用 Firebase 数据库,每次注册用户时,我都会为此在数据库中存储一些值,我正在执行以下操作:
database = FirebaseDatabase.getInstance();
DatabaseReference mRef = database.getReference().child("Users").push();
FirebaseUser user = mAuth.getCurrentUser();
String userId = user.getUid();
mRef.child("User").child("age").setValue(selectedAge);
mRef.child("User").child("gender").setValue(finalGender);
mRef.child("User").child("userId").setValue(userId);
mRef.child("User").child("username").setValue(username);
Run Code Online (Sandbox Code Playgroud)
但是当我转到我的 firebase 控制台时,我看到自动生成了一种我不需要的 ID,因为正如您在图像中看到的那样,我设置了自己的 ID。
有没有办法避免这种情况,并创建像图像中第二个用户节点这样的节点?
注意:我手动添加的第二个用户节点
我的 Android 应用程序中有一个dialogFragment,其中包含一些视图,如下图所示:
我试图改变它的大小但没有成功,在 Java 类中我试图这样做:
getDialog().getWindow().setLayout(800,800);
getDialog().setTitle("Please tell us");正如你在下面的代码中看到的:
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d(TAG, "onCreateView(LayoutInflaterm ViewGroup, Bundle) - Ini ");
View view = inflater.inflate(R.layout.dialog_box_layout, container, false);
ageSpinner = (Spinner) view.findViewById(R.id.age_spinner_dialog);
ageSpinner.setSelected(false);
ageSpinner.setAdapter(populateAgeSpinner());
ageSpinner.setOnItemSelectedListener(this);
radioDialogMale = (RadioButton) view.findViewById(R.id.radioDialogM);
radioDialogMale.setSelected(false);
radioDialogMale.setOnClickListener(this);
radioDialogFemale = (RadioButton) view.findViewById(R.id.radioDialogF);
radioDialogFemale.setSelected(false);
radioDialogFemale.setOnClickListener(this);
okButton = (Button) view.findViewById(R.id.dialog_ok);
okButton.setOnClickListener(this);
getDialog().getWindow().setLayout(800,800);
getDialog().setTitle("Please tell us");
communicator = (LoginActivity) getActivity();
setCancelable(false);
Log.d(TAG, "onCreateView(LayoutInflaterm ViewGroup, Bundle) - Fi ");
return view;
}
Run Code Online (Sandbox Code Playgroud)
但没有任何改变。
这是布局文件:
<?xml …Run Code Online (Sandbox Code Playgroud) 当一个对象被创建时,我怎么能得到该对象的名称?
例如,让我们考虑一个类Book:
public class Book {
private String name;
private int pages;
public Book(String name, int pages) {
this.name = name;
this.pages = pages;
}
}
// now i create an object of this class
Book book = new Book("Java",100);
Run Code Online (Sandbox Code Playgroud)
我想获得创建的对象的名称是"book",有什么方法可以得到它吗?我尝试了toString(),函数,它不起作用,它打印这样的东西:@ 3d4eac69
在我的Android应用程序中,我以这种方式在firebase数据库中插入一个VideoEntity对象:
@Override
protected void onCreate(Bundle savedInstanceState){
Log.d(TAG, " onCreate(Bundle) - Ini ");
super.onCreate(savedInstanceState);
database = FirebaseDatabase.getInstance();
String videoId = "";
for(VideoEntity video: videosList) {
videoId = video.getId();
DatabaseReference mRef = database.getReference().child("Videos").push();
mRef.setValue(video);
}
Run Code Online (Sandbox Code Playgroud)
这个VideoEntity类:
package com.app.entities;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
public class VideoEntity implements Parcelable{
private String id;
private String title;
private String description;
private String thumbnailURL;
private String category;
public VideoEntity() {
}
public VideoEntity(Parcel in) {
id = in.readString();
title = in.readString();
description = in.readString();
thumbnailURL …Run Code Online (Sandbox Code Playgroud) 我正在尝试打开一个Jasper报告,我使用JasperSoft studio版本6.1.0,我需要用iReport 3.7.6打开它,但是我收到一个错误:
Error loading the report template
Message:
net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'property'. One of '{"http://jasperreports.sourceforge.net/jasperreports":printWhenExpression, "http://jasperreports.sourceforge.net/jasperreports":break, "http://jasperreports.sourceforge.net/jasperreports":line, "http://jasperreports.sourceforge.net/jasperreports":rectangle, "http://jasperreports.sourceforge.net/jasperreports":ellipse, "http://jasperreports.sourceforge.net/jasperreports":image, "http://jasperreports.sourceforge.net/jasperreports":staticText, "http://jasperreports.sourceforge.net/jasperreports":textField, "http://jasperreports.sourceforge.net/jasperreports":subreport, "http://jasperreports.sourceforge.net/jasperreports":pieChart, "http://jasperreports.sourceforge.net/jasperreports":pie3DChart, "http://jasperreports.sourceforge.net/jasperreports":barChart, "http://jasperreports.sourceforge.net/jasperreports":bar3DChart, "http://jasperreports.sourceforge.net/jasperreports":xyBarChart, "http://jasperreports.sourceforge.net/jasperreports":stackedBarChart, "http://jasperreports.sourceforge.net/jasperreports":stackedBar3DChart, "http://jasperreports.sourceforge.net/jasperreports":lineChart, "http://jasperreports.sourceforge.net/jasperreports":xyLineChart, "http://jasperreports.sourceforge.net/jasperreports":areaChart, "http://jasperreports.sourceforge.net/jasperreports":xyAreaChart, "http://jasperreports.sourceforge.net/jasperreports":scatterChart, "http://jasperreports.sourceforge.net/jasperreports":bubbleChart, "http://jasperreports.sourceforge.net/jasperreports":timeSeriesChart, "http://jasperreports.sourceforge.net/jasperreports":highLowChart, "http://jasperreports.sourceforge.net/jasperreports":candlestickChart, "http://jasperreports.sourceforge.net/jasperreports":meterChart, "http://jasperreports.sourceforge.net/jasperreports":thermometerChart, "http://jasperreports.sourceforge.net/jasperreports":multiAxisChart, "http://jasperreports.sourceforge.net/jasperreports":stackedAreaChart, "http://jasperreports.sourceforge.net/jasperreports":ganttChart, "http://jasperreports.sourceforge.net/jasperreports":elementGroup, "http://jasperreports.sourceforge.net/jasperreports":crosstab, "http://jasperreports.sourceforge.net/jasperreports":frame, "http://jasperreports.sourceforge.net/jasperreports":componentElement, "http://jasperreports.sourceforge.net/jasperreports":genericElement}' is expected.
Level:
SEVERE
Stack Trace:
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'property'. One of '{"http://jasperreports.sourceforge.net/jasperreports":printWhenExpression, "http://jasperreports.sourceforge.net/jasperreports":break, "http://jasperreports.sourceforge.net/jasperreports":line, "http://jasperreports.sourceforge.net/jasperreports":rectangle, "http://jasperreports.sourceforge.net/jasperreports":ellipse, …Run Code Online (Sandbox Code Playgroud) jasper-reports backwards-compatibility ireport jaspersoft-studio
android ×5
firebase ×3
ireport ×1
java ×1
linux-kernel ×1
module ×1
objectname ×1
openssl ×1
redhat ×1