【问题标题】:Firebase recyclerview shows no values in release mode but it works perfectly in debug modeFirebase recyclerview 在发布模式下没有显示任何值,但它在调试模式下完美运行
【发布时间】:2019-11-16 01:42:00
【问题描述】:

我无法在发布模式下显示 firebase recyclerview,但它会在调试模式下显示所有值。这个问题是在我达到 firebase 数据库限制后发生的。我现在已经将计划从火焰升级到火焰。但是,问题仍然没有解决。

Query query = FirebaseDatabase.getInstance()
            .getReference()
            .child("quizTimings");

    FirebaseRecyclerOptions<CarouselModel> options =
            new FirebaseRecyclerOptions.Builder<CarouselModel>()
                    .setQuery(query, CarouselModel.class)
                    .build();

    scrollView = (RecyclerView) findViewById(R.id.picker);

    adapter = new FirebaseRecyclerAdapter<CarouselModel, TimeViewHolder>(options) {

        @Override
        public TimeViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
            View view = LayoutInflater.from(viewGroup.getContext())
                    .inflate(R.layout.item_time, viewGroup, false);

            return new TimeViewHolder(view);
        }

        @Override
        protected void onBindViewHolder(TimeViewHolder timeViewHolder, int i, final CarouselModel carouselModel) {

            try {
                String quizTimings = carouselModel.getTime();
                String timeMoney = carouselModel.getTimeMoney();
                timeViewHolder.timeShow.setText(quizTimings);
                timeViewHolder.timeMoney.setText(timeMoney);
                Log.w("timeMoney",timeMoney);
                /*final Animation myAnim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.bounce);
                MyBounceInterpolator interpolator = new MyBounceInterpolator(0.2, 20);
                myAnim.setInterpolator(interpolator);
                startBtn.startAnimation(myAnim);*/
            } catch (Exception ex) {
                String err = (ex.getMessage()==null)?"SD Card failed":ex.getMessage();
                Log.e("sdcard-err2:",err);
            }
        }
    };
    //For setting time
    /*CarouselModel carouselModel = new CarouselModel("ewt","wtt","ete","wte");
    quizTiming.push().setValue(carouselModel);*/

    CustomLinearLayout linearLayoutManager = new CustomLinearLayout(this,LinearLayoutManager.HORIZONTAL,false);

    scrollView.addItemDecoration(new LinePagerIndicatorDecoration(MainActivity.this));
    scrollView.setLayoutManager(linearLayoutManager);
    scrollView.setAdapter(adapter);

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    确保您遵循指南中指定的所有步骤: https://developers.google.com/identity/sign-in/android/start-integrating

    。如果需要,创建一个新的 OAuth 客户端、新的配置文件(google-services.json)文件并逐步完成所有操作。

    还可以尝试添加一个提供相同凭据的 Web 客户端。对于 Android 和 Web 客户端,同时提供用于调试的 SHA1 和发布密钥库。在 Android Studio 中,您会在最左侧看到一个标签,上面写着“Build Variants”。在此处选择发布模式,然后执行所有操作。

    【讨论】:

    • 我曾尝试将构建变体更改为发布模式,然后调试应用程序以找出错误。但是,调试和发布变体完美地工作并显示 recyclerview。但是,当我生成一个签名的发布 apk 并将该 apk 安装到我的手机中时。然后,即使 recyclerview 中有数据,它也不会显示任何 firebase recyclerview 和应用程序崩溃并出现 nullpointer 异常。
    • 请确保您在 firebase 项目中同时提供用于调试的 SHA1 以及发布密钥库,然后生成 google-json 文件并将其添加到您的项目中,您是否按照这些步骤操作。跨度>
    猜你喜欢
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多