GithubHelp home page GithubHelp logo

sionleroux / guesstheanimal Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 4.8 MB

An android game demonstrating a simple AI which learns to guess animals

License: GNU General Public License v2.0

Java 97.16% Ruby 2.84%
android game guess-animals

guesstheanimal's People

Contributors

ezisazis avatar sionleroux avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

gitter-badger

guesstheanimal's Issues

Unnecessary translations

For the MVP it's just slowing us down to always include all the translations.

Solution: Only use english translation and delete the other ones.

Keyboard hides question text on tablet

On the Nexus 7 the keyboard pops up automatically, pushing away the question text so you can't read it. There's still a large blank white space though. I suppose there are several possible solutions:

  • it would be best if the activity was flexible and the input box moved with the keyboard
  • the input box could be no longer set as active to stop the keyboard popping up automatically
  • in the worst case, the input box could be stuck to the bottom of the text instead of the bottom of the screen

Migrate to Material Design

Although I like the old traditional android design, don't you think that it would be awesome to play with Material design?

Forgets animals on restart

Animals learnt don't persist when you close the app and open it again. This is because animals are only stored in memory in a static class and passed around as intents, but never saved to file (Except for the first two, which are hard-coded, see #3).

For persistence the animal tree should be serialised and saved to database or file, either when the app is closed or each time a new animal is learnt. I'm not sure which one is more reasonable.

Kotlin lang

Unfortunately #9 is closed but I want to re-open the part when we migrate to Kotlin, because it's fun and modern.

Use re-usable fragments

Maybe it would be nice approach to remove all the Activities and use Fragments instead of them. They are re-usable, easier to optimize to tablets etc.

Update basics project settings

I know you tried to aim the lowest android devices, but I think it would be nice to update the project to:

  • at least minSdkVersion: 16
  • supportLibraryVersion = "25.3.1"
  • com.android.tools.build:gradle:2.3.3
  • kotlin lang

Question: Use static imports or not.

There are lots of positive and negative points on using static imports inside your codebase.
@sinisterstuf I'm curious about your opinion.

https://en.wikipedia.org/wiki/Static_import

IMHO there are places where It's useful to use, like when you want to set a UI element's visibility, because everyone knows that there are 3 posibilites

  • View.Visible
  • View.Invisible
  • View.Gone

So It's okay to leave out the View part, but all the codes that are made of us and not part of the Android/Java SDK is readable if we keep the class annotation.

Permission issues?

Hey!

You should set some options, because I can't even set a label to my Issues / PR's

Needs a dark mode

All cool apps these days have a dark mode. This one should have that too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.