小编rai*_*man的帖子

在Android中的Firebase Google身份验证中,首次检查用户是否首次通过身份验证

我在Android应用程序中使用Firebase身份验证,我使用Google帐户身份验证作为登录应用程序的选项.

如何知道用户是否首次登录该应用程序?

android firebase firebase-authentication

32
推荐指数
4
解决办法
2万
查看次数

如何修复:致命错误:openssl/opensslv.h:RedHat 7中没有这样的文件或目录

我有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)

有没有人有想法解决这个问题?

openssl redhat module linux-kernel

24
推荐指数
2
解决办法
6万
查看次数

如何使用Firebase身份验证首次检查用户是否正在登录

我正在使用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-authentication firebase-realtime-database

6
推荐指数
0
解决办法
927
查看次数

在 Android Firebase 数据库中写入新数据

我在 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 firebase firebase-realtime-database

5
推荐指数
1
解决办法
1万
查看次数

如何更改 DialogFragment 大小

我的 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)

android android-dialogfragment

5
推荐指数
1
解决办法
5419
查看次数

如何在java中创建对象名称?

当一个对象被创建时,我怎么能得到该对象的名称?

例如,让我们考虑一个类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

java objectname

2
推荐指数
1
解决办法
2852
查看次数

如何避免Firebase数据库中的重复数据

在我的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)

android firebase firebase-realtime-database

2
推荐指数
1
解决办法
2100
查看次数

无法使用旧版本的iReport打开jasper报告

我正在尝试打开一个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

1
推荐指数
1
解决办法
467
查看次数