Giter Club home page Giter Club logo

aard2-android's Introduction

Aard 2 for Android

Aard 2 for Android is a successor to Aard Dictionary for Android. It comes with redesigned user interface, bookmarks, history and a better dictionary storage format.

Download

Features

Lookup

Lookup queries are punctuation, diacritics and case insensitive.

images/sm-lookup.png

Bookmarks and History

Visited articles are automatically added to history and appear in History tab. Articles can also be bookmarked (tap Bookmark icon when viewing article). Bookmarked articles appear in Bookmarks tab. Bookmarks and history can be filtered and sorted by time or article title. Both bookmarks and history are limited to a hundred of most recently used items. To remove bookmark or history record, long tap a list item to enter selection mode, tap items to be removed, tap Trash Can icon and confirm. A bookmark can also be removed by tapping Bookmark icon when viewing article.

images/sm-bookmarks.png images/sm-history.png

Dictionary Management

Dictionaries can be added by scanning device or by manually selecting dictionary files.

Note that application itself does not download dictionary files.

Opened dictionaries can be ordered by marking and unmarking them as “favorite” (tap dictionary title). Lookup results of equal match strength from multiple dictionaries are presented in the order of dictionaries in the dictionary list. Dictionaries can also be deactivated (turned off). Turned off dictionaries do not participate in word lookup or random article lookup, but are still available when opening articles from bookmarks, history or when following links in other articles. Unwanted dictionaries can also be completely removed from the program (but dictionary files are not deleted).

images/sm-dictionaries.png

Article Appearance

Dictionaries may include alternate style sheets. User may also add custom style sheets via Settings tab. Dictionary built-in and user styles appear in the “Style…” menu in article view.

images/sm-article_appearance_default.png images/sm-article_menu.png images/sm-article_appearance_select_style.png images/sm-article_appearance_dark.png

Math

Mathematical formulas in Wikipedia articles are rendered as text using MathJax - scalable, styleable, beautiful on any screen.

images/sm-article-integral.png images/sm-article-ru-ryad-taylora.png images/sm-article-ru-zam-predely.png

Random Article

Tapping application logo in main activity finds a random title in an active dictionary and opens corresponding articles. User may optionally limit random lookup to only use favorite dictionaries.

Volume Buttons Navigation

When viewing articles, volume up/down buttons scroll article content or, if at the bottom (top) of the page, move to the next (previous) article. Long press scrolls all the way to the bottom (top). In main view volume buttons cycle through tabs.

Fullscreen Mode

On Android 4.4 and newer articles can be viewed in fullscreen mode. Pull down the top edge to exit fullscreen mode.

Requested Permissions

android.permission.INTERNET

Aard 2 uses local embedded web server to provide article content. This permission is necessary to run the server.

Also, articles may reference remote content such as images. This permission is necessary to load it.

android.permission.ACCESS_NETWORK_STATE

User chooses when to allow loading remote content: always, when on Wi-Fi or never. This permission is necessary to implement this.

android.permission.READ_EXTERNAL_STORAGE

This permission is needed to access dictionary files on external storage.

android.permission.WRITE_EXTERNAL_STORAGE

While Aard 2 itself currently does not write anything to external storage, this permission is needed, oddly enough, to browse and read dictionary files on external storage on BlackBerry 10 devices.

Developing

Aard 2 is built with Gradle.

Aard 2 depends on projects slobj and slobber.

Get the source code:

mkdir aard2
cd aard2
git clone https://github.com/itkach/slobj.git
git clone https://github.com/itkach/slobber.git
git clone https://github.com/itkach/aard2-android.git

Create settings.gradle with the following content:

include ':slobj'
include ':slobber'
include ':aard2-android'

Open Android Studio, go to File, Import Project…, select aard2 directory and then Finish. This should create the project ready for running and debugging on device or in emulator.

To build an APK on the command line:

cd aard2-android
gradle build

To install the APK:

adb install -r build/outputs/apk/aard2-android-debug.apk

Launching from Other Applications

Aard 2 lookup can be initiated from other applications, either through standard Share action or directly, if application implemented an action to start Aard 2 with lookup intent.

Applications can launch Aard 2 lookup by starting activity with intent aard2.lookup with text to look up passed as an extra string parameter SearchManager.QUERY. For example:

Intent intent = new Intent("aard2.lookup");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(SearchManager.QUERY, "Foo Bar");
startActivity(intent);

Same thing from a command line using adb:

adb shell am start -a aard2.lookup -f 335544320 -e query "Foo Bar"

aard2-android's People

Contributors

aga-c avatar bittachi avatar comradekingu avatar itkach avatar lbschenkel avatar mohammedbelkacem avatar poustre avatar qnga avatar sguinetti avatar sklart avatar vistaus avatar

Watchers

 avatar

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.