package cn.edu.zafu.atlasdemo; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.View; import android.widget.Toast; import com.openatlas.framework.Atlas; import com.openatlas.framework.BundleImpl; import org.osgi.framework.BundleException; import java.io.File; import cn.edu.zafu.corepage.core.CoreConfig; import zafu.edu.cn.atlasdemo.R; public class MainActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CoreConfig.setIsOpenAtlas(true); ClassLoader bundleClassLoader = Atlas.getInstance().getBundleClassLoader("com.lizhangqu.fragment"); CoreConfig.setBundleClassLoader(bundleClassLoader); //Log.e("TAG",""+bundleClassLoader); //openPage("test", null, CoreAnim.none); findViewById(R.id.test).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClassName(MainActivity.this, "com.lizhangqu.test.MainActivity"); startActivity(intent); } }); findViewById(R.id.qrcode).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClassName(MainActivity.this, "com.lizhangqu.zxing.android.CaptureActivity"); startActivity(intent); } }); findViewById(R.id.fragment).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClassName(MainActivity.this, "com.lizhangqu.fragment.MainActivity"); startActivity(intent); } }); findViewById(R.id.component).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClassName(MainActivity.this, "cn.edu.zafu.component.MainActivity"); startActivity(intent); } }); findViewById(R.id.update).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { File file=new File("/sdcard/test-openatlas-debug.apk"); if (!file.exists()){ Toast.makeText(MainActivity.this, "Test Update pkg not exist", Toast.LENGTH_LONG).show(); } try { Atlas.getInstance().updateBundle("com.lizhangqu.test",file); } catch (BundleException e) { e.printStackTrace(); } } }); findViewById(R.id.restore).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Atlas.getInstance().restoreBundle(new String[]{"com.lizhangqu.test"}); } }); findViewById(R.id.install).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { File file=new File("/sdcard/test-openatlas-debug.apk"); if (!file.exists()){ Toast.makeText(MainActivity.this, "Test Update pkg not exist", Toast.LENGTH_LONG).show(); } Atlas.getInstance().installBundle("com.lizhangqu.test1",file); } catch (BundleException e) { e.printStackTrace(); } } }); findViewById(R.id.uninstall).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { Atlas.getInstance().uninstallBundle("com.lizhangqu.test1"); } catch (BundleException e) { e.printStackTrace(); } } }); try { BundleImpl bundle = (BundleImpl)Atlas.getInstance().getBundle("com.lizhangqu.test"); bundle.startBundle(); ClassLoader cl = Atlas.getInstance().getBundleClassLoader("com.lizhangqu.test"); Fragment fragment=(Fragment)cl.loadClass("com.lizhangqu.test.TestFragment").newInstance(); FragmentManager supportFragmentManager = getSupportFragmentManager(); FragmentTransaction transaction=supportFragmentManager.beginTransaction(); transaction.add(R.id.plugin_container,fragment,"testFragment"); transaction.commit(); } catch (Exception e) { e.printStackTrace(); } } }