Tumgik
#eventbus
ultra-sofia-fan · 2 years
Text
Why is Eventbus in SAP UI5?
EventBus in UI5 is a tool with which we can leverage publish-subscribe pattern in our app.
It is recommended to use the EventBus only when there is no other option to communicate between different instances, e.g. native UI5 events.
Sharing this video on SAP UI5 for your better understand:-
youtube
So if you want to learn what the SAPUI5 EventBus is and how to use it, then you’re in the right place.
Follow this videos of Anubhav Oberoy YouTube channel.
Anubhav’s online training on SAP is best in industry, his passion is teaching ui5 & Fiori is reflected in every class he takes.
For more details contact: 91-8448454549.
0 notes
ankaapmo · 6 years
Text
How to Work With Multiple Verticles and Communication in Vert.x - #Ankaa
How to Work With Multiple Verticles and Communication in Vert.x As mentioned in the previous article, Vert.x is an event-driven, non-blocking toolkit. It was designed for asynchronous communications. In most cases, you need to work with multiple verticles in your applications. You also need communication between these verticles in these cases. In this... https://ankaa-pmo.com/how-to-work-with-multiple-verticles-and-communication-in-vert-x/ #Eventbus #Java #Messaging #Tutorial #VertX #Verticle
1 note · View note
flurrymobile · 5 years
Text
Re-Architecting the Flurry Mobile App for Android - Part 1
January 9, 2020 | Ali Mehrpour, Principal Android Engineer
Flurry’s engineers work with multiple, large scale custom systems. In an effort to further give back to the engineering and app development communities, we will periodically publish posts that cover more technical issues. Ali Mehrpour, one of our lead Android SDK developers, wanted to share some of his findings in rebuilding Flurry’s mobile app using the latest developments in Android technology.
Flurry Analytics has been at the forefront of the mobile app industry since launching the world’s first analytics platform for iOS and Android apps in 2008. Since then, we’ve supported app developers worldwide in growing their businesses by improving acquisition efforts and boosting engagement and retention strategies.
Flurry’s Mobile App
Flurry’s mobile app (Android and iOS) streamlines analytics on the go, wherever you are. The app lets you monitor your app’s key events, real-time metrics, and activity as well as get a push notification if your app's metrics spike or dip beyond a custom threshold or detects an issue (exception, crash, error).
The first version of the app was published in 2015 and received positive attention, but slowly the number of users began to decline as they started complaining about the app’s performance. In addition, the Product Managers became unhappy too since they couldn’t change how the app behaves on the fly without releasing a new version. For example, adding or removing a metric, dashboard, or dimension, changing the default dashboard, or selecting an app or app group, all required releasing a new version. Besides, as it happens to all software in the world, the Flurry app was getting older. Catching up with the latest Android features was becoming increasingly more difficult. So the team decided to redesign the app from scratch around a year ago. 
How did we realize the old app was not performing well? Well, Flurry! Yes, we’ve used Flurry SDKs to understand the users’ behavior, track crashes and exceptions, and more, all in Flurry’s mobile app.
In this article, I’m going to talk about the architecture and design issues in the old app. In Part 2, I’ll cover the lessons we learned and applied to design a better app with new technologies in Android.
These are the issues in the old app which convinced us to redesign the app from scratch:
Usability/Navigation
Crashes/Bugs
Poor Performance
Limited Functionality
Old App Design Issues
MVP/MVC Architecture
The old app was written in Java with the original intent to follow the Model-View-Presenter (MVP) design pattern. For more information on the MVP pattern, we found several helpful resources online, including Android MVP for Beginners, tips to organize the presentation layer, architectural guidelines to follow, and this simple demo project. There are, however, several implementation pitfalls that can easily violate the design pattern rules to be aware of. Let’s discuss.
After looking at the old app implementation in-depth, it’s obvious it doesn’t follow MVP.  Actually, it’s a mix of Model-View-Controller (MVC) and MVP. Why?
In the MVP pattern, Presenter and View layers should talk via an interface (contract), but in this implementation, the Presenter directly accesses the view e.g. loading a fragment or showing a dialog
In the MVP pattern, the business logic should be in the Model layer but in this implementation, all business logic is put into the Presenter layer
In a couple of cases, the Presenter bypasses the Model layer and makes the network call directly
Bloated and brittle Presenter classes
Testability. Since the implementation is a mix of MVP and MVC, the presenter is tightly coupled with the Android APIs that is difficult to unit test
Tumblr media
Besides all of the above issues in implementing MVP pattern, MVP and MVC have some downsides which make it hard to use in a big project:
Maintenance. Presenters, like Controllers, are prone to collect additional business logic, sprinkled in, over time. At some point, developers find themselves with large unwieldy presenters that are difficult to break apart
Usually, MVP requires a huge amount of interface interaction
“Cold Start” Time
A cold start occurs when a user launches the app and doesn’t have a previous session running in the background. It significantly affects user experience.
The old app has these issues which affect cold start time significantly:
Many SDKs initialize during Application creation while it’s not necessary
Many singleton classes initialize during Application creation
Almost every class has declared a public static constant TAG that gets the class name by calling class.getSimpleName(). These constants add overhead to the app’s initialization
When you open the old app, it shows the main screen in an empty state with a progress bar. The screen is not usable until the user data is fetched, which is absolutely a bad user experience
EventBus
EventBus is a central shared object and you can use it to post events on it and use Publisher/Subscriber pattern for loose coupling. Every class can listen for a specific type of event that is posted on this event bus.
Using EventBus for a small app might be a good choice but as the app becomes bigger, it’s not going to work. Why?
A hell of a lot of events. The old app had about 30 events such as DatePickerCanceledEvent, ShowOverviewGraphEvent, etc.
Freedom to write bad code. It allows you to write shitty code. Why should you pass data through bundles when you can post an event? Why do you need callbacks and interfaces and things like “setTargetFragment()” when the event does this with several lines of code?
Can’t write Unit Test. There’s now Unit Test for event bus and actually, it’s very hard to mock the event bus. You could do the integration test but it takes time to write them and also, it’s hard to detect if a problem occurs, and in which code layer exactly it happened
Difficult to Onboard new dev. Imagine you join a project which has 50 events (UI events, API events) and you’ve been asked to fix a bug. You need to find where these events are posted and where they are received and it can take days to figure it out
User Experience / User Interface
The old app had some UX/UI which we tried our best to address in the new design. Some of the issues were:
Hard to navigate/use:
Switching between companies and apps was not easy since it required 3 clicks
Dashboard wasn’t supported at all and you only can see a bunch of metrics
Only one metric can be seen at any time, so there’s no option for comparing metrics
Different navigation pattern with Flurry web app. A couple of years ago, we redesigned the Flurry web app, but did not simultaneously redesign the mobile app, meaning users of both platforms were encountering inconsistent experiences. 
Hard to extend the functionality. The old app mainly was designed to support Analytics and couldn’t support dashboards for other Flurry products such as Marketing, Crash, and Remote Config.
Lack of functionalities
No chart detail screen
No chart type option
No filter support
No dark mode support
Tumblr media
Sample UI from Old Version of Flurry’s Mobile App
Now that we’ve illustrated some of the issues we encountered, in Part 2, we’ll discuss moving to the new architecture and some of the things we learned along the way. Look for Part 2 tomorrow.
2 notes · View notes
thebigfoodguide · 6 years
Photo
Tumblr media
Book our Ultra for your big group touring around Perth with The Transporter Perth. Tag your friends. @thetransporterperth #thetransporterperth #perthfun #perthtodo #perthtrip #perthlife #perthisok #perthlocal #perthpop #igers #igdaily #instabus #instatour #instatrip #instaphoto #perthtours #bustour #busparty #event #eventbus #coastaltour #pubtour #winetour #birthdaytour #photooftheday
0 notes
android-arsenal · 5 years
Text
EventBus IntelliJ Plugin
IntelliJ iDEA plugin to work with projects (Java and Kotlin) using greenrobot's EventBus library.
Tumblr media
from The Android Arsenal https://ift.tt/2L10vZu
3 notes · View notes
hibiscus02 · 5 years
Text
ignore this too
[18:38:01] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [18:38:01] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [18:38:01] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker [18:38:01] [main/INFO] [FML]: Forge Mod Loader version 14.23.5.2768 for Minecraft 1.12.2 loading [18:38:01] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_51, running on Windows 8.1:amd64:6.3, installed at C:\Program Files (x86)\Minecraft Launcher\runtime\jre-x64 [18:38:01] [main/INFO] [FML]: Searching C:\Users\Geraldo\AppData\Roaming\.minecraft\mods for mods [18:38:01] [main/WARN] [FML]: Found FMLCorePluginContainsFMLMod marker in EluLib-1.12.2.jar. This is not recommended, @Mods should be in a separate jar from the coremod. [18:38:02] [main/WARN] [FML]: The coremod FMLPlugin (elucent.elulib.asm.FMLPlugin) is not signed! [18:38:02] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [18:38:02] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [18:38:02] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [18:38:02] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [18:38:02] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [18:38:05] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557 [18:38:06] [main/INFO] [FML]: Found valid fingerprint for Minecraft. Certificate fingerprint cd99959656f753dc28d863b46769f7f8fbaefcfc [18:38:06] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [18:38:06] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [18:38:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [18:38:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker [18:38:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker [18:38:07] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [18:38:09] [main/INFO] [net.minecraft.client.Minecraft]: Setting user: Nebel02 [18:38:18] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: lastServer: [18:38:18] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.pickItem:key.mouse.middle [18:38:18] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.playerlist:key.keyboard.tab [18:38:18] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.advancements:key.keyboard.l [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.5:key.keyboard.5 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.6:key.keyboard.6 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.7:key.keyboard.7 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.8:key.keyboard.8 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.1:key.keyboard.1 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.2:key.keyboard.2 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.3:key.keyboard.3 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.4:key.keyboard.4 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.sprint:key.keyboard.left.control [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.forward:key.keyboard.w [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.drop:key.keyboard.q [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.back:key.keyboard.s [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.attack:key.mouse.left [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.use:key.mouse.right [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.saveToolbarActivator:key.keyboard.c [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.smoothCamera:key.keyboard.unknown [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.right:key.keyboard.d [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.jump:key.keyboard.space [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.sneak:key.keyboard.left.shift [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.spectatorOutlines:key.keyboard.unknown [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.left:key.keyboard.a [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.command:key.keyboard.slash [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.screenshot:key.keyboard.f2 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.hotbar.9:key.keyboard.9 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.togglePerspective:key.keyboard.f5 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.chat:key.keyboard.t [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.inventory:key.keyboard.e [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.fullscreen:key.keyboard.f11 [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.loadToolbarActivator:key.keyboard.x [18:38:19] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: key_key.swapHands:key.keyboard.f [18:38:19] [main/INFO] [net.minecraft.client.Minecraft]: LWJGL Version: 2.9.4 [18:38:20] [main/INFO] [FML]: Could not load splash.properties, will create a default one [18:38:20] [main/INFO] [FML]: -- System Details -- Details: Minecraft Version: 1.12.2 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.8.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 638326280 bytes (608 MB) / 805306368 bytes (768 MB) up to 2147483648 bytes (2048 MB) JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: Loaded coremods (and transformers): FMLPlugin (EluLib-1.12.2.jar)  elucent.elulib.asm.ASMTransformer GL info: ' Vendor: 'Intel' Version: '4.0.0 - Build 10.18.10.4276' Renderer: 'Intel(R) HD Graphics 4000' [18:38:20] [main/INFO] [FML]: MinecraftForge v14.23.5.2768 Initialized [18:38:20] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients. [18:38:20] [main/INFO] [FML]: Replaced 1036 ore ingredients [18:38:21] [main/INFO] [FML]: Searching C:\Users\Geraldo\AppData\Roaming\.minecraft\mods for mods [18:38:23] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 370730196 nanos [18:38:24] [main/INFO] [FML]: Forge Mod Loader has identified 12 mods to load [18:38:25] [main/FATAL] [FML]: net.minecraftforge.fml.common.MissingModsException: Mod mca (Minecraft Comes Alive) requires [radixcore@[1.12.x-2.2.1,)] [18:38:25] [main/ERROR] [FML]: An exception was thrown, the game will display an error screen and halt. net.minecraftforge.fml.common.MissingModsException: Mod mca (Minecraft Comes Alive) requires [radixcore@[1.12.x-2.2.1,)] at net.minecraftforge.fml.common.Loader.sortModList(Loader.java:264) ~[Loader.class:?] at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:570) ~[Loader.class:?] at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:232) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:466) [bib.class:?] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377) [bib.class:?] at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] [18:38:25] [main/WARN] [FML]: EventBus 0 shutting down - future events will not be posted. [18:38:25] [main/INFO] [net.minecraft.client.resources.SimpleReloadableResourceManager]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Torojima's Build Helper, FMLFileResourcePack:CraftStudio API, FMLFileResourcePack:DrZhark's CustomSpawner, FMLFileResourcePack:Doggy Talents, FMLFileResourcePack:EluLib, FMLFileResourcePack:iChunUtil, FMLFileResourcePack:Minecraft Comes Alive [18:38:25] [main/INFO] [STDOUT]: [elucent.elulib.asm.ASMTransformer:patchForgeHooksASM:74]: Successfully patched ForgeHooksClient! [18:38:25] [main/INFO] [STDOUT]: [elucent.elulib.asm.ASMTransformer:patchRenderItemASM:124]: Successfully loaded RenderItem ASM! [18:38:25] [main/WARN] [FML]: There were errors previously. Not beginning mod initialization phase [18:38:27] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Starting up SoundSystem... [18:38:27] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: Initializing LWJGL OpenAL [18:38:27] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org) [18:38:27] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: OpenAL initialized. [18:38:27] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Sound engine started [18:38:29] [main/INFO] [com.mojang.text2speech.NarratorWindows]: Narrator library for x64 successfully loaded [18:40:53] [main/INFO] [net.minecraft.client.Minecraft]: Stopping! [18:40:53] [main/INFO] [net.minecraft.client.audio.SoundManager]: SoundSystem shutting down... [18:40:53] [main/WARN] [net.minecraft.client.audio.SoundManager]: Author: Paul Lamb, www.paulscode.com
1 note · View note
jobhuntingsworld · 2 years
Text
Android Developer resume in Danbury, CT
#HR #jobopenings #jobs #career #hiring #Jobposting #LinkedIn #Jobvacancy #Jobalert #Openings #Jobsearch Send Your Resume: [email protected]
Professional Summary
* ***** ** ******* *** software/IT.
* **** ** **** *****.
* **** ******* ** ********/IT within a corporate setting.
Kotlin programming development experience.
Java programming skill.
Develop rich application UIs with strong UXs that follow Android design guidelines.
Hands-on with middleware and integration with different web services and message exchanges (e.g., SOAP, REST, XML, JSON) Experience with all the usual stuff (multi-threading, integration with REST APIs, view animations, custom transitions, multi-threading).
Ability to ask the right questions, provide feedback to stakeholders, break down tasks, and create a plan to achieve the intended result.
Architectures include MVVM, MVP, MVC.
Strong understanding of the Android framework, best practices, and design patterns.
Knowledge and experience using payment gateways/systems.
Apply OOP design patterns such as Façade, Abstract Factory, Builder, Singleton, Observer, Protocols, Delegation, etc.
Keep abreast of industry trends and technologies, being prepared to apply them quickly.
Experience with Android apps with networked data from content management systems.
Experience with Android Media Player API and ExoPlayer in streaming audio and video.
Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.
Experience using GIT/GitHub for Source Control.
Work with various integrated development environments (IDE)/frameworks, including Dagger2, Bluetooth, Android Studio, Eclipse, Android Annotations, Robotium test framework, Espresso test framework, Mockito, SpongyCastle cipher suites, Jenkins, JUnit unit testing, and Visual Studio App Center.
Experience working with tablets, phones, smart TVs and more recently Android Smart Watches.
Experience with messaging in Android apps.
Practical implementation of Android Life Cycle, Fragments, Intents, Threads on Android, binding services, Implicit and Explicit Intents, background processes, sync adapters, Activity, Activities for Result, WebView, ImageView, TextView, RecyclerView, ListView, etc.
Technical Skills
Android Tools – Push Notifications, Mixpanel, Services, Loaders, Ion, Urban Airship,ORMLite, ButterKnife, MediaPlayer, RxCache, Spork, Runtime, JUnit, ZXing, EventBus, RecyclerView Animator, Mockito, Espresso, CoordinatorLayout, Content Providers, Support Libraries, Robolectric, Retrofit, XmlPullParser, RoboGuice, Glide, Picasso, RxJava, Volley, Gradle, Logger, animations, VidEffects, Retrolambda, MonkeyRunner, Dagger, JobScheduler, GreenDAO, Otto, AndroidAnnotations, Protobuf, Answers, MPAndroidChart
Languages – Java, Kotlin
Authoring IDE – Android Studio, Eclipse
Content Integration – REST, SOAP, JSON, XML, GSON, Jackson, Moshi, Content Providers, Android Media Player API, ExoPlayer for Streaming Audio/Video
Architectures – MVC, MVP, MVVM
Dependency Injection – Hilt, Dagger
Databases – SQLite, SQL, Oracle, Firebase
Team Tools – JIRA, Jenkins, Git, SVN,
Old Android – Intents, Loopers, Loaders, NineOldAndroids, ListView, AsyncTask, Volley
Tuning – Leak Canary
Google – Google Analytics, Google Maps, Google API, Google Cloud Messaging
Professional Android Work Experience
08/2021
– Present
Android Software Application Developer
Union Savings Bank, Danbury, CT
https://play.google.com/store/apps/details?id=com.mfoundry.mb.android.mb_957&hl=en_CA&gl=US
Available to all Union Savings Bank consumer online banking customers. Union Savings Bank Mobile allows you to check balances, make transfers, pay bills, make deposits, and find locations.
Used Hilt for dependency Injection.
Used Postman to interact with client custom APIs.
Implemented recycler views with cardviews to display data in the most efficient way.
Interacted with the whole Jetpack library.
Programmed code in Kotlin language to perform Restful API calls for bank transfers, budgeting, and digital receipts user stories using Coroutines, Retrofit, and Data Binding in MVVM clean code architecture.
Implemented Jetpack Compose to create small reusable composables to describe UI by calling a series of functions that transformed data into a UI hierarchy and defined Data flow principles in Compose.
Refactored Android Support libraries to be compliant with Android 11 and JetPack, such as android.preference to androidx.preference.
Integrated multiple third-party libraries like: Glide, Retrofit, RxJava and Dagger 2.
Used Slack and Microsoft Teams for communication
Implemented Safety Net Attestation API and SafetyNet reCAPTCHA API to determine if it is rooted/tampered, and implemented strong DRM checks and protect app from spam.
Improved login feature of the app using OAuth library for token-based authentication and Biometric API.
Wrote instrumentation tests and UI tests using Espresso.
05/2020
– 08/2021
Android Application Developer
Coldwell Banker Real Estate, Madison, NJ
https://play.google.com/store/apps/details?id=com.myzap.cb&hl=en_CA&gl=US
With the Coldwell Banker® app, you’re not just choosing a home. You’re choosing a lifestyle. We know that’s a big decision. So we bring you the most up-to-date and accurate information on homes in your area, instant updates when new homes hit the market, and details about local neighborhoods – and we connect you with a real estate professional who’s prepared to help you find just what you’re looking for.
Used Jetpack navigation graph, pagination and Jetpack compose to develop view model, view and data domain layers for the tickets to complete full feature development.
Utilized a MVVM architecture using Android Jetpack Components.
Incorporated Facebook SDK and Twitter API for logging, posting and share experiences of the Android app and the service for marketing.
Implemented analytics using Firebase analytics framework to track user behavior in app.
Implemented Google Maps for location search with the Google Location APIs.
Integrated multimedia material and live streaming video, decoding, and playback
Profiled the app using instruments to see performance leaks, memory optimizations and battery use.
Wrote instrumentation tests and UI tests using Espresso.
Ensured code quality writing Unit Tests using JUnit, Mockito and PowerMock frameworks.
Created custom UI components for consistent UX across companies’ internal Android applications and for reusability making the development process faster and smoother.
Created custom libraries for internal network calls for security purposes.
Used recycler views & populated lists to display the lists from database using recycler view adapters as the most efficient method.
Used Bitbucket as the version control tool to commit and update the project from the server.
06/2018
– 05/2020
Android Developer
Prudential Financial – Newark, NJ
https://play.google.com/store/apps/details?id=com.prudential.android.RetirementParticipant&hl=en_CA&gl=US
Take control of your financial future – anywhere, any time with the Prudential app. Enroll in your 401(k) or 403(b) to easily manage your money, track your savings progress, access insights and tips designed to help you achieve financial wellness, and much more.
Generated build on MVVM architectural base.
Worked in Android Studio with Kotlin coding in the development of Android mobile app features and functions.
Added encrypted environment configuration with sessions and user login using SharedPreferences.
Utilized AndroidPlot API in different places to chart multiple data from server.
Implemented Kotlin coroutines to perform asynchronous operations as part of the Network Api layer.
Used Intents and Intent Filters to initiate activities and pass information between Activities and Fragments.
Debugged code to support multiple screen sizes and created multiple layout qualifiers.
Created custom views to reduce project overhead can increase reusability of code in multiple places.
Created push notifications message from Firebase console and debugged message received from Firebase console.
Implemented Kotlin scope functions to perform serialization process and increase readability in the code.
Used Git for version control for managing and integrating source code with other team members.
Modularized the existing customer payment authentication flow and integrated/implemented an additional external SDK which helped authenticate customer’s payment details.
04/2017
– 06/2018
Android Developer
Victoria’s Secret, Columbus, OH
https://play.google.com/store/apps/details?id=com.victoriassecret.vsaa
Welcome to the Victoria’s Secret app, your on-the-go destination for the world’s most famous bras, panties, lingerie, sportswear, swimsuits, beauty, accessories and more.
Implemented new features in Kotlin and converted some existing Java classes to Kotlin.
Implemented observable data patterns using JetPack LiveData to make server data observable.
Participated in code review and reviewed code carefully before approving.
Practiced pair programming as part of collaborative project development/delivery strategy.
Utilized Android SDK and supporting development devices.
Utilized Charles Proxy to understand and detect issues in payload or provide feedback to engineers and QA.
Applied a MVVM architectural base.
Added a new credit card with camera card scanner for quickest checkout, push notifications to alert as soon as sales start and remind when they’re ending.
Included Stripe Billing APIs to create and manage invoices and recurring payments and create fixed-price subscriptions with Elements.
Performed code migration from Java to Kotlin and implemented null safety checks, higher order functions, extension functions, coroutines support and KMM.
Worked with testing libraries and frameworks Junit, Espresso, and Mockito.
Created Repository pattern to abstract connections between local databases and On-Site endpoints.
Created abstract classes to define common behavior across the application and utilizing extension function from Ktx plugin to consolidate common operations like getCurrentTime and parseDate.
Used Coroutines and Schedulers for long running and background tasks.
Integrated with Google Maps.
Encrypted and decrypted the shared preference data with the AndroidX Security Library.
Utilized Room database for shared preferences for storage and caching.
04/2016
– 04/2017
Software Developer
Emerson Electric, St. Louis, MO
Analyzed and interpreted business requirements to define and develop technical requirements.
Programmed in Java and C++.
Wrote scripts using JavaScript.
Modified multiple scripts written in JavaScript.
Wrote new functions and modified existing functions.
Interfaced directly with customer technical personnel to support and service installed systems.
Contributed towards product/process improvements, both from a technical perspective and user experience/functional perspective.
Supported post-implementation issue resolution and deployment within the production environment.
Established communications interfacing between software programs and database backends.
Education
Kettering University (Bachelor’s in Computer Science)
Contact this candidate
Apply Now
0 notes
the-steve-me · 3 years
Text
Why is Eventbus in SAP UI5?
The SAPUI5 EventBus lets you share methods across controllers.
In SAPUI5, you can share methods application-wide with the EventBus. Imagine the SAPUI5 EventBus as a cookie jar. Except instead of cookies, you’re storing methods.
Put the methods inside the SAPUI5 EventBus and get them out when and where you like.
Tumblr media
For More details, you can check this website Anubhav Online Training. All the concepts are updated by Mr. Anubhav's.
Call on +91-84484 54549
0 notes
emodesti · 6 years
Photo
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
isola(to)
mostra di fotografia di Elisa Modesti 2 marzo - 30 aprile 2018 La Feltrinelli Point di Arezzo
Eventbu: https://it.eventbu.com/arezzo/isola-to-mostra-personale-di-elisa-modesti/10313184.html Exibart: http://www.exibart.com/profilo/eventiV2.asp?idelemento=174543 Centritalia News: https://www.centritalianews.it/arezzo-domani-2-marzo-elisa-modesti-presenta-progetto-fotografico-su-microsocieta-dellisola-maggiore-sul-lago-trasimeno/ StampToscana: http://www.stamptoscana.it/articolo/my-stamp/isolato-a-la-feltrinelli-point-di-arezzo-il-nuovo-progetto-fotografico-di-elisa-modesti Rivista Segno: http://www.rivistasegno.eu/events/isolato-il-nuovo-progetto-fotografico-di-elisa-modesti/ Arezzo Notizie: http://www.arezzonotizie.it/cultura-eventi-spettacolo/isolato-elisa-modesti-presenta-un-progetto-fotografico-sulla-microsocieta-dellisola-maggiore-sul-lago-trasimeno/ Arezzo Notizie: http://www.arezzonotizie.it/attualita/isola-maggiore-un-mondo-di-pescatori-e-artigiane/ Io Arte: http://www.ioarte.org/eventi/Mostre/isola-to-elisa-modesti-espone-a-la-feltrinelli-point-di-arezzo/
Le pubblicazioni:
CTRL Magazine: http://www.ctrlmagazine.it/isola-maggiore-lago-trasimeno-abitanti/
CLIC-HE' Webmagazine di fotografia e realtà visuale:
https://www.clic-he.it/isola-isolato/ https://issuu.com/clic.he/docs/_isola
2 notes · View notes
thebigfoodguide · 7 years
Photo
Tumblr media
Amazing night out. Start a Pub Crawl with @thetransporterperth #thetransporterperth #igers #igdaily #pubcrawls #pubnight #nightlife #northbridge #perthisok #perthlife #perthlifestyle #instaperth #instabus #perthpartybus #partybus #busparty #events #eventbus #photography #photooftheday #perthphotography #nightout
0 notes
android-arsenal · 5 years
Text
ActivityResultEventBus
A simple EventBus to handle activity result-like behaviors.
Tumblr media
from The Android Arsenal http://bit.ly/2Hmxy8v
1 note · View note
delimpposts · 4 years
Text
20 Most Helpful Android App Development Libraries list in 2021
Android libraries assist as a medium and offer essential codes that do pre-written supporting developers craft scalable mobile application development. Within here article, explore every top 20 useful Android App Development libraries to great.
* MyLittleCanvas * ExpansionPanel * ButterKnife * Kotlin-math * EventBus * Lottie * EasyPermissions * Objectbox * Dagger 2 * Retrofit * Picasso * Glide * Zxing * CAMView * Bubble Navigation * Espresso * Gravity View * Timber * Crashlytics * Robolectric
_____ Stay connected ♥ Follow @delimp​ for more____
Tumblr media Tumblr media Tumblr media Tumblr media
0 notes
wisekingnightmare · 4 years
Text
Download Rabbitmq For Mac
Tumblr media
Download RabbitMQ.app for Mac - Run a RabbitMQ server on your Mac with a single mouse click and access the Management UI from your menu bar, with this simple utility. Trusted Windows (PC) download RabbitMQ Server 3.7.3. Virus-free and 100% clean download. Get RabbitMQ Server alternative downloads. Trusted Windows (PC) download RabbitMQ.NET Client 3.4.4. Virus-free and 100% clean download. Get RabbitMQ.NET Client alternative downloads. Office for home. If you have an Office for home product and it came with a product key., before installing for the first time (or sharing it if you have Microsoft 365 Family), you need to redeem your product key first.
Mac Install Rabbitmq
Rabbitmq Server
Rabbitmq Download Windows
Rabbitmq Download And Installation
Rabbitmq Version Command
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
There is a newer version of this package available. See the version list below for details.
For projects that support PackageReference, copy this XML node into the project file to reference the package.
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Dependencies
.NETFramework 4.5.1
Microsoft.Diagnostics.Tracing.EventSource.Redist(>= 1.1.28)
.NETStandard 1.5
NETStandard.Library(>= 1.6.1)
System.Collections.Concurrent(>= 4.3.0)
System.Console(>= 4.3.0)
System.Diagnostics.Debug(>= 4.3.0)
System.Diagnostics.Tracing(>= 4.3.0)
System.IO(>= 4.3.0)
System.Linq(>= 4.3.0)
System.Net.NameResolution(>= 4.3.0)
System.Net.Security(>= 4.3.2)
System.Net.Sockets(>= 4.3.0)
System.Reflection.Extensions(>= 4.3.0)
System.Reflection.TypeExtensions(>= 4.3.0)
System.Runtime(>= 4.3.0)
System.Runtime.Extensions(>= 4.3.0)
System.Text.RegularExpressions(>= 4.3.0)
System.Threading(>= 4.3.0)
System.Threading.Thread(>= 4.3.0)
System.Threading.Timer(>= 4.3.0)
.NETStandard 2.0
No dependencies.
Used By
Tumblr media
NuGet packages (1.0K)
Mac Install Rabbitmq
Showing the top 5 NuGet packages that depend on RabbitMQ.Client:
Rabbitmq Server
PackageDownloads MassTransit.RabbitMQ
MassTransit RabbitMQ transport support; MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com
6.9M EasyNetQ 6.8M AspNetCore.HealthChecks.Rabbitmq
HealthChecks.RabbitMQ is the health check package for RabbitMQ.
2.0M NServiceBus.RabbitMQ 1.5M RawRabbit
A modern framework for communication over RabbitMq.
909.7K
Rabbitmq Download Windows
GitHub repositories (72)
Showing the top 5 popular GitHub repositories that depend on RabbitMQ.Client:
RepositoryStars dotnet-architecture/eShopOnContainers
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET Core 3.0, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.
15.7K abpframework/abp
Open Source Web Application Framework for ASP.NET Core
4.9K ServiceStack/ServiceStack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
4.8K dotnetcore/CAP
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
4.2K MassTransit/MassTransit 3.0K
Version History
Rabbitmq Download And Installation
VersionDownloadsLast updated 6.2.1 415,215 8/20/2020 6.1.0 1,015,932 6/5/2020 6.0.0 566,277 4/16/2020 5.2.0 617,978 4/16/2020 5.1.2 5,336,590 10/11/2019 4.1.3 1,593,535 3/28/2017 3.6.9 301,506 3/29/2017
Rabbitmq Version Command
Show less
Tumblr media
0 notes
jobhuntingsworld · 2 years
Text
Android Developer resume in Byron Center, MI
#HR #jobopenings #jobs #career #hiring #Jobposting #LinkedIn #Jobvacancy #Jobalert #Openings #Jobsearch Send Your Resume: [email protected]
OVERVIEW
Android development experience: * years.
* **** ********* ** **** Store.
Well versed in Test Driven Development, JUnit Test Cases, Performance Optimization and Integration Testing.
Maintain high unit test coverage and continuous integration principles.
Experience with continuous integration tools like Jenkins and Travis CI, and automated testing frameworks such as Espresso, Mockito, Robotium, etc.
Skilled with Kotlin and Java and Object-Oriented Programming, along with Google Material Design Guidelines, Android Best Practices, and Android UI/UX implementation.
Apply architectural patterns MVVM, MVC and MVP.
Hands-on with design patterns Singleton, Observer, Factory, Façade, Decorator, etc.
Apply Material Design guidelines and user experience guidelines and best practices to Android application development.
Understanding of Activities, Fragments, Custom Views, Services, Volley, Retrofit, Support library, and 3rd party libraries in Android.
Cultivate an environment of excellence, through code design, code reviews.
Work with other departments to achieve cross-functional goals to satisfy customer expectations. Mentor less experienced team members on technical matters.
Guide the Android integration into dozens of APIs successfully with highly performant/critical integrations.
Follow development/design standards and best practices in Android.
A sound understanding of HTTP and REST-style web services.
Follow TDD best practices using tools such as JUnit, Mockito, Espresso, Robotium, etc.
Up to date with new development patterns such as Dependency Injection (Dagger2), RxJava, and Coroutines.
Implement Material Design guidelines, Fragments, Layouts, Animations, Compound Views, Custom Views, ListView and RecyclerView in Android development.
Implement the latest Material Design guidelines, animations and UX optimization, Fragments, Layouts, Animations, Compound Views, Custom Views, ListView and RecyclerView.
Implement RESTful data consumption using Retrofit with an OkHttp client, GSON and Jackson converters and a custom interceptor.
Skilled in consumption of web services (REST, HTTP-based, XML, SOAP, JSON, etc.) in building mobile applications.
Well versed in Android third-party libraries such as Volley, Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android pay, QR Droid, Butterknife, Dagger, Google Wallet payments, Android Annotations.
TECHNICAL SKILLS
Android Dev: JetPack, Push Notifications, GSON, JSON, Espresso, Mockito, RxKotlin, RxJava, RxBluetooth, JUnit, Schematic, SmartTV, Certificate Pinning, MonkeyRunner, Bluetooth Low Energy, ExoPlayer, SyncAdapters, Volley, IcePick, Circle-CI, Samsung SDK, Glide, VidEffects, Ion, ORMLite, Kickflip, SpongyCastle, Parse, Flurry, Twitter, FloatingActionButton, Espresso, Dependency Injection, EventBus,, Dagger, Crashlytics, Mixpanel, Material Dialogs, Fresco, Moshi, Jenkins, UIautomator, Parceler, RxCache, Retrofit, Loaders, JobScheduler, ParallaxPager, XmlPullParser, Google Cloud Messaging, LeakCanary, Web Dev: jQuery, HTML, CSS, JavaScript, Google Web Toolkit
Programming Languages: Kotlin, Java
Databases: SQLite, MySQL, Room, Firebase DB
IDE: Eclipse, Android Studio
Development: TDD, JIRA, Continuous Integration, Confluence, Git, GitHub, SVN, SourceTree, BitBucket
Project Methodologies: Agile, Scrum
Threading: Loopers, Loaders, AsyncTask, Intent Service, RxJava
Multimedia: ExoPlayer, Videoplayer, Glide, Picasso, Fresco
PROFESSIONAL EXPERIENCE
Android App Developer / SpartanNash (Byron Center, MI)
April 2021 to Current
https://play.google.com/store/apps/details?id=com.spartannash.go&hl=en_CA&gl=US
The SpartanNash Go mobile app lets you to take SpartanNash news and information on the go with you, allowing you to easily stay informed in your day-to-day, connect and get the latest from our community. Use SpartanNash Go to own it when it comes to communications from leaders, information about upcoming events, ways to connect to systems and tools, resources, videos and more.
Programmed modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.
Worked closely with UI/UX designers and interacted with stakeholders, product managers and business units to gather requirements and ensure final product matched needs.
Migrated to Jetpack Compose by adding compose to an existing screen built using Android views and manage state in composable functions.
Helped to set up Jenkins for continuous integration.
Connected the app to Twitter, Instagram, and Facebook, by integrating their SDKs.
Designed/developed app using API/SDK and business embedded logic to achieve mobile app’s desired functionality.
Applied Data Binding for decoupled UI updating.
Applied Hilt dependency injection.
Corrected issues for security scans such as SSL, encryption, loopholes and profiled the application using the APK analyzer
Developed login, security, and test utilities feature module in Clean Code Architecture on Presentation and Data layer.
Implemented GraphQL and WebSocket APIs to provide a seamless user experience.
Created and ran unit and integration tests with Espresso and Mockito.
Used JIRA platform to track productivity and tasks provided to accomplish the project.
Android Application Developer / TDAmeriTrade (Omaha, NE)
June 2020 to April 2021
https://play.google.com/store/apps/details?id=com.tdameritrade.amerivest
See your TD Ameritrade Investment Management portfolio’s balances, investment performance, breakdown, and more. With simple charts and tables, it’s easy to take a closer look into your portfolio and find the information you need.
Participated in architecture migration from MVP to Kotlin-based MVVM architecture using Jetpack components like LiveData, ViewModel, Room, WorkManager, Paging and DataBinding.
Communicated effectively with the UI/UX team to agree on application design and UI flow.
Implemented dependency injection with Dagger 2 and Butter Knife.
Used Moshi to populate data classes with data from JSON responses.
Utilized LiveData to simplify data retention and updates during configurational changes.
Used GIT for code repository and maintaining current and historical versions of the Android app source code.
Appling sound mobile security practices such as Obfuscation.
Working in Pair Programming culture from Driver and Navigator across several iterations in the project strategy.
Worked with Broadcast Receivers to receive system notification which was later used to send out reminders.
Utilized SQLite and Shared Preferences for Data Persistence with Key Store for authentication.
Used Jira platform to track productivity and tasks provided to accomplish the project.
Utilized Confluence for documentation and assisted the project manager with documentation.
Implemented Picasso for downloads the image and show in UI.
Used navigation drawer to provide quick and easy access to the menu items.
Android Mobile Application Developer / Outback Steakhouse (Tampa. FL)
April 2019 to June 2020
https://play.google.com/store/apps/details?id=com.outback.tampa&hl=en_CA&gl=US
The Outback App is the fastest, mobile way to enjoy the bold flavors of Outback Steakhouse. Ordering your Outback favorites is simple with our easy-to-use ordering and ability to save your order for future steak cravings. Sign up for our Dine Rewards loyalty program, track your rewards and easily apply them to your mobile order. You can also find your nearest location.
Utilized RecyclerViews to display item lists.
Utilized two-way data binding to communicate between ViewModel and XML files.
Used Git as a version control for managing and integrating source code with other team members.
Migrated project to AndroidX to use the newest JetPack libraries.
Applied RxKotlin in conjunction with RxAndroid and RxBinding libraries to make app multithreaded and perform synchronous operations.
Upgraded Analytics SDK from Google Analytics with Tag manager to Firebase analytics.
Implemented push notifications features with Firebase’s Cloud Messaging Service.
Used databinding to reduce code in fragments and LiveData to handle lifecycle data to only update the UI when it’s available.
Utilized Dagger 2 and Hilt for dependency injection.
Used Roboelectric, Mockito, and Espresso for testing.
Implemented concurrency design pattern using Kotlin coroutines to simplify code that executed asynchronously.
Performed technical work using Android Studio with Kotlin codebase and MVVM architecture.
Migrated database from DBFlow to Room.
Android Mobile Software Developer / Kayak (Cambridge, MA)
June 2018 to April 2019
https://play.google.com/store/apps/details?id=com.kayak.android&hl=en_US
KAYAK searches hundreds of travel sites at once to find exactly what you need for your trip, from cheap flights to great hotel deals and car rentals. Nonstop flight leaving at 9am? Sure. Pet-friendly vacation rental near the slopes? Yup. SUV rental for under $50/day? We’re on it. Because we’re travelers too and know that every trip is worth planning.
Migrated the entire application with team from MVP to MVVM architecture to meet new application standards.
Used custom views to easily reuse components built to UI/UX design specifications.
Used Android Studio as IDE in Android application development.
Performed programming in Java Kotlin.
Programmed new functions in Kotlin and converted some existing Java functions to Kotlin.
Implemented services and broadcast receivers for performing network calls to the server.
Integrated Dagger for dependency injection.
Created multiple scripts in the Gradle file for test automation, reporting, signing and deployment.
Worked with testing libraries and frameworks JUnit, Espresso, Mockito, and Robolectric.
Worked with Jenkins CI server for continuous integration and followed Test-Driven Development (TDD) methods.
Utilized Room persistence library to save web service responses and to act as the single source of truth for the application data.
Designed CustomViews to implement UX designs and for the reusability of the views created.
Used social media authentication such as Facebook and Twitter APIs for incorporating features such as logging in, liking items, and sharing product announcements
Used a private Git repository for the Android code base working with BitBucket.
Analyzed and troubleshooted the application using tools like the Android Profiler, and DDMS.
Android Mobile Software Developer / Doctor On Demand (San Francisco, CA)
November 2016 to June 2018
https://play.google.com/store/apps/details?id=com.doctorondemand.android.patient
Total Virtual Care™ available when you are – anytime, anywhere. Connect face-to-face with board-certified providers and licensed therapists over live video on your smartphone or tablet.
Created several companion objects to facilitate log information along with several Singleton objects to reduce boilerplate code.
Created custom infinite recycler view for scrolling images and videos.
Designed Android UI/UX using Android widgets like list view, recycler view, buttons, text views, View Flipper etc.
Implemented RESTful API calls to retrieve and manage user’s rewards, coupons, deals, and gift cards; and apply to cart items.
Used LeakCanary to find and fix memory leaks, significantly reducing system crashes.
Used Retrofit and RxJava for RESTful web calls with GSON library to deserialize JSON information.
Implemented caching mechanism for the REST API response received from backend using OkHTTP network interceptor and Shared Preferences.
Integrated ExoPlayer API to view live videos for premium members with support for backgrounding, foregrounding, and playback resumption in multiwindow environment.
Programmed auto-renewal feature Java module for auto subscriptions.
Persisted wallet items in database using SQLite.
Rebranded user personal records to match feedback from users’ recommendations.
Utilized debug tools for removing and easily identify crash and bugs, tools like Memory Profiler, Leak Canary and Firebase Crashlytics.
EDUCATION
Bachelor’s (Computer Science)
Georgia State University
Contact this candidate
Apply Now
0 notes
androidwelt · 4 years
Photo
Tumblr media
Android Development Tutorial - Barber Booking App Teil 27 Client-App optimieren EventBus hinzufügen http://androidwelt.club/android-development-tutorial-barber-booking-app-teil-27-client-app-optimieren-eventbus-hinzufugen/?feed_id=12008&_unique_id=5f9406b3803fc
0 notes
usingjavascript · 4 years
Photo
Tumblr media
Manage your Modal window(s) effortlessly using EventBus ☞ http://bit.ly/2rfbDuD #vuejs #javascript
0 notes