Jump to content

Acer Liquid Dictionary - Autocomplete


Guest JackTheMan18

Recommended Posts

Guest JackTheMan18

Has anyone (especially those who have used other Android phones before) noticed that the Liquid doesn't do autocomplete?

Is this because Acer forgot to ship it with a dictionary?

Can someone who has root check if there is a dictionary?

Link to comment
Share on other sites

Guest 00sully

yep I can confirm this - thought it was a bug in mine but Acer obviously left out a decent dictionary - it actually does autocomplete a VERY SMALL portion of words - like you type "he" and it will sugges "he'll" but not "hello" there are a limited amount i've come across - maybe 3 in total!!! adding user words works so the keyboard does actually work.

we can hope acer fix this in a future update. in the meantime I recomment using the HTC_IME keyboard released over at xda developers!! its a little buggy on the liquid - See post below on screen resolution problem :/ but its worth it ;)

Edited by 00sully
Link to comment
Share on other sites

yep I can confirm this - thought it was a bug in mine but Acer obviously left out a decent dictionary - it actually does autocomplete a VERY SMALL portion of words - like you type "he" and it will sugges "he'll" but not "hello" there are a limited amount i've come across - maybe 3 in total!!! adding user words works so the keyboard does actually work.

we can hope acer fix this in a future update. in the meantime I recomment using the HTC_IME keyboard released over at xda developers!! its a little buggy on the liquid - See post below on screen resolution problem :/ but its worth it ;)

link??

and what screenshots?

Link to comment
Share on other sites

Guest JackTheMan18
yep I can confirm this - thought it was a bug in mine but Acer obviously left out a decent dictionary - it actually does autocomplete a VERY SMALL portion of words - like you type "he" and it will sugges "he'll" but not "hello" there are a limited amount i've come across - maybe 3 in total!!! adding user words works so the keyboard does actually work.

we can hope acer fix this in a future update. in the meantime I recomment using the HTC_IME keyboard released over at xda developers!! its a little buggy on the liquid - See post below on screen resolution problem :/ but its worth it ;)

Paul: Can you please notify Acer of this bug? (and others, I'm sure!)

I don't even know how/where to report it to them!

No website, no support, no feedback, no....

Link to comment
Share on other sites

Guest 00sully

I assume you mean link for the HTC_IME??

http://forum.xda-developers.com/showthread.php?t=567294

oh and it tends to truncate the screen in portrait mode after you've used the HTC keyboard to type with - simple to fix tho a quick press of search button then back button and you are in business!

see here for details: http://android.modaco.com/content/acer-liq...reen-truncated/

the keyboard does work - you need to download ASTRO file manager or some such to install it tho - load it to SD card then use astro to insall it ;)

the android keyboards autocomplete is useless - its not really a bug tho just a missing dictionary ;)

Edited by 00sully
Link to comment
Share on other sites

Guest three_pineapples

shouldn't there be some way to add a dictionary? I mean we can add words ourselves, but i don't feel like typing the whole dictionary. There has to be a way to mass add words surely...

Link to comment
Share on other sites

yeah it's pretty dumb that the autocomplete function just keeps advertising the OS itself when i type "and" and then it fixes it to spell out "Android"

i fixed that for the language of my country, f u can provide me an latinIME.apk from a magic or hero or other android device with a fully working dictionary i can fix it, it's pretty simple, but it needs root acces to pull/push apk in /system folder..

Link to comment
Share on other sites

Guest saquib

Using betterkeyboard, works great. Search in the market.

Typed this message using it. Auto corrects and dictionary seems complete.

Is there any other keyboard like the Htc one?
Link to comment
Share on other sites

Guest greves

Hey this problem has been bugging me for a bit too, and I was looking around the android dev docs to see what I could find. Should be pretty straightforward for any programmers on here to write up a little app as android provides a method to add words to the dictionary:

http://developer.android.com/reference/and...nary.Words.html

