Platform for creating innovative educational Android applications.
Erubit Kana for learning japanese syllabaries.
Erubit English to learn TOEIC and TOEFL most frequent words.
Any contributions and translations are highly welcome.
Platform-based apps are especially useful for people who are constantly busy and can't find even 30 minutes to learn.
Using innovative techniques, people will learn something new based on the latest micro-learning technologies.
Each time the device screen unlocked, user will see a new word or piece of information for learning, or a mini-test to test knowledge of the lessons had already learned.
It takes only a couple of seconds, and the more effectively the training goes.
There is a demo
project in source code for the reference.
Let's create new platform-based application, let name it demo
as already existing sample.
-
Create new empty Android application without adding activity.
-
Make it dependant of the platform library:
In the demo/build.gradle
file add compile project(':erubit.platform')
in the dependencies
section.
dependencies {
→ compile project(':erubit.platform')
}
- Add new empty java class
NavActivity
atdemo/src/main/java/<your package path>/
public class NavActivity extends a.erubit.platform.android.NavActivity {
}
This is your main activity. Update manifest:
<application
android:name="a.erubit.platform.android.App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:fullBackupContent="@xml/backup_descriptor">
<activity
android:name=".NavActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize|keyboardHidden"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
- Create educational courses
All courses are Android raw
resource files.
Sample courses, developed for the Erubit Kana app are located in this Github project.
Multilingual apps are supported by default by Android's localization principles.
For example:
+ raw
- _contents.json
- demo.json
- demo_1.json
- demo_2.json
- demo_3.json
- demo_welcome.json
Entry point, containing list of courses is a __contents.json
file
[
{ "active": true, "name": "demo" }
]
"active": true|false
is an initial state of course, user will define courses to learn by himself after first launch."name"
is file containing course lessons
File name should be demo.json
as "name"
field in __contents.json
file.
{
"id": "<string id>",
"title": "@ref ref_hiragana_title",
"description": "@ref ref_hiragana_description",
"lessons": [
"hiragana_welcome",
"hiragana_a",
"hiragana_ka"
]
}
"id"
any string"title"
and"description"
fields might be either a normal text or a reference. References are used for [multilingual support][#multilingual].
{
"id": "36eb7c0",
"title": "@ref ref_hiragana_a_title",
"type": "Set",
"set": [
{ "i": 0, "c": "あ", "m": "a" },
{ "i": 1, "c": "い", "m": "i" },
{ "i": 2, "c": "う", "m": "u" },
{ "i": 3, "c": "え", "m": "e" },
{ "i": 4, "c": "お", "m": "o" }
],
"noise": [
"a", "i", "u", "e", "o"
]
}
"type"
should be"Set"
. Another types of lessons are sampled inDemo
project."set"
is a list of characters to learn"noise"
is a list of possible wrong answers
Text fields, like titles might be translatable for many languages.
"title": "Hiragana"
or
"title": "@ref ref_hiragana_title"
and in this case
courses/ref_hiragana_title
contents:
Hiragana
courses-ru/ref_hiragana_title
contents:
Хирагана