Yet Another Pokédex App, without spoilers
- Pokedex selection by region or game
- Hidden undiscovered Pokémons name/thumbnail
- Toggleable captured/discovered statuses
- Filter captured/discovered Pokémons only
- Search by names (any language)
- Quick search by ID (national or local)
- Basic information sheet (types, height, weight)
- Evolution tree (vertical or horizontal)
- Data language (for Pokémon names, locations, etc.) disctinct from app language
- Day/night (light/dark) modes
Major:
- Add Pokedex official description(s?) in details
- Add Pokémon cries (trigger on opening details?)
- Pokémon variants (Alola, mega evolutions, gigamax, etc.)
- Filter main list by types/etc.
- Add splash screen
- Add open sources notices/licences
- List of games in Pokémon details
- Filter by games
- Retrieve "has evolution tree" data
Minor:
- Merge all data filtering code in viewmodels into single sql queries
- Find a way to display all searched fields of Pokémon when searching
- Auto close keyboard when clicking on main list while searching
- Decrease height of list (not grid) items to make list view actually useful (display more items than grid view)
- Remove all localized names from db
- Close bottom sheet by scrolling down the scrollview while already at top
- Toggle captured from details activity
- Wrong return shared element transition from details activity after changing selected pokemon in details
- "Follow system" theme follows system theme as it was on app launch: #1
- List view holders not fading after turning on "show undiscovered info"
- Details thumbnail/infos not fading
- Tree view holders not fading either
- Bottom sheet not refreshed on data language changes
- Bottom sheet pages sync loading
- Bottom sheet overlaps bottom (and thus also the end) of main list
- Main activity something refreshes (loading overlay + list transition animation) when coming back from details(/settings?) for no reason
- Captured/discovered count icons not vertically centered
- Everything that works
Folder | Content |
---|---|
assets/ | mostly original svgs of Google icons |
db/ | SQL code and samples |
parser/ | Pokémon data parser/exporter written in Python 3.10 |
parser_output/ | data parser output (.sqlite, .kt, .xml, etc.) to be used in app |
pokechu/ | Android app written in Kotlin |
screenshots/ | this readme's screenshots |
Just launch main.py. It parses Poképedia pages and PokéAPI data and writes data to output/ folder as follows:
Output | Content |
---|---|
db.sqlite | sqlite database containing Pokémon, types, evolutions and regions data |
Kotlin files | one for each enum used in parser/database/app (to keep indexes in sync) |
images/ folder | downloaded thumbnails of Pokémon, items, etc. (some were manually pre-downloaded) |
values*/ folders | localized names of Pokémon, items, regions, etc. as Android XML string files |
Kotlin Android application reading Pokémon data from SQLite database, assets images and XML strings
Copy parser output data as follows:
Source | Destination |
---|---|
db.sqlite | app/src/main/assets/ |
Kotlin files | app/src/main/java/fr/amazer/pokechu/enums/ |
images/ folder | app/src/main/assets/ |
values*/ folders | app/src/main/res/ |
Code hierarchy:
Folder | Content |
---|---|
data/ | data repositories classes as per Android MVVM architecture |
database/ | Room database, entities and daos |
enums/ | enumerations values for regions, items, etc. generated by Python parser |
managers/ | managers classes, including shared preferences manager and observer classes |
ui/ | activities, fragments, etc. |
utils/ | static utilitary functions |
viewmodel/ | MVVM viewmodels classes |
Category | Images |
---|---|
Main Pokemon list: | ![]() ![]() ![]() |
Regions/games panel: | ![]() ![]() |
Search: | ![]() ![]() |
Details/evolution tree: | ![]() ![]() |
Settings: | ![]() |
to Poképédia, Bulbapedia and PokéAPI contributors and maintainers!
- GraphView library by the Block brothers
- Localization library by Akexorcist
- Leonids particles library by Platty Soft, updated by Jenna Vassar
- LivePreferences library by İbrahim Süren
- RecyclerView-FastScroll library by Tim Malseed
- CollapsingAvatarToolbarSample (FlingBehavior) by Sergey Burlaka
- Pokemon GB font by Jackster Productions
Pokémon © 2002-2023 Pokémon. © 1995-2023 Nintendo/Creatures Inc./GAME FREAK inc. TM, ® and Pokémon character names are trademarks of Nintendo