|
Contribution
Become a beta testerPlease see the AnkiDroid manual for how to become a beta tester. Translate AnkiDroid into your languageEven if you prefer to use AnkiDroid in English, other people in your country might prefer to use it in their own language. Translating AnkiDroid to your native language means your country's AnkiDroid will grow much faster, leading to better shared decks in your language. Translating is easy and fun:
For each grey bullet, translate the English text to your language. For terms like "fact" or "leech", see how they are translated in Anki Desktop. If you don't have Anki on any computer, see here. Logic of the separation in different files
Switching the language of the AnkiDroid UI
Translating the AnkiDroid manualThe source for the AnkiDroid manual can be found on the ankidroiddocs github page. The manual is written in a plain text markup language called asciidoctor which is very easy to use. The asciidoctor file is called "manual.txt" and it can be compiled to html as follows: First install Asciidoctor:
Then compile the manual as follows:
The preferred method of contributing to the documentation is to fork the ankidroiddocs project on github, and send a pull request with your additions in the usual way. However, if you don't know how to use github, you can simply download the "manual.txt" file and send it to a project member or the Google Group. To create a translation of the manual, please make a copy of "manual.txt" and add "-LANUGAGE_CODE". For example for Italian submit a translated file called "manual-it.txt" based on the original source file. Translations should be periodically updated to reflect any changes in the original manual. Details of all changes can be found in the list of commits on github. Take screenshotsFor each language we need:
Here are all screenshots we have, so you can see which ones are missing: https://github.com/ankidroid/Anki-Android/tree/v2.0.2-dev/docs/marketing/screenshots Send the images to the forum so that we can use them to improve the Play Store page, the Wiki, etc. You can download various shared decks to show nice content. To take a screenshot, press the "Power" and "Volume down" buttons simultaneously. You can use the emulator if you don't have any 7inch or 10inch device. To take screenshots for several languages, you can switch the AnkiDroid UI language in Preferences as explained above. Other Non-developer tasks
Source codeFirst, register at Github.com, open AnkiDroid github repository and follow the forking instructions. If you want to be notified about each new improvement/bugfix, please subscribe to the commits feed for the development branch. Branching ModelWe use the gitflow branching model, so "develop" (the default branch) contains the latest development code, whereas "master" contains the code for the latest stable release. When we move into the "beta" phase of the development cycle, we implement a feature freeze, and a temporary branch "release-N.n" (N.n being the version code) is created which is only for important bug fixes. During this period, changes to "release-N.n" are regularly merged back into the "develop" branch so that it doesn't fall behind. If an urgent bug is discovered shortly after a major release, a special "hotfix-N.n" branch will be created from master. In most cases you should base your code on and send pull requests to the default "develop" branch. However, if you are working on a critical bug fix during the feature freeze period or for a hot-fix, you should use the "release-N.n" or "hotfix-N.n" branch. If you are unsure which branch to use, please ask on the forum. Compiling with EclipseIf it is your first time developing for Android, please follow these instructions. If you already have an environment set up, ensure the SDK tools are up to date. To do this, go to Window -> Android SDK Manager and check if the items under the Tools folder need updates. In order to open the codebase as an Eclipse project, after you have followed the Android environment setup instructions at the link above, follow these steps:
Note: A change was made to AnkiDroid in October 2014 which requires the creation of a brand new Eclipse project. If you have an existing AnkiDroid project in Eclipse from before this time, please delete it and follow the above instructions again to create a new project Debugging in EclipseTo start debugging, in the package explorer, right-click on AnkiDroid and choose Debug As -> Android Application, then select a device to run on (it can be a virtual device, or a real physical Android device). You should now be able to be stop at any break points in the program. Alternatively, you can start debugging after the program has already started running by opening the DDMS view (Window -> Open Perspective -> Other -> DDMS), then find the com.ichi2.anki process in the devices window, and click on the green debug icon: Compiling with Ant (optional)(If you use Eclipse you can skip this step)
sdk.dir=/home/nico/programs/android-sdk ./create-build-files.sh ant debug ant installd Other development toolsA tool like "SQLite Database Browser" is very useful to understand how a ".anki" file is made, and to test SQL queries. To install it on Ubuntu: sudo apt-get install sqlitebrowser Submit improvementsOnce you have improved the code, commit it and send a pull request to AnkiDroid Github Repository. It will then be accepted after the code has been reviewed, and the enhanced application will be available on the Android Market on the next release. See the branching model section if you are unsure which branch to push to. If you have trouble with Git, you can send your modifications as an attachement to a bug in the issue tracker, or just paste the changed files as text to the forum.
Checking database modificationsOn Ubuntu Linux:
echo .dump | sqlite3 country-capitals.desktop.anki >desktop.dump echo .dump | sqlite3 country-capitals.android.anki >android.dump diff desktop.dump android.dump > desktop-android.diff meld desktop.dump android.dump To do from time to timeIn addition to bugs and enhancements, here are a few things that someone or another should perform once in a while, maybe every month or so: Download localized strings
Licenses
Alternative markets
Development cycle
How to sponsor developmentIn case you are willing to pay money for a feature or fix to be implemented, here is how to do:
Reach an agreement with the developer:
Summary of the workflow:
Modifying the AnkiDroid-triage toolNote: This paragraph describes how to modify to triage tool. Most developers do not need to bother with this. The database can be read/modified here if Kostas has given you the rights: Main page Recent crashes Feedback Anyone can download and contribute to the source of AnkiDroid-triage, which is at https://github.com/iniju/ankidroid-triage Testing AnkiDroid-triage on Ubuntu 2010.10Google AppEngine needs Python 2.5 and Ubuntu 2010.10's stock Python 2.6.6 won't do so go download it. Install header files for SQLite3: sudo apt-get install libsqlite3-dev Uncompress the downloaded Python 2.5 archive (for instance as ~/programs/python2.5), enter the directory and run: ./configure" It should take a few seconds, then run: make It will take about 30 seconds. Download Django 1.1.4, unarchive it, and copy its "django" directory to the "Lib" directory of Python 2.5 Download the latest AppEngine SDK for Python and unarchive it (for instance as ~/programs/google_appengine). Fork or download AnkiDroid-triage and put it at the root of AppEngine (for instance ~/programs/google_appengine/ankidroid-triage) From AppEngine's directory, run: ~/programs/python2.5/python ankidroid-triage Open a browser to http://localhost:8080 and you should see something similar to this except it contains zero crashes. Markets
AdministrationRead ReleaseProcedure for some insight on how AnkiDroid is released. LocalizationAdministration describes how Crowdin is managed under the hood. Other open source Android flashcards appsWe are on very friendly terms with other app creators, and some have already re-used AnkiDroid's code. Feel free to compare apps and transfer one's strong points to the other(s) when applicable: ContributorsMany thanks to all of the people and companies who contributed to AnkiDroid! :
We are very welcoming and open, please join us! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dear Team,
I am Mr Chin Qi Yong from LPC Lab Malaysia. We are basic education system provider. Recently we just to received Cambridge English Assessment Award for Preparation Centre: Best Teacher Support Finalist. This award serve as a recognition to our teaching methodology and material. Currently we just expand our business to International School segment as well as oversea market with the assistant from Cambridge.
The reason i left a comment here is because we are in progress to migrate our product to Android platform and i found your app is quite identical to what we want to develop (in fact we are much much more simple). I hope to receive assistance from your team.
Our program is more than a flash card application. What we have is a complete process that enable children to learn easier, faster and cheaper. No one believe on us until we receive the award form Cambridge. Our students at least 1 year ahead the Cambridge Standard. You can find the award information from our facebook.
https://www.facebook.com/lpclab
You can contact me at chinqiyong@gmail.com or +6012-3674255
Look forward to listen from you guys
Chin