Flash Builder 4.6プロジェクトでは、WebサイトのURLを参照するhttpサービスを定義しています。
私ができるようにしたいのは、アプリ内でWebサービスのURLをその場で変更することです。つまり、既存のURLをデフォルトとして使用しますが、管理者/設定画面を使用して、Webサービスが指す場所を変更します(sqliteデータベースまたはローカルメモリのいずれかに保存されます)。
これは、お客様が独自のバージョンのWebサイト/データベースをホストできるようにすると同時に、アプリストアからアプリを使用/ダウンロードできるようにするためです。
誰かがこれをした経験がありますか?
編集:以下のコメントの後にいくつかの詳細を追加します。
FlashBuilderウィザードを使用してHTTPサービスを作成すると、スーパークラスとスーパークラスから継承するサブクラスの2つのWebサービスクラスが作成されます。ウィザードが入力するすべてのコードは、スーパークラスに入ります。
入力する必要のあるコードはサブクラスにあると想定できます。しかし、どの関数をどのように配置するかはわかりません。
以下は、Superのコンストラクターのサンプルです。
// initialize service control
_serviceControl = new mx.rpc.http.HTTPMultiService("websitehere");
var operations:Array = new Array();
var operation:mx.rpc.http.Operation;
var argsArray:Array;
operation = new mx.rpc.http.Operation(null, "loginRequest");
operation.url = "login.php";
operation.method = "GET";
argsArray = new Array("un","pw");
operation.argumentNames = argsArray;
operation.serializationFilter = serializer0;
operation.properties = new Object();
operation.properties["xPath"] = "/";
operation.contentType = "application/x-www-form-urlencoded";
operation.resultType = valueObjects.Data;
operations.push(operation);
_serviceControl.operationList = operations;
_serviceControl変数のどのプロパティを変更する必要があるかわかりません。
また、コードでWebサイトを検索すると、.modelディレクトリ内に.fmlファイルが返されます。このファイルは、ウィザードでサービスのURLを変更すると自動的に更新されるようです。これは問題を引き起こしませんか?
次に、ユーザー定義のURLにアクセスするという課題があります。アプリ内では、sqliteデータベースを使用してデータを保存しますが、ログインしているアカウントを知るためにも使用する「SharedObject」を使用する方がおそらく良いと思います。これはどれくらい信頼できますか?サービスを介してこれにアクセスできると思いますか?
厄介なのは、ログイン後にアクセスされる設定画面でこれを構成できるようにすることを計画していたことです。しかし、ログインするには、どのサーバーを指すかをすでに知っている必要があります。