0

Google で検索しましたが、Flex モバイルの投稿が見つかりませんでした。今のところ、ユーザーがアプリを初めて使用するときに、TabbedViewNavigatorApplication からユーザー同意ポップアップを表示するだけです。

var agreementView: UserAgreement = new UserAgreement();
PopUpManager.addPopUp(agreementView, this,true);
PopUpManager.centerPopUp(agreementView);

でも多分もっと後で。

助けてください..

4

2 に答える 2

1

デスクトップエアアプリで何をしたか; これはモバイルアプリでも機能すると思います。

書き込みアクセス権があることを確認してください。yourproject-app.mxml を開き、ドキュメントの最後までスクロールします。セクションで、次の権限のコメントを外します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

これで、たとえば sqlite データベースのようなファイルを作成できます。

applicationcomplete で関数 checkFirstRun を呼び出します。

    //  functions to check if the application is run for the first time (also after updates)
    // so important structural changes can be made here.
    public var file:File;
    public var currentVersion:Number;   
    private function checkFirstRun():void
    {
    //get the current application version.
    currentVersion=getApplicationVersion();

        //get versionfile
        file = File.applicationStorageDirectory;
        file= file.resolvePath("Preferences/version.txt");
        if(file.exists)
        {
            checkVersion();
        }
        else
        {
            firstRun(); // create the version file.
        }
    }

        public function getApplicationVersion():Number
        {
            var appXML:XML = NativeApplication.nativeApplication.applicationDescriptor;
            var ns:Namespace = appXML.namespace();
            var versionnumber:Number =Number(appXML.ns::versionNumber);
            return versionnumber;       
        }
private function checkVersion():void
{
    var stream:FileStream= new FileStream();
    stream.open(file,FileMode.READ);
    var prevVersion:String = stream.readUTFBytes(stream.bytesAvailable);
    stream.close();
    if(Number(prevVersion)<currentVersion)
    {
        // if the versionnumber inside the file is older than the current version we go and run important code.
        // like alternating the structure of tables inside the sqlite database file.
        runImportantCode();

        //after running the important code, we set the version to the currentversion. 
        saveFile(currentVersion);
    }   
}
private function firstRun():void
{
    // at the first time, we set the file version to 0, so the important code will be executed. 
    var firstVersion:Number=0;
    saveFile(firstVersion);

    // we also run the checkversion so important code is run right after installing an update
    //(and the version file doesn't exist before the update).
    checkFirstRun();
}

private function saveFile(currentVersion:Number):void
{
    var stream:FileStream=new FileStream();
    stream.open(file,FileMode.WRITE);
    stream.writeUTFBytes(String(currentVersion));
    stream.close();
}


private function runImportantCode():void
{
    // here goes important code.
    // make sure you check if the important change previously has been made or not, because this code is run after each update.

}

お役に立てれば。はじめまして、J.

于 2012-07-24T09:26:01.950 に答える
0

ユーザーが契約に同意したかどうかを保存する必要があるものもあります。彼らが同意していない場合は、それを示してください。

これを行う 1 つの方法は、共有オブジェクトに値を格納することです。これを行う別の方法は、リモート サービスを使用して、そのようなデータを中央リポジトリに保存することです。2番目が必要になると思います。そのため、アプリを使用しているユーザー数に対して何らかの形で追跡を行うことができます。

于 2012-04-28T14:03:17.157 に答える