小弟以前没搞过android 没学过java 接触最多的还是c 熟悉一点c++;
现在在做一个android的项目,基于sdk的,主要是做用一个终端实现另一个终端的控制,分server和client端
已经实现通信tcp/ip,在客户端做一个键盘,home键,上下左右等,每个键有他的键值,比如home设为0001,menu设为0002,将这个值发送给服务器端后,服务器端怎么处理?就是我在客户端按下home键后,要实现服务器端也按下home的结果。
结果两个星期的android,在网上找了好久,一般都是这种:
public class TestView extends SurfaceView implements View.OnKeyListener{  public TestView(Context context) {
  setFocusable(true);
  setFocusableInTouchMode(true);
  setOnKeyListener(this);
  }public boolean onKey(View view, int keyCode, KeyEvent event) {
int action = event.getAction();
int modifiers = event.getMetaState();
if(event.isAltPressed()) {
modifiers |= KeyEvent.META_ALT_ON;
这种好像都是要在服务器端接听按键,但是我现在是在客户端按下的键的,怎么能让服务器端不按下按键,通过我的键值来执行不同的操作?
比如linux c 下面有:
如果我传过来的值是0001,有这种
if(0001)
{system("ls -al /etc")};
if(0002)
{system("cd ..")};
我承认我很幼稚,我在想,上面的onKey()函数,为什么一定要event.getAction();ketCode的值 不能直接传入实参?
唉 各位大神给点思路吧,见笑见笑了。
fucking android...

解决方案 »

  1.   

    http://blog.csdn.net/pottichu/article/details/5600209
      

  2.   

    1.客户端键盘按下Home键
    2.通过tcp将home键的键码由客户端传到服务器端
    3.服务器端接受到键码后知道客户端按下Home键了
    4.服务器端重复home按键动作
    Instrumentation inst=new Instrumentation();
    inst.sendKeyDownUpSync(KeyEvent.KEYCODE_HOME);
      

  3.   

    LZ情况和小弟非常像啊,我也是接触最多的是C,几乎不会C++,没学过java,然后就研究android了,觉得蛮费劲的。。