我对Android编程很陌生,但在其他语言方面有一些经验。我想创建一个像这样的原理工作的APP。
APP是一个过程,如果有要执行的事件,则每10秒询问一次我的Web /数据库服务器。
Web- / Database-Server以事件ID或函数名称回答。
我的问题是:
如何使用返回值执行函数?例如
InputStream in = response.getEntity().getContent();
//Get the data in the entity
public in(void)
{
// execute a function which got´s the same name as the variable "in"
}
结果应该是:如果有事件,一个线程每10秒询问一次我的Web- / Database-Server。事件在一个线程中执行,这是并行的(同时没有崩溃甚至被卡住)。
这些主题的示例代码将不胜感激。
直到我的代码:
公共类服务扩展服务{ private static final String TAG =" MyService&#34 ;;
@Override public IBinder onBind(Intent intent) { return null; } public void onDestroy() { Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show(); Log.d(TAG, "onDestroy"); } @Override public int onStartCommand(Intent intent, int flags, int startid) { Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show(); Log.d(TAG, "onStart"); Thread thread = new Thread(new Runnable() { @Override public void run() { new Timer().scheduleAtFixedRate(new TimerTask() { @Override public void run() { System.out.println("Send GO!"); Device dev = new Device(); dev.getDeviceId(getBaseContext()); dev.getEmail(getBaseContext()); dev.sendDeviceItems(); } }, 0, 10000);//put here time 1000 milliseconds=1 second } }); thread.start(); return Service.START_STICKY; } }
答案 0 :(得分:2)
它是否仅限于进程中的2个线程,或者每次我想要执行的函数的新线程时都可以打开?也许是因为其他功能还在运行?
如何使用返回值执行函数?例如
InputStream in = response.getEntity()。getContent(); //获取实体中的数据
public in(void) { //执行一个与变量“in”同名的函数 }