Thursday, November 19, 2009

Issues with Droid and Android 2.0

I have recieved several emails about problems with A++ Flash Cards on the Droid or on Android 2.0. If you are having issues with the app, please email me at dandrewsplusplus@gmail.com and I will promptly fix these issues. Thanks again for downloading A++ Flash Cards!

Wednesday, September 23, 2009

QR Code to Locate A++ Flash Cards in the Android Market

Using your Android phone's barcode scanner, you can scan the QR code below and quickly locate A++ Flash Cards in the Android Market - check it out! Courtesy of Androlib - a great resource for finding Android applications.

How to Get Flash Cards from the Web

There are many web sites out there that offer free flash cards, but none of them are optimized so you can study your flash cards on the go. If you register at these sites, you then have access to their immense flash card databases, where you can get flash cards related to just about any subject. No doubt you will want these flash cards on your phone, which is why A++ Flash Cards comes with an import feature. Once you've named a new set and it appears on A++'s main screen, you can then quickly populate that set with cards that have been formatted and saved to the file importexport.xml, located in the A++ Flash Cards folder on your phone's sd card. If you haven't read it yet, check out my post on Importing Flash Cards.


There are a variety of ways to get cards from the web. Once registered at a flash card website, like flashcardexchange, or flashcardmachine, you can look up flash card lists by subject. Once you have the cards you want listed in some type of table format, such as in the picture left, to get the xml code for the cards, you need to get the source code of the page you are viewing. Source code is the code with the xml tags, such as <tr> and </tr>, that stores the card information for the page. To get the source code of the page, you need to use your browser. In Internet Explorer, click 'Page' and then 'View Source'.

In Mozilla Firefox or Google Chrome, simply type Crtl+u, and a new tab or browser window will open displaying the source code. Scroll down in the new window or tab until you see the words and characters of the flash cards, such as in the picture to the right. You can then select the text you want, and copy it to your text editor, like Microsoft Word or Notepad++. Note that Individual cards must start with <tr> tags and end with </tr> tags, and card information must be separated by <td> and </td> tags. The source code from many of the free flash card sites can be simply copied and pasted into your text editor, saved with the file name importexport.xml, and then uploaded from your phone's sd card. In this way, large flash card sets can be created within minutes with virtually no typing. Note that some flash card site's source code might require a little tweaking once it's in your text editor, so as a precaution, if the text does not look similar to the formats outlined in the post Importing Flash Cards, you will probably want to experiment with a small set of flash cards first before trying to upload a large set, or you might want to manually reformat the text so that it will import properly. Good luck!

Example Code for Importing with A++ Flash Cards

Below is an example of properly formatted text to be used for importing with A++ Flash Cards. Importing the text will produce cards to count to 10 in Japanese, and write out the numerals in Kanji. Just copy and paste the text below into the file importexport.xml (after making sure the file is UTF-8 encoded) and then import the file to a set named something like 'Japanese Numbers'. Notice that this set of cards is also ideal for practicing with three sided flash cards, which can be activated through 'Settings'. Try it out!


<importexport>
<table>
<tr>
<td>一</td>
<td>ICHI, ITSU, hito(tsu), hito-</td>
<td>one</td>
</tr>
<tr>
<td>二</td>
<td>NI, futa(tsu), futa-, hata, hatsu</td>
<td>two</td>
</tr>
<tr>
<td>三</td>
<td>SAN, mi(tsu), mi(ttsu), mi</td>
<td>three</td>
</tr>
<tr>
<td>四</td>
<td>SHI, yon, yo, yo(tsu/ttsu)</td>
<td>four</td>
</tr>
<tr>
<td>五</td>
<td>GO, itsu, itsu(tsu)</td>
<td>five</td>
</tr>
<tr>
<td>六</td>
<td>ROKU, mu(tsu/ttsu), mu, mui</td>
<td>six</td>
</tr>
<tr>
<td>七</td>
<td>SHICHI, nana, nana(tsu), nano</td>
<td>seven</td>
</tr>
<tr>
<td>八</td>
<td>HACHI, ya(tsu), ya(ttsu), ya, you</td>
<td>eight</td>
</tr>
<tr>
<td>九</td>
<td>KYUU, KU, kokono, kokono(tsu)</td>
<td>nine</td>
</tr>
<tr>
<td>十</td>
<td>JUU, tou, to, ji</td>
<td>ten</td>
</tr>
</table>
</importexport>

Tuesday, September 22, 2009

How to Import Cards from the SD Card

One of the key features of A++ Flash Cards is the ability to upload flash cards to a phone in a quick and simple manner. This feature saves users a lot of time because they can create cards on their computer's keyboard rather than the on their phone's. This feature is also useful because it allows users to pull flash cards from other flash card websites, such as flashcardexchange.com or flashcardmachine, removing the need to type out any cards at all.

Here is how the 'Import Set from xml File' feature works:

(What you will need)

First, users need a mini-sd card for their phone with a mini-sd adapter for their computer, in order to transfer the files.
Second, users need a text editor, like Microsoft Word, or Notepad++ (no affiliation), so that they can edit and format the file that will be in imported. Whichever editor is used, it needs to be able to do a few things:
  1. It needs to be able to read xml files. Most editors can do this.
  2. It needs to preserve line breaks in the file. If the editor converts an xml file into one long sentence, then the importer will get confused and give strange results.
  3. The editor needs to allow UTF-8 encoding. You will need to encode your files in UTF-8 format before they are uploaded to the phone, otherwise special characters and fonts from other languages, like Japanese or Mandarin, will show up on the card as little boxes or question marks. Notepad++ makes this easy.
