extending soft-keyboard with language switching support?

by Henrik » Fri, 23 Apr 2010 08:03:47 GMT

Sponsored Links
 I just got my HTC Desire with Android 2.1, and the first problem I'm
running into a lot is when using the visual keyboard.  Being
multilingual and having friends who only speak one particular
language, there's no single 'correct' input language setting for the
word prediction feature, so I started looking into how much work it
might be to extend the keyboard with two rather basic, though
essential, features:

1)  Showing the current language selection, so that I don't have to
type stuff, getting it mis-corrected, then discover the language
setting must be wrong, go into the settings, select to change
language, select language, etc... until I get back, erase the old text
and start over. That gets old real quick..

2)  Being able to simple change whatever language is used for the word
prediction by just having a button on the keyboard doing that
directly, i.e. a button that just cycles through the 'relevant'
languages with the key label showing which is currently active.

Improving it even further, one might imagine:

3)  Having a per contact setting, noting the word-prediction language
that should be used when communicating with that user.

But searching through the docs, I'm slowly coming to the realization
that the input text language setting may not even be available to be
changed outside the system settings dialog, making this impossible to
implement - is that correct?

Henrik Gram


Other Threads

1. bindService and onSeriveConnected behaviour


I have an Android Service running as a separate process.
When an Activity is launched , this activity connects to the service.
After successful connection to the serivce the *onServiceConnected *callback
is called.
So unitl this callback is called the activity should be blocked from making
any calls to the Service.

 Now if I do a sleep in the Activity in order to wait till  *onServiceConnected
*is called , *onServiceConnected  *gets called after the sleep is over.
the same thread as the Activity.
So I am not able to block the Acitivity to make call to the Serive until
the it is successfully connected.

Is my observation correct or am I missing something wrong ?

Consider the AIDL

interface IAddService {
    void addNos(int num1, int num2);

public class HomeScreen extends Activity {

public void onCreate(Bundle savedInstanceState)

connection = new Connection();
Intent i = new Intent();
boolean ret = context.bindService(i, connection, Context.BIND_AUTO_CREATE);
*//Wait till onServiceConnected*
*addNos(1,2); //Not able to wait or syncronize until onServiceConnected is
called as the callback is getting called from same thread as the Activity is

class Connection implements ServiceConnection {
     public void onServiceConnected(ComponentName name, IBinder
boundService) {
            service = IAddService.Stub.asInterface((IBinder) boundService);




2. Easy Facebook Android SDK

New free android library for facebook.Those who tried to integrate
facebook features into his own Android application knows that it's not
an easy thing to do. We tested many libraries: FbRocket, FbConnect and
even facebook's official sdk, but their implementation was very
complicated or they had very few features. That's why we decided to
create our own library from scratch. Facebook's official sdk will make
you insane while you try to get your Android application's HashSet
while all the unofficial libraries lack all the graph Api features and
doesn't support the pictures upload. The highlights of EASY FACEBOOK

    * The HashSet Code for Android application isn't needed
    * Oauth 2.0 authentication support
    * Use the access token
    * Pictures upload support
    * Supports all the features of Graph API
    * It can run any query FQL
    * Contains BEAN of all facebook objects
    * It's free

Download library : http://www.easyfacebookandroidsdk.com/


3. Unable to start service com.android.vending.billing.IMarketBillingService

4. Emulator problem

5. Uninstalling applications from emulator

6. How to test my application

7. Manually destroy view(layout)