7: 2016-06-27 (月) 17:09:21 njf[6] [7] [8] | 現: 2018-01-04 (木) 21:28:37 njf[6] [9] [10] | ||
---|---|---|---|
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) { | ||
Line 303: | Line 304: | ||
-[[AndroidでのANEの作成]]に戻る | -[[AndroidでのANEの作成]]に戻る | ||
- | -[[AndroidでのANEの作成2_swcの作成]]に進む | + | -[[AndroidでのANEの作成/swcの作成]]に進む |
(This host) = https://njf.jp