I'm currently taking in my hands an Android App to make a new version of it. The App has been made without Activities nor Fragments. You know, an App developed by someone passionated by abstraction... In there, the concept of MortarScope is used everywhere but really cannot figure out how it works and what is the purpose of that, as well as Mortar. I know there is the documentation here but a clear explanation would be much appreciated.
1
There are 1 answers
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in MORTAR
- Android - How works MortarScope?
- Dagger Android View Injection Error
- How do I prevent Mortar scopes from persisting across screens?
- Sub containers in Flow
- What is the prefered way to save/restore screen state with Flow + Mortar + Dagger2?
- Mortar and Flow libraries vs. ViewPager
- Getting Started w/ Flow and Mortar
- How do I pass reference to Activity for ActionBarDrawerToggle?
- Mortar / Flow save view and presenter in backstack
- Dagger2 in Eclipse not generating classes
- Mortar: How-to use Presenter for List Item/Adapter
- Can Flow and Mortar load a screen in the background if it is slow to load (e.g. GoogleMap)?
- Mortar / Flow samples NoClassDefFoundError: com.example.mortar.MortarDemoApplication$1
- Using Flow & Mortar with ViewPager
- What is scope of class annotated with @Singleton in Mortar
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
MortarScopeis aMap<String, Object>that can have a parent that it inherits from.The tricky thing is that a
MortarScopecan be placed into aMortarContextWrapper, usingmortarScope.createContext(context), which will allow you to obtain services from the MortarScope usinggetSystemService(apparently only on local-level).This works because
ContextWrappers create a hierarchy, andgetSystemService()also does a hierarchical look-up.This can make a View's context wrapper store a
MortarScopeif it is created like thisThis means that when you do something like this:
and
Then you can force the
getSystemService()to obtainMyServicefrom any level above you through a hierarchical look-up across the contexts (view, activity, application).The parent retains the child unless explicitly destroyed, so the
Activityscope is kept alive by theApplicationscope, and theViewscope is kept alive by theActivityscope, therefore configuration change does not destroy services stored inside a MortarScope.