输入法 总结-4

public class InputActivity extends InputMethodService
{
    private InputApplication application;
    private static final String TAG = "INPUT";
    private InputConnection connection;
    private Socket socket = null;
    @Override
    public void onCreate()
    {
        if (connection == null)
        {
            connection = getCurrentInputConnection();
        }
       
        application = (InputApplication) getApplication();
        super.onCreate();
    }
   
    @Override
    public View onCreateInputView()
    {
        return super.onCreateInputView();
    }
   
    @Override
    public View onCreateCandidatesView()
    {
//        Log.v(TAG, "InputMethodService.onCreateCandidatesView()被调用");
        return super.onCreateCandidatesView();
    }
   
    @Override
    public void onStartInput(EditorInfo editorInfo, boolean restarting)
    {
        super.onStartInput(editorInfo, restarting);
    }
   
    @Override
    public void onStartInputView(EditorInfo info, boolean restarting)
    {
        Myhandler handler = new Myhandler();
        application.setHandler(handler);
        Log.v(TAG, "InputMethodService.onStartInputView()被调用");
        super.onStartInputView(info, restarting);
    }
   
    @Override
    public void onFinishInput()
    {
        super.onFinishInput();
    }
   
    @Override
    public void onFinishInputView(boolean finishingInput)
    {
        try
        {
            if (finishingInput && socket != null)
            {
                //获取输出流,用于客户端向服务器端发送数据
                DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
                //客户端向服务器端发送数据
                dos.writeUTF("我是客户端,请求连接!");
            }
        }
        catch (Exception e)
        {
        }
        super.onFinishInputView(finishingInput);
    }
   
    @Override
    public void setCandidatesViewShown(boolean shown)
    {
        super.setCandidatesViewShown(shown);
    }
   
    @Override
    public void onBindInput()
    {
        super.onBindInput();
    }
  
    class Myhandler extends Handler
    {
        @Override
        public void dispatchMessage(Message msg)
        {
            switch (msg.what)
            {
                case 10:
                    String result = (String) msg.getData().get("ask");
                    Log.v("INPUT", result);
                    InputMethodManager input = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
                    input.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_NOT_ALWAYS); 
                    connection = getCurrentInputConnection();
                    connection.commitText(result, 1);
                    break;
               
                default:
                    break;
            }
            super.dispatchMessage(msg);
        }
    }
}


2:client通道
Socket socket = new Socket("10.0.0.1",9999);
        //获取输出流,用于客户端向服务器端发送数据
        DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
        //客户端向服务器端发送数据
        Scanner scanner = new Scanner(System.in); 
String ask = scanner.nextLine();
        dos.writeUTF(ask);
        socket.close();

猜你喜欢

转载自mickey-hou.iteye.com/blog/1899699