I would even be willing to make a list if necessary from something like this: http://en.wiktionary.org/wiki/Wiktionary:F...y_lists#English

Then I could just note the frequency of each one which I notice is a parameter for the UserDictionary.Words.addword() function. Let me know if you're interested in doing this... I'd be willing to help but not really that experienced a programmer (I have the Android SDK and stuff installed already though).

greves

Edited by greves
Link to comment
Share on other sites

Guest three_pineapples

I tried making a program to add a word to the dictionary...it failed :) It just force closes.

If anyone has a suggestion as to what i'm doing wrong feel free to let me know. I'm competent in coding, i just don't have the time to spend 5 hours figuring out how to program for android when someone else could tell me in 5 minutes! So if someone solves the problem, i've already found a list of dictionary words so it would just be a matter of reading in the list and looping through the call to add the word to the dictionary!

package com.example.HelloAndroid;


import android.app.Activity;

import android.os.Bundle;

import android.provider.UserDictionary;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;


public class HelloAndroid extends Activity implements OnClickListener {

   /** Called when the activity is first created. */

   @Override


	protected void onCreate(Bundle savedInstanceState) {


	   super.onCreate(savedInstanceState); 

	   Button button = new Button(this);

		button.setText("Click Me");

		button.setOnClickListener(this);

		//setContentView(button);

	   //TextView tv = new TextView(this);

	   //tv.setText("Hello, Android");

	   setContentView(button);

	}


	// Implement the OnClickListener callback

	public void onClick(View v) {

	  // do something when the button is clicked


	   //UserDictionary.Words.addWord(getApplicationContext(), "hello", 1, UserDictionary.Words.LOCALE_TYPE_CURRENT);

		UserDictionary.Words.addWord(this, "what", 3, UserDictionary.Words.LOCALE_TYPE_CURRENT);


   }

}

Link to comment
Share on other sites

Guest three_pineapples

I figured out what i did wrong. I failed to set the correct permissions in the manifest file!

So when i find time, i'll try and write an app :)

Link to comment
Share on other sites

Guest greves

So I just finished writing my little app with some help from three pineapples code.

This app is just a button that you press and it will fill your user dictionary with the 10,000 words found in those word lists I posted above, sorted by frequency. It takes a couple of minutes to run and there is no indication that it's doing anything but just give it a bit and when it turns gray again you can check your user dictionary to make sure it worked and then uninstall/delete the app as it serves no other purpose.

To use it just unzip / extract the .apk, then plug in your phone to the computer via USB, copy the file to your sdcard, and install it. It requests some access to your phone or whatever but there's nothing in the code as you can plainly see:

I'll try to add a counter / progress bar and a delete function if you want to clear your user dictionary at some point, but no guarantees.

Anyone can feel free to steal this code / fix it up / put it up on the market for free :)

Thanks,

greves

package com.greves.userdictionarywordlist;


import android.app.Activity;

import android.os.Bundle;

import android.provider.UserDictionary;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class UserDictionaryWordlist extends Activity implements OnClickListener {

	/** Called when the activity is first created. */

	@Override

	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		Button button = new Button(this);

		button.setText("Click me");

		button.setOnClickListener(this);

		setContentView(button);

	}


	public void onClick(View v) {

		try {

			BufferedReader wordlist = new BufferedReader(new InputStreamReader(getAssets().open("wordlist.txt")));

			String word = null;

			// start with the most common words freq = 255

			int freq = 255;

			int freqCount = 0;

			// go down 1 level of frequency every 40 words = 10,000 words in the list

			int freqDivision = 40;

			while ((word = wordlist.readLine()) != null) {

				UserDictionary.Words.addWord(this, word, freq, UserDictionary.Words.LOCALE_TYPE_CURRENT);

				freqCount++;

				if (freqCount == freqDivision) {

					freq--;

					freqCount = 0;

				}

			}

		} catch (IOException e) {

			// TODO Auto-generated catch block

			e.printStackTrace();

		}

	}

}

