在我团队的Android应用程序中,我有一个从启动运行的服务,该服务与服务器通信以执行诸如登录,注册,手机之间聊天以及更新手机数据库之类的操作。
我需要使我的服务与活动进行双向通信:例如,我目前正在进行登录活动,并且用户名和密码是从应用程序屏幕上的文本字段获取的字符串,并且我已经能够通过它们服务,以向服务器发送授权命令。
public void loginPressed(View v){
usernameStr = usernameField.getText().toString();
passwordStr = passwordField.getText().toString();
if (!bound) return;
Bundle b = new Bundle();
Message msg = Message.obtain(null, ChatService.LOGIN);
try {
b.putString("username", usernameStr);
b.putString("password", passwordStr);
msg.setData(b);
messenger.send(msg);
}
catch (RemoteException e) {
}
Run Code Online (Sandbox Code Playgroud)
正如我所期望的那样。当服务器以一条消息说明登录是否成功时,我需要它将消息传递回活动,以便如果成功则可以启动主活动,或者如果没有成功则提示重新输入。
我试图使用msg.replyTo字段来获取返回信息,以将信息发送回去,但是当我运行应用程序时,它强制关闭并带有空指针异常,我不知道为什么会这样。这是似乎是罪魁祸首的代码:
private class IncomingHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch(msg.what) {
case LOGIN:
Bundle b = msg.getData();
String username = b.getString("username");
String password = b.getString("password");
String loginMessage = TCPCall.login(username, password);
connection.sendMessage(loginMessage);
String loginReturn = connection.retrieveMessage();
Message …
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个涉及在Android手机上使用EEG信号的项目.
我决定是否应该为Android创建自己的信号处理库,因为我似乎无法在网上找到任何信息处理库.
有没有人知道我可以使用的图书馆,还是更容易,更快地制作我自己的图书馆?
谢谢