1

Androidアプリケーションでデータベースを作成するためにウィンドウアズールモバイルサービスを使用しています。テーブル内のすべての詳細にアクセスするためにサードパーティのライブラリを提供しましたが、これらのライブラリにはデータベースのSQL言語のような同じメソッドがないため、非常に複雑なクエリを実行する必要があります。「id」という名前の列があるように、選択した列の異なる値に基づいて複数のレコードをフェッチする必要があり、ID 1、3、7、および10のレコードをフェッチする必要があるという問題に悩まされています。このサードパーティのライブラリを使用した経験のある人はいますか。なじみのある経験があれば教えてください。

前もって感謝します。

4

2 に答える 2

4

Android SDK for Azure Mobile Services には、SQL に似たクエリを作成できるクエリ言語があります。具体的な例については、次のようにします。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    try {
        mClient = new MobileServiceClient(
                  "https://YOUR_AZURE_MOBILE_SERVICE.azure-mobile.net/",
                  "YOUR_APPLICATION_KEY",
                  this
            );
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    Button btn = (Button)findViewById(R.id.button1);
    final TextView tv = (TextView)findViewById(R.id.textView1);
    btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            MobileServiceTable<Person> table = mClient.getTable("Test", Person.class);
            table.where(
                field("id").eq(1)
                .or(field("id").eq(3))
                .or(field("id").eq(7))
                .execute(new TableQueryCallback<Person>() {

                @Override
                public void onCompleted(List<Person> result, int count,
                        Exception exception, ServiceFilterResponse response) {

                    if (exception != null) {
                        tv.setText(exception.toString());
                    } else {
                        StringBuffer sb = new StringBuffer();
                        for (Person p : result) {
                            sb.append("P[name=");
                            sb.append(p.name);
                            sb.append(",age=");
                            sb.append(p.age);
                            sb.append("],");
                        }

                        tv.setText(sb.toString());
                    }
                }
            });
        }

    });
}

知る限り、ドキュメントはまだ公開されていますが、https://github.com/WindowsAzure/azure-mobile-services/blob/master/sdk/android/test/sdk.testapp.tests/src/でいくつかの例を見ることができます。 com/microsoft/windowsazure/mobileservices/sdk/testapp/test/MobileServiceQueryTests.java .

于 2013-03-20T18:40:45.027 に答える
0

Android と Windows Azure の間で通信を行う方法はいくつかあります。これは、WCF (Windows Communication Foundation) を使用して Android にサービスの URL を渡すか、モバイル サービス (動的データ スキーマ) またはNode JS を使用して Windows Azure のストレージ アカウントにリンクします。

WCF を開始するためのリンクは次のとおりです: http://msdn.microsoft.com/en-us/library/ms734712.aspx

Windows Azure モバイル サービスを開始するためのリンクは次のとおりです: http://www.windowsazure.com/en-us/develop/mobile/

Node JS http://www.windowsazure.com/en-us/documentation/#から開始するためのリンクは次のとおりです。

于 2013-03-20T15:16:22.900 に答える