
正文
iapp调用java代码 ios调用jar
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何在 Java 中调用 Python 代码
可以用Python的扩展来实现。Python本来是C实现的,封装二进制兼容的C++是很容易的。Java的话得通过JNI来实现,就是说在Python扩展里用C调用Java。另外,也可以写一个TCP服务来包装C++/Java的接口,通过网络来调用,这样更通用。
相关问答
Q1: iapp 获取当前软件版本号
第一步:
创建一个名叫java的mjava模块
写入代码:
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.Context;
import android.view.Window;
public 获取本软件版本号(){
Window win=activity.getWindow();
Context con=win.getContext();
PackageInfo pi=con.getPackageManager().getPackageInfo(con.getPackageName(),0);
return pi.versionName;
}
第二步:
call调用(下面代码放入界面事件或控件事件,根据自己需要)
写入下面代码:
call(bbh,"mjava","java.获取本软件版本号")
tw(bbh)
Q2: iapp 调用图库图片
iapp 调用图库选择图片
javags(agc,"android.content.Intent","android.content.Intent.ACTION_GET_CONTENT")
javanew(it,"android.content.Intent","String",agc)
java(c,it,"android.content.Intent.setType","String","image/*")
javags(ca,"android.content.Intent","android.content.Intent.CATEGORY_OPENABLE")
java(c,it,"android.content.Intent.addCategory","String",ca)
java(c,activity,"android.app.Activity.startActivityForResult","android.content.Intent",it,"int",2)
回调事件javags(er,activity,"android.app.Activity","RESULT_OK")
f(st_lC==er)
{
f(st_sC==2)
{
java(uri,st_iT,"android.content.Intent.getData")
call(path, "mjava", "uri.getRealPath", activity, uri)
fdir(a)
ss(a+"/",a)
sr(path,a,"%",path)
us(控件id,"src",path)
}
}
uri.mjava
import android.content.ContentUris;
import android.content.Intent;
import android.net.Uri;
import android.provider.DocumentsContract;
import android.provider.MediaStore;
import android.database.Cursor;
import android.content.Context;
public static String getRealPath(Context context, Uri uri)
{
String imagePath = null;
if(DocumentsContract.isDocumentUri(context, uri))
{
String docId = DocumentsContract.getDocumentId(uri);
if ("com.android.providers.media.documents".equals(uri.getAuthority()))
{
String id = docId.split(":")[1];
String selection = MediaStore.Images.Media._ID + "=" + id;
imagePath = getImagePath(context, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, selection);
}
else if ("com.android.providers.downloads.documents".equals(uri.getAuthority()))
{
Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(docId));
imagePath = getImagePath(context, contentUri, null);
}
}
else if("content".equalsIgnoreCase(uri.getScheme()))
{
imagePath = getImagePath(context, uri, null);
}
else if("file".equalsIgnoreCase(uri.getScheme()))
{
imagePath = uri.getPath();
}
return imagePath;
}
public String getImagePath(Context context, Uri uri, String selection)
{
String path = null;
Cursor cursor = context.getContentResolver().query(uri, null, selection, null, null);
if (cursor != null)
{
if (cursor.moveToFirst())
{
path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
}
cursor.close();
}
return path;
}
Q3: python怎么调用java程序
把java封装成restful接口,然后python通过远程调用数据。
使用Pyjnius这个python库。
#源代码:github.com/kivy/pyjnius
#文档:pyjnius.readthedocs.org
#也有其他一些的库,如 JPype 或 Py4j ,它们在设计和可用性方面都不是很好。而使用 Jython也不为另一种选择,因为我们想使用 python开发Android项目。
#现在就让我来告诉你,如何简单的使用Pyjnius:
from jnius import autoclass
Stack = autoclass('java.util.Stack')
stack = Stack()
stack.push('hello')
stack.push('world')
stack.pop()
'world'
stack.pop()
'hello'
关于iapp调用java代码和ios调用jar的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





