Android 为什么我的未绑定服务类是&x27;不行?

Android 为什么我的未绑定服务类是&x27;不行?,android,android-service,Android,Android Service,我试图使用服务unbound在数据库上创建一个表来实现这一点。但我没有得到回应。服务启动,当我检查数据库时,没有它的痕迹! 我的班级取消绑定服务: public class MyUnboundService extends Service { HttpClient httpClient = null; @Override public void onCreate() { Log.d("MY_UNBOUNDSERVICE", "onCreate()");

我试图使用
服务unbound
在数据库上创建一个表来实现这一点。但我没有得到回应。
服务
启动,当我检查数据库时,没有它的痕迹! 我的班级
取消绑定服务

public class MyUnboundService extends Service {
    HttpClient httpClient = null;

    @Override
    public void onCreate() {
        Log.d("MY_UNBOUNDSERVICE", "onCreate()");
        httpClient = new DefaultHttpClient();
    }
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Context context = this.getApplicationContext();

        Toast.makeText(context, "Start service", Toast.LENGTH_SHORT).show();
        Log.d("MY_UNBOUNDSERVICE", "onStartCommand(...)");

        String create = "CREATE TABLE IF NOT EXISTS test(id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, " +
                "name TEXT, forename TEXT)";

        List<NameValuePair> nameValuePairs = new ArrayList<>(1);
        nameValuePairs.add(new BasicNameValuePair("createTabell", create));
        new AsyncTaskTabell(this).execute(new Pair<>(nameValuePairs, httpClient));

        return Service.START_STICKY;
    }

    @Override
    public void onDestroy() {
        Log.d("MY_UNBOUNDSERVICE", "onDestroy(...)");
        Context context = this.getApplicationContext();
        Toast.makeText(context, "Stopper service", Toast.LENGTH_SHORT).show();
        super.onDestroy();
    }
}
我的代码有什么问题非常感谢您的帮助和建议,谢谢。 异步任务类:

public class AsyncTaskTabell extends AsyncTask<Pair<List<NameValuePair>, HttpClient>, Void, String> {

    private Context context = null;

    public AsyncTaskTabell(Context context) {
        this.context = context;
    }

    @Override
    protected String doInBackground(Pair<List<NameValuePair>, HttpClient>... params) {

        Pair pair = params[0];

        List<NameValuePair> urlParams = (List<NameValuePair>)pair.first;
        HttpClient httpClient = (HttpClient)pair.second;
        try {
            String serverURL = MainActivity.address + MainActivity.stringCommands[MainActivity.SF_POS];
            HttpPost httpPost = new HttpPost(serverURL);
            httpPost.setEntity(new UrlEncodedFormEntity(urlParams));

            HttpResponse response = httpClient.execute(httpPost);
            if (response.getStatusLine().getStatusCode() == 200) {
                return EntityUtils.toString(response.getEntity());
            }
            return "Wrong: " + response.getStatusLine().getStatusCode() + " " + response.getStatusLine().getReasonPhrase();

        } catch (ClientProtocolException e) {
            return e.getMessage();
        } catch (IOException e) {
            return e.getMessage();
        }
    }

    @Override
    protected void onPostExecute(String result) {
        Intent i = new Intent("pos").putExtra("theResult", result);
        LocalBroadcastManager.getInstance(context).sendBroadcast(i);
    }
} 
公共类AsyncTaskTabell扩展了AsyncTask{
私有上下文=null;
公共AsyncTaskTabell(上下文){
this.context=上下文;
}
@凌驾
受保护字符串DOINBACKGRAND(对…参数){
Pair Pair=params[0];
List urlParams=(List)pair.first;
HttpClient HttpClient=(HttpClient)pair.second;
试一试{
String serverURL=MainActivity.address+MainActivity.stringCommands[MainActivity.SF_POS];
HttpPost HttpPost=新的HttpPost(服务器URL);
setEntity(新的UrlEncodedFormEntity(urlParams));
HttpResponse response=httpClient.execute(httpPost);
if(response.getStatusLine().getStatusCode()==200){
返回EntityUtils.toString(response.getEntity());
}
返回“错误:”+response.getStatusLine().getStatusCode()+“”+response.getStatusLine().GetReasonPhase();
}捕获(客户端协议例外e){
返回e.getMessage();
}捕获(IOE异常){
返回e.getMessage();
}
}
@凌驾
受保护的void onPostExecute(字符串结果){
意向i=新意向(“位置”).putExtra(“结果”),结果;
LocalBroadcastManager.getInstance(context).sendBroadcast(i);
}
} 

您是否在
AndroidManifest.xml
文件中注册了您的服务? 尝试在
应用程序
元素中添加此行:

<service android:enabled="true"
         android:name=".MyUnboundService"/>


在数据库中创建表时,没有显示任何代码。从
字符串创建
,我使用
AsyncTaskTabell
将参数发送到我的
servlet
。这就是我想要做的:创建一个表!你看到你在onStartCommand()上登录的东西了吗?你是什么意思请解释清楚!onStartCommand()中有一个Log.d()语句。启动服务时,是否在logcat中看到输出?
<service android:enabled="true"
         android:name=".MyUnboundService"/>