以下為android的範例
先create一個interface
package Printer; public interface MessgaePrinter { public String print(); }接著create一個class
package Printer; public class HelloWorldPrinter implements MessgaePrinter{ /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } @Override public String print() { return "Hello World!"; } }接著將 檔案 export 成 jar 檔 export的file會在 project路徑底下
接著使用 cmd 將 java 轉成android可識別的檔案
在資料夾 sdk\build-tools\android-4.2.2 底下打入
dx --dex --output=test.jar printer.jar
接著在要執行的地方打入
public class MainActivity extends Activity { @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DexClassLoader cl = new DexClassLoader("FilePath", "FilePath", null, getClassLoader()); try { Class dynamiclib = cl.loadClass("Printer.HelloWorldPrinter"); MessgaePrinter lib = (MessgaePrinter)dynamiclib.newInstance(); Log.d("Ted",lib.print()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
沒有留言:
張貼留言