我已经编写了一项服务要在数据输入时从表中删除数据(tblTest),如下所示
public class service_helper extends Service {
private DatabaseAdapter dbAdapter;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this,"Service created ...", Toast.LENGTH_LONG).show();
dbAdapter = new DatabaseAdapter(this);
dbAdapter.open();
String sqlTransaction = "Select test from tblTest where test > ?";
dbAdapter = new DatabaseAdapter(this); dbAdapter.open();
Cursor cursorTransaction = dbAdapter.ExecuteRawQuery(sqlTransaction, "-1");
for (int i = 0; i < cursorTransaction.getCount(); i++) {
String sql = "DELETE FROM tblTest WHERE test=" + i + " ";
dbAdapter.ExecuteQuery(sql);
}
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed ...", Toast.LENGTH_LONG).show();
}
}
我已经在主要活动的创建中启动了服务,如下所示
startService(new Intent(this,service_helper.class));
问题在于,由于服务已经陈述,我无法在我的应用程序中做任何事情。我无法从我的主表单导航。这是实现服务的正确方法吗?
任何人都会帮助我
答案 0 :(得分:0)
您需要实施回调才能恢复活动 请参考Service call backs to activity in android链接
希望它会对你有所帮助。
答案 1 :(得分:0)
我在可运行的线程中写了删除并在服务中调用