Menu
Who Do Is
  • Home
  • What
  • How
  • Is
  • Can
  • Are
  • Does
  • Do
  • Why
  • Who
  • Where
  • Which
  • Which
  • Should
  • Will
  • When
  • What’s
  • Did
Who Do Is

[ANSWERED] java – What is the advantage of creating an instance of an Interface Class instead of just adding that Interface to the main class for Callbacks?

Posted on November 14, 2022

Solution 1 :

The only advantage for the first approach is If you need two or more interfaces for separate things in your class. In every other case, I would use the second approach since it makes the code looks cleaner.

Problem :

I am working on an Android app and I came across the following code for a set of Callbacks from C++.
I am wondering why, using an instance of the interface class JNIListener instead of implementing the interface and adding the Callbacks directly, makes sense.

public interface JNIListener {
    void onProcessingStarted();
    void onResultAvailable();
} 


public class MainFragment extends Fragment {

......

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {

        .....  

        mListener = new JNIListener() {
            @Override
            public void onProcessingStarted() {
                NavDirections action = MainFragmentDirections.actionMainFragmentToResultFragment();
                NavHostFragment.findNavController(ThisFragment).navigate(action);
            }

            @Override
            public void onResultAvailable(){
                ....
            }
        }
        subscribeListener(mListener);
    }
}

instead of :

public class MainFragment extends Fragment implements JNIListener{

......

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {

        .....  

        subscribeListener(this);
    }

    @Override
    public void onProcessingStarted() {
        NavDirections action = MainFragmentDirections.actionMainFragmentToResultFragment();
        NavHostFragment.findNavController(thisFragment).navigate(action);
    }

    @Override
    public void onResultAvailable(){
        ....
    }
}

I don’t get the advantages of the first approach.
The second makes more sense to me: The callbacks have complete access to the members of the MainFragment.

The first approach should have its pro, otherwise why would someone have done it that way.

The person who wrote that code is for sure more experienced than I am. If I am doing something weird by preferring the second approach, it would be nice to understand why it is weird, learn something and avoid the issue next time.

READ  [ANSWERED] java - Null pointer exception while building and running bottomnavigation activity
Powered by Inline Related Posts

Recent Posts

  • How can I play with my cat without toys?
  • What is a bag pipe band called?
  • Are Honda Civics actually fast?
  • Are Yankee candles toxic?
  • How do I pair my Michael Kors smartwatch with my Android?

Recent Comments

No comments to show.

Archives

  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022

Categories

  • ¿Cómo
  • ¿Cuál
  • ¿Cuántas
  • ¿Cuánto
  • ¿Que
  • ¿Quién
  • 90” and 108” so you may have to round up to the nearest size.
  • and delete any Spotify folders from it. Once this is done
  • Android
  • Are
  • At
  • Bei
  • blink
  • C'est
  • Can
  • carbs
  • Comment
  • Did
  • Do
  • Does
  • During
  • For
  • Has
  • How
  • In
  • Is
  • Ist
  • Kann
  • Können
  • nouveau
  • On
  • or 108 inches.2020-08-03
  • Où
  • owning
  • Pourquoi
  • Puis-je
  • Quand
  • Quante
  • Quel
  • Quelle
  • Quelles
  • Quels
  • Qui
  • Should
  • Sind
  • Sollte
  • spiritual
  • tap the downward-facing arrow on the top left. A downward-facing arrow will appear underneath each song in the album; they'll turn green as the download completes.2020-07-28
  • Uncategorized
  • Wann
  • Warum
  • Was
  • Welche
  • Welcher
  • Welches
  • Welke
  • Wer
  • Were
  • What
  • What's
  • When
  • Where
  • Which
  • Who
  • Whose
  • Why
  • Wie
  • Will
  • Wo
  • Woher
  • you will receive two curtains each with the same measurements of width 66"" (168cm) x drop 54""(137cm).
  • you'll see a green downward-facing arrow next to each song.2021-02-26
©2023 Who Do Is | Powered by SuperbThemes & WordPress