Ad
8: 2016-07-25 (月) 04:42:06 njf ソース バックアップ No.8 を復元して編集 現: 2018-01-04 (木) 22:28:37 njf ソース 編集
Line 4: Line 4:
*プロジェクトの作成 [#v878cca4] *プロジェクトの作成 [#v878cca4]
-まずAndroid Studioでプロジェクトを作成します。 +まずAndroid Studioでテスト用にAndroidで実行するためのプロジェクトを作成します。 
-Android Studio起動後に「Start a new Android Studio project」を選択します。+具体的には、ボタンを押すとアラート画面が表示されるアプリです。 
 + 
 +まずAndroid Studio起動後に「Start a new Android Studio project」を選択します。
&ref(asstart.jpg,mw:480,mh:360); &ref(asstart.jpg,mw:480,mh:360);
Line 30: Line 32:
*テスト用ボタンの設置 [#gf75d92b] *テスト用ボタンの設置 [#gf75d92b]
-ANEの作成はけっこう面倒なので、Android上で出来るテストは出来るだけ行ってから、ANEの作成にうつった方が効率的です。そのためのテスト用ボタンを設置します。+ANEの作成はけっこう面倒です。それを何度もやらなくてすむように、Android上でテストはできるだけ行ってから、ANEの作成にうつった方が効率的です。そのためのテスト用ボタンを設置します。
まず、左側のナビゲーションから「aap/res/layout/activity_main.xml」を選択します。 まず、左側のナビゲーションから「aap/res/layout/activity_main.xml」を選択します。
Line 56: Line 58:
作成したボタンを押すとアラート画面が表示されるようにします。 作成したボタンを押すとアラート画面が表示されるようにします。
このままjavaフォルダ以下に処理を書いても良いのですが、そうするとActivityなどのテスト用に作ったものまでjarファイルに含まれてしまいます。 このままjavaフォルダ以下に処理を書いても良いのですが、そうするとActivityなどのテスト用に作ったものまでjarファイルに含まれてしまいます。
-万が一、テスト用のコードが動いてしまうようなことが無いようにここでは別にライブラリを作成します。 +万が一にもテスト用のコードが動いてしまうようなことがないように、ここではAcitivityを含まないライブラリを別に作成します。 
-テスト用のコードがANEに入ったままでも通常は害が無く、ライブラリを作成せずにANEをつくることも可能ですので、面倒な人はそのままjavaフォルダ以下にANEの処理をするクラスを作成しても良いでしょう。ただし、ライブラリの作成は簡単なのでさほど手間が省けるわけではありませんし、整理のためにも別ライブラリにしておいた方が便利です。+テスト用のコードがANEに入ったままでも通常は害がなく、ライブラリを作成せずにANEをつくることも可能ですので、面倒な人はそのままjavaフォルダ以下にANEの処理をするクラスを作成しても良いでしょう。ただし、ライブラリの作成は簡単なのでさほど手間が省けるわけではありませんし、整理のためにも別ライブラリにしておいた方が便利です。
Android StudioでFile->New->New Moduleを選択します。 Android StudioでFile->New->New Moduleを選択します。
Line 74: Line 76:
&ref(newlibrarynavigator.jpg,mw:480,mh:360); &ref(newlibrarynavigator.jpg,mw:480,mh:360);
- 
*主処理の追加とAndroidアプリとしてのテスト [#n6d6c2ec] *主処理の追加とAndroidアプリとしてのテスト [#n6d6c2ec]
Line 88: Line 89:
 package njf.jp.anealert;  package njf.jp.anealert;
 + 
 import android.app.Activity;  import android.app.Activity;
 import android.app.AlertDialog;  import android.app.AlertDialog;
 + 
 public class ANEAlert {  public class ANEAlert {
     private Activity activity;      private Activity activity;
Line 106: Line 107:
             alertDialog.show();              alertDialog.show();
         }          }
 + 
     }      }
 + 
 }  }
Line 125: Line 126:
 package njf.jp.anealertsample;  package njf.jp.anealertsample;
 + 
 import android.support.v7.app.AppCompatActivity;  import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;  import android.os.Bundle;
 import android.view.View;  import android.view.View;
 import android.widget.Button;  import android.widget.Button;
 + 
 import njf.jp.anealert.ANEAlert;  import njf.jp.anealert.ANEAlert;
 + 
 public class MainActivity extends AppCompatActivity {  public class MainActivity extends AppCompatActivity {
     private ANEAlert aneAlert;      private ANEAlert aneAlert;
Line 140: Line 141:
         super.onCreate(savedInstanceState);          super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);          setContentView(R.layout.activity_main);
 + 
         aneAlert = new ANEAlert(this);          aneAlert = new ANEAlert(this);
         Button button = (Button) findViewById(R.id.showAlertButton);          Button button = (Button) findViewById(R.id.showAlertButton);
Line 150: Line 151:
                                           aneAlert.showAlert("Android",alertCounter + " times!");                                            aneAlert.showAlert("Android",alertCounter + " times!");
                                       }                                        }
 + 
                                   }                                    }
         );          );
 + 
     }      }
 }  }
Line 202: Line 203:
 package njf.jp.anealert;  package njf.jp.anealert;
 + 
 import com.adobe.fre.FREContext;  import com.adobe.fre.FREContext;
 import com.adobe.fre.FREExtension;  import com.adobe.fre.FREExtension;
Line 208: Line 209:
 import java.util.HashMap;  import java.util.HashMap;
 import java.util.Map;  import java.util.Map;
 + 
 public class ANEAlertFREExtension implements FREExtension {  public class ANEAlertFREExtension implements FREExtension {
     @Override      @Override
Line 219: Line 220:
                 return result;                  return result;
             }              }
 + 
             @Override              @Override
             public void dispose() {              public void dispose() {
 + 
             }              }
         };          };
         return context;          return context;
     }      }
 + 
     @Override      @Override
     public void dispose() { }      public void dispose() { }
 + 
     @Override      @Override
     public void initialize() { }      public void initialize() { }
Line 241: Line 242:
 package njf.jp.anealert;  package njf.jp.anealert;
 + 
 import android.app.Activity;  import android.app.Activity;
 import android.util.Log;  import android.util.Log;
Line 247: Line 248:
 import com.adobe.fre.FREFunction;  import com.adobe.fre.FREFunction;
 import com.adobe.fre.FREObject;  import com.adobe.fre.FREObject;
 + 
 public class ANEAlertFREFunction implements FREFunction {  public class ANEAlertFREFunction implements FREFunction {
     private ANEAlert aneAlert;      private ANEAlert aneAlert;
 + 
     @Override      @Override
     public FREObject call(FREContext freContext, FREObject[] freObjects) {      public FREObject call(FREContext freContext, FREObject[] freObjects) {


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 3267, today: 2, yesterday: 0
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF