0

アンドロイドでは、定義済みの時間にデータベースにアクセスしようとしています。私のアプリケーションでは、単純な Android サービスを実行し、その中で特定の時間に外部データベース (MySQL) をチェックしたいと考えています。データベースにアクセスするためにJava Webサービスを使用しています。

public class DBService extends Service {

private static final String SOAP_ACTION = "http://dbconnectivity.com/test/";
private static final String METHOD_NAME = "test";
private static final String NAMESPACE = "http://dbconnectivity.com";
private static final String URL = "http://10.0.2.2:8089/DB_Connectivity/services/SqlConnectivity?wsdl";
String str;
@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void onCreate() {
    super.onCreate();

    //Toast.makeText(this, "Test", Toast.LENGTH_LONG).show();
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);          
    request.addProperty("time",0);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.setOutputSoapObject(request);

    HttpTransportSE ht = new HttpTransportSE(URL);
    try {
        ht.call(SOAP_ACTION, envelope);
        SoapPrimitive response = (SoapPrimitive)envelope.getResponse();

        SoapPrimitive s = response;
        str = s.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }
    Toast.makeText(this, "Test "+str, Toast.LENGTH_LONG).show();
}

@Override
public void onDestroy() {
    super.onDestroy();
    Toast.makeText(this, "Service destroyed ...", Toast.LENGTH_LONG).show();
}

}

このタスクの実行方法

4

1 に答える 1

0

AlarmManager クラスを確認するか、このチュートリアルを確認し、指定された時間に mysql サーバーに対して http ポーリングを実行します (Android は直接 DB 接続をサポートしていないため、MySQL から結果を返すにはいくつかの php スクリプトが必要です)。

于 2012-07-10T09:52:04.150 に答える