UserDictionaryWordlist.apk.zip

Link to comment
Share on other sites

Guest tomdotcom

installing now... absolute life saver and a bit funny to see how "Acer" is not really trying to save their reputation by offering low quality products but somehow "forgetting" to add words into the dictionary

Many thanks for your hardwork!

Link to comment
Share on other sites

Guest greves

Hopefully I'll get some more functions working this weekend, but I'll swap in that other dictionary tonight it looks a lot better. I'm not sure how to do the frequency index though since it is only a scale of 0-16 while the user dictionary does 1-255, which is much finer detail. Any suggestions? I'm looking into this one: http://www.kilgarriff.co.uk/bnc-readme.html

As a side note, I won't be able to add a remove function as far as I can tell, the only way to remove entries is to remove everything in your user dictionary via: Menu -> Applications -> Manage applications -> com.android.provider.UserDictionary -> Clear data. This will clear everything, though.

Link to comment
Share on other sites

Guest three_pineapples
Hopefully I'll get some more functions working this weekend, but I'll swap in that other dictionary tonight it looks a lot better. I'm not sure how to do the frequency index though since it is only a scale of 0-16 while the user dictionary does 1-255, which is much finer detail. Any suggestions? I'm looking into this one: http://www.kilgarriff.co.uk/bnc-readme.html

As a side note, I won't be able to add a remove function as far as I can tell, the only way to remove entries is to remove everything in your user dictionary via: Menu -> Applications -> Manage applications -> com.android.provider.UserDictionary -> Clear data. This will clear everything, though.

Frequency index on the list is linked to is easy. Just use the scale 1-16. This will be fine as long as all words use this scale (which they will, since i think only apps can specify frequency when adding to user dictionary). The other option would be to just multiply each frequency value by 16 and subtract 1 so you get each value between the range 0-255 :)

I have no idea what on the link you posted has any use ;) way too much info crammed onto that page that i don't understand!!

Too bad about the delete function. It should be possible really since you can delete individual words yourself but apparently its not included in the API B) Maybe you could provide a link in the app to the clear all app data for the user dictionary. Not sure how that is done though (don't have enough android knowledge yet!).

Adding a progress bar would be useful! And also, one day i might be interested in implementing a feature that would allow users to insert their own word list from the SD card B) But that would need some creative programming! (eg, the ability to enter the format of the file, as in specify file delimiter and then where the word and frequency data is stored!). Not sure if i'll have time to do that any time soon though (starting my honours year in physics soon so that will take priority haha ;) )

Link to comment
Share on other sites

Guest greves

Just fixed the dictionary to the one recommended with 57,000 some odd words in it, and it's much better quality than the first one I used yesterday. If you want to use it like I've done, just delete your user dictionary entries (I described how above) and then install this new one the same as above. The only problem is that it's a huge number of words and makes the user dictionary crash on loading, but it's fantastic after the 20 minutes it takes to load. You won't miss a beat with this one...

UserDictionaryWordlist.apk.zip

Link to comment
Share on other sites

Guest pete.major
Just fixed the dictionary to the one recommended with 57,000 some odd words in it, and it's much better quality than the first one I used yesterday. If you want to use it like I've done, just delete your user dictionary entries (I described how above) and then install this new one the same as above. The only problem is that it's a huge number of words and makes the user dictionary crash on loading, but it's fantastic after the 20 minutes it takes to load. You won't miss a beat with this one...

Thanks for the app.

I did try this but my phone just ground to a halt... the keyboard wouldnt pop-up in apps like "gmail" or "messages"... guess 60000 words is just to much educatioin for this little phone ;-)

Link to comment
Share on other sites

Guest greves

Yeah seems it worked for me last night and this morning also, but by the afternoon somehow or other it stopped working too, so maybe 60,000 is over-doing it for this user dictionary application. I would stick with the 9000 of the first app I made for now.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.