Window下的开发环境
安装pydew插件PyDev 2.6.0:
下载地址:
http://sourceforge.net/projects/pydev/files/
解压后将features和plugins放到eclipse同名目录下,亲一懂的
starcore_devfiles_r7.zip
下载地址:
http://code.google.com/p/cle-for-android/downloads/detail?name=starcore_devfiles_r80.zip&can=2&q=
Wrapandroid.jar
下载地址:
http://code.google.com/p/wrapandroid-for-multilanguage/downloads/detail?name=wrapandroid_devfiles_0_9_0.rar&can=2&q=
在工程中导入starcore_devfiles_r7.jar和wrapandroid.jar
异入共享库文件,在~\python\starcore_devfiles_r7\so\armeabiv7a目录下的.so文件放到工程的(libs/armeabi)目录下
示例程序:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lay_main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/txt_info"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/btn_click"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Python first demo!" />
</LinearLayout>
/**
* first python demo
*
* @time 下午12:00:39
* @author retacn yue
* @Email [email protected]
*/
public class PythonDemoActivity extends WrapAndroidActivity {
Button btn_click;
TextView txv_info;
@Override
public void onCreate(Bundle savedInstanceState) {
DownloadFromNetFlag = false;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 这是加载库文件
// StarActivity._Call("DoFile","",
// "/data/data/"+getPackageName()+"/lib/libCode.so");
StarActivity._Call("DoAssetsFile", "python", "pythontest.py");
// findView(); }
/**
* 实例化控件
*/
@SuppressWarnings("unused")
private void findView() {
txv_info = (TextView) this.findViewById(R.id.txt_info);
btn_click = (Button) this.findViewById(R.id.txt_info);
}
}
Pythontest.py文件(assets目录下)
SrvGroup = libstarpy._GetSrvGroup()
Service = SrvGroup._GetService("", "")
StarActivity = Service.ActivityClass.getCurrent();
MyText = StarActivity.findViewById("TextViewClass", StarActivity.getResource("id/txt_info"));
MyText.setText("from layout");
MyButton = StarActivity.findViewById("ButtonClass", StarActivity.getResource("id/btn_click"));
def MyButton_onClick(self, Ev) :
Service.ToastClass._New().makeText("Button clicked", 1).show();
MyButton.onClick = MyButton_onClick;
MyButton.setOnClickListener();
MyLinearLayout = StarActivity.findViewById("LinearLayoutClass", StarActivity.getResource("id/lay_main"));
MyDynaButton = Service.ButtonClass._New(MyLinearLayout);
def MyDynaButton_onClick(self, Ev) :
Service.ToastClass._New().makeText("MyDynaButton clicked", 1).show();
MyDynaButton.onClick = MyDynaButton_onClick;
MyDynaButton.setOnClickListener();
MyDynaButton.setText("created dynamically");
MyDynaButton.setLinearLayoutParams(300, 80);