pbarrio / vocabularyquiz Goto Github PK
View Code? Open in Web Editor NEWLearn vocabulary from a new language
License: GNU General Public License v3.0
Learn vocabulary from a new language
License: GNU General Public License v3.0
Currently the test picks up the words that have the worst (passed-failed) number. This is good to learn the words that fail most, but it also means that words recently added don't make it into the tests too often.
We want two new types of tests:
This snippet of code is everywhere:
dba = Room.databaseBuilder( getApplicationContext(), VocabularyDB.class, "vocabulary-db" ).allowMainThreadQueries().build().getDBAccessor();
Let's 1) refactor it into some class or method that we can reuse, and 2) hopefully run it just once e.g. store it in some attribute somewhere?
The options stored in the DB should be also visible to the user. Currently there is a "ListConfigOptionsActivity" but it's just a skeleton, i.e. it does nothing.
Implementation should probably be similar to the visualization of the dictionary in "ListDictionaryActivity".
LeantWord & Translation? I don't like the "Word" bit because a "Word" could be a class. Just "learnt" and "translation"? "Native" and "Translation"?
Following message seen in AndroidManifest.xml:
"App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent filter. See issue explanation for more details. less... (Ctrl+F1)
Inspection info:Adds URLs to get your app into the Google index, to get installs and traffic to your app from Google Search. Issue id: GoogleAppIndexingWarning More info: https://g.co/AppIndexing/AndroidStudio "
This issue requires some investigation on how to do that. Cloud storage? CSV?
Additionally, it would be pretty cool to be able to share dictionaries (for extra points)!
There should be a "+" button where we can add words to the dictionary from other places. This should replace the ad-hoc activity that is only accessible from the main screen.
Right now there is a 1:1 mapping between words and their meaning. This is not how languages work. For example, in Hindi there are several words for "uncle". We want to be able to 1) store multiple meanings of a word, and one meaning be suitable for many words, i.e. many-to-many relationship.
This issue requires modifying the DB, which requires adding a migration path from the old DB number.
WordAdapter creates a new view in getView(), but this is not optimal. We should check if the current view is suitable (list_dictionary_element or list_dictionary_header), and reuse it if appropriate.
This is because the results are calculated by comparing the number of incorrect questions against the total number of questions, instead of against the number of answered questions so far.
There is an unchecked cast to ArrayList of the list of incorrect words coming from the quiz into the results activity. We need to check it.
Right now it's only hindi, which renders this option useless for future uses.
message "you failed the following words" still appears, followed by nothing
It should be rejected
When selecting a word for deletion, the app deletes it directly. Someone could hit the button by accident and would lose a word, which could be annoying. Let's add a dialog prompting for confirmation from the user on the deletion.
We currently allow queries to the Room DB in the main thread by calling allowMainThreadQueries(). This may lock the UI for a long time if the query is long. I think this is already affecting responsiveness negatively when opening the Dictionary list as the list of words increase.
This could be done in two ways:
More information on how to do it properly is available here: https://developer.android.com/training/data-storage/room/accessing-data.
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.