Once a user has an editor that can do all of these things and an SD card and an adapter, importing cards to A++ Flash Cards is easy.

As an example, let's say I want to learn how to count in Japanese, and I want to learn how to write the numbers out in in their Kanji characters. I know I can make cards with Kanji, because Android can handle Japanese fonts. Note that the Android Operating System does not currently support Hebrew or Arabic fonts, and so neither can A++ Flash Cards, unfortunately.

(How to Prepare the xml file)

There are many sites out there that have flash cards already made, so if you haven't read it already, please read my post on How to Get Flash Cards from the Web.

If you would like a set of cards to practice with, you can use my set for Counting to 10 in Japanese.

Assuming you have the xml/html code with the cards you want in your editor already, the next step is to make sure the code is in the right format. First, check that any special characters you want to show up in the cards is showing up in the editor. If you see question marks or little boxes where the special characters should be, you need to highlight the code and convert it to UTF-8 encoding. Once you can see the characters as they should be in the editor, it means that if Android supports those fonts, then so will A++ Flash Cards.

The next step is to do any necessary tweaking to the code, so that A++ Flash Cards' importer knows where the card information is in the code. The importer can handle card information in two different formats. The first format is the one that A++ Flash Cards exports sets of cards in.



As the picture to the left shows, one way the importer looks for cards is where the card is contained between <tr> </tr> tags, and individual card information is contained within <td> </td> tags. If the file to the left was uploaded to the phone, the importer would see three cards, all with the same content: The front of the card would be 'front', the Back would be 'back', and the Extra part would be 'extra'. As a side note, since the content is identical in all three cards, the importer would only create one card in this case.

Another acceptable format is demonstrated in the picture below. This is source code from one of the many popular flash card sites on the web. Again, this format works because individual cards are contained within <tr> and </tr> tags, while card information is separated between <td> and </td> tags. Note that the <tr> and </tr> tags are not on the same line - the importer would skip the card information in the middle if they were on the same line. Also, the importer knows to skip the first set of <td> </td> tags, because there is no card information in between them, but it knows not to skip the following three sets of <td> </td> tags.

The importer can also handle a combination of the two formats. In the picture to the right, the xml file has one card in the first format, and a second card in the second format. This is perfectly acceptable, because the <tr> </tr> tags are on different lines and contain individual card information, and the card information is separated by <td> </td> tags.

One way to get the hang of formatting files so you can import them is to first create some cards on the phone, and then export the set as an xml file (when exporting, the phone will overwrite the file importexport.xml in the folder 'A++ Flash Cards' on the SD card) and then edit that file with the new content you want uploaded.

Once the all the card information is in an acceptable format, copy and paste the formatted text into the file importexport.xml. Remember, make sure the special characters are encoded as UTF-8 and the formatting did not change. Save the file as importexport.xml back into the 'A++ Flash Cards' folder on your SD card, and then remove the SD card from your computer and put it back in your Android phone. Then, if you have not done so already, from the main page create the new set that you want to import your cards into. In this case, I would create a set called 'Japanese Numbers'. Then long press the set 'Japanese Numbers' until the options menu pops up, and then select 'Import Set from xml file'.

After a moment, the cards will have been uploaded, and you can check whether the cards were imported correctly by either clicking the set name, which will take you to viewing mode, or by long pressing the set name and selecting 'View or Edit Cards in Set'. You will immediately see whether the cards were encoded properly and whether the file was properly formatted.

Note that importing a set overwrites all previous cards in the set, so before importing, take precautions and back up your cards in the set by first exporting them and then copying and renaming the file they're in. Remember, the importer and exporter both use the file importexport.xml to import and export cards, so if you want to back up and save sets of cards, export them and then copy and rename the file so it will not be touched by the importer or exporter later.

To get the hang of importing and exporting, first make a small set of cards and export the set to importexport.xml. Then alter the file, such as by adding or removing some cards, and then import the file back to the set and see the changes in the card set.

Feel free to leave feedback on how to make this feature more user friendly, and expect updates to it down the road. Good Luck!

A++ Flash Cards is in the Android Market!

A++ Flash Cards allows users to create, store, share, and use digital flash cards on their Android phone. A++ Flash cards eliminates the need for large, bulky stacks of index cards. Users can create multiple sets of flash cards based on foreign languages or exam vocabulary words like those on the GREs or SATs. Users can import flash card sets from other sites, export flash card sets for sharing, and also append extra information to cards, such as hints, pronunciations, etc. A++ Flash Cards supports as many languages and characters as the Android Operating System. A++ Flash Cards is a 100% free application and is currently categorized under the 'Reference' section of the Android Market. Install it and try it out!

Monday, September 21, 2009

New Screenshot of A++ Flash Cards App

Here is a new screenshot of A++ Flash Cards in action, demonstrating what it is like to use A++ Flash Cards as a study tool. Using the Previous and Next buttons in the top corners of the screen, users can quickly cycle forwards or backwards through their sets of flash cards. Pressing the Flip button in the bottom right corner will flip the card over and display the back of the card. Users can also keep track of the number of cards they've gone though by using the counter at the bottom of the screen. A++ Flash Cards also supports different font sizes now, allowing users to either shrink or enlarge the display of text characters on the screen. More to come about A++ Flash Cards's features in later posts!

Tuesday, September 15, 2009

A++ Flash Cards is Almost Live


A++ Flash Cards will soon be in the Android Market. A++ Flash Cards is a simple application that allows users to create, edit, and view flash cards on their phone. A++ Flash Cards allows users to take their flash cards with them wherever they go, eliminating the need for a large, bulky stack of index cards. A++ Flash Cards is extremely user friendly, and an effective tool for memorization. Best of all, A++ Flash Cards is free!