Sebelum menggunakan kerangka kerja mPaaS, Anda harus menginisialisasi objek Aplikasi tergantung pada apakah fitur Hotpatch diaktifkan. Topik ini menjelaskan proses inisialisasi untuk kedua skenario tersebut.
Ketika Hotpatch dinonaktifkan
Jika fitur Hotpatch dinonaktifkan, cukup tambahkan kode berikut ke objek Aplikasi.
@Override
public void onCreate() {
super.onCreate();
MP.init(
this,
MPInitParam.obtain().setCallback(new MPInitParam.MPCallback() {
@Override
public void onInit() {
Log.d("TAG", "mPaaS Init finish");
}
})
);
}Jika Anda mengintegrasikan Kotlin, Anda dapat menggunakan mPaaS Kotlin Extension dari mPaaS KTX yang disediakan oleh mPaaS.
Jika Anda perlu tetap menggunakan metode inisialisasi QuinoxlessFramework, panggilan Anda tidak akan terpengaruh dan tidak diperlukan perubahan pada kode atau bisnis.
Pastikan untuk tidak menyaring proses sebelum menggunakan metode MP.init. Selain proses utama, kode inisialisasi juga harus dieksekusi di proses anak alat dan push.
Ketika Hotpatch diaktifkan
Jika fitur Hotpatch diaktifkan, ikuti langkah-langkah berikut.
Prosedur
Di objek Aplikasi, warisi ulang
QuinoxlessApplicationLikedan kecualikan kelas ini dari pengaburan. Dalam contoh berikut, objek MyApplication digunakan sebagai referensi.@Keep public class MyApplication extends QuinoxlessApplicationLike implements Application.ActivityLifecycleCallbacks { private static final String TAG = "MyApplication"; @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); Log.i(TAG, "attacheBaseContext"); } @Override public void onCreate() { super.onCreate(); Log.i(TAG, "onCreate"); registerActivityLifecycleCallbacks(this); } @Override public void onMPaaSFrameworkInitFinished() { LoggerFactory.getTraceLogger().info(TAG, getProcessName()); } @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { Log.i(TAG, "onActivityCreated"); } @Override public void onActivityStarted(Activity activity) { } @Override public void onActivityResumed(Activity activity) { } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) { } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { }}Di file
AndroidManifest.xml, pastikan objek Aplikasi mewarisi objekAplikasiyang disediakan oleh mPaaS. Kemudian, tambahkan kelas MyApplication yang dihasilkan ke dalammeta-datadengan kuncimpaas.quinoxless.extern.application. Berikut adalah contoh kode untuk referensi.<application android:name="com.alipay.mobile.framework.quinoxless.QuinoxlessApplication" > <meta-data android:name="mpaas.quinoxless.extern.application" android:value="com.mpaas.demo.MyApplication" /> </application>Impor klien Apache HTTP.
Saat menggunakan Panggilan Prosedur Jarak Jauh (RPC) atau Hotpatch, Anda perlu memanggil fitur-fitur dari klien Apache HTTP. Oleh karena itu, tambahkan kode berikut ke file
AndroidManifest.xml. Untuk informasi lebih lanjut, lihat Gunakan klien Apache HTTP.<uses-library android:name="org.apache.http.legacy" android:required="false"/>