jaykallen / searchapi Goto Github PK
View Code? Open in Web Editor NEWReplicates the Material design persistent search of sports db API. Utilizes navigation, viewmodel, retrofit, gson, livedata, etc.
Replicates the Material design persistent search of sports db API. Utilizes navigation, viewmodel, retrofit, gson, livedata, etc.
You're creating a circular dependency by referencing the HomeFragment
. Additionally, it will make your ViewModel much harder to unit test.
I suggest using a dependency injection singleton approach instead. Otherwise, include a well-reasoned comment about why Singleton makes sense.
Most seasoned developers would look at this as a code smell.
searchapi/app/src/main/res/layout/fragment_home.xml
Lines 9 to 29 in 67a6e77
CardView isn't meant to be used this way. That said, it's a clever way to solve the problem of making SearchView look more material, and I'd recommend leaving a comment as to why you did it.
Whether a company asks for it or not, I highly recommend adding unit tests to your code challenge.
It shows that you understand how to write well-written, and highly maintainable software.
searchapi/app/src/main/res/layout/fragment_home.xml
Lines 31 to 41 in 67a6e77
There are times when ConstraintLayout makes sense. It's usually as a replacement to RelativeLayout. In this layout, you could easily use LinearLayout instead and get a performance bump.
It's not the biggest deal in the world, but good to keep in mind.
When doing any code challenge, try to avoid leaving behind commented out code, or code that doesn't do anything.
As it is now, making the text the only scrollable area feels very weird. Good improvement over it not being scrollable though ๐ .
searchapi/app/src/main/res/layout/fragment_results.xml
Lines 8 to 29 in 67a6e77
If you want to wrap a TextView in an elevated layout, you could very easily wrap it with a FrameLayout that has a background and add elevation.
Instead, use something like
view?.let {
...
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.