以下為android的範例
先create一個interface
package Printer;
public interface MessgaePrinter {
public String print();
}
接著create一個classpackage 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();
}
}
沒有留言:
張貼留言