解决方案 »
- 请教如何从Thread中调用Activity里的方法?谢谢
- 新手求助,怎样在一个已经设置好的xml中添加矩形或直线、虚线
- socket通信的聊天软件上的聊天记录的处理方式
- android模拟器运行一个程序时打印出以下信息,大家给看下
- 读取网页内容,BufferedReader.readLine()始终返回null,同样代码在Java工程里面正常工作
- 加Android源代码到eclipse,出现ParameterInfo.java could not be read错误
- 请求高手帮助
- 使用shape的xml作为布局的背景,使用时常常被压缩
- 手机QQ的用户头像时怎么获得的?
- android 项目 bin目录下 所有文件显示红色x
- EditText 里显示图片问题
- 本人想学android,但是没有java基础,会不会很难啊?
#include "ximage.h"
#include <linux/bitmap.h>ResourceMgr* ResourceMgr::Instance()
{
static ResourceMgr instance;
return &instance;
}ResourceMgr::ResourceMgr()
{
}
bool ResourceMgr::Setjobj(JNIEnv* env,jobject obj)
{
jResMgrObj=obj;
return TRUE;
}char * ResourceMgr::GetBmp(JNIEnv* env,jobject obj)
{
jclass jResMgr;
jmethodID jID;
LOGI("ready to find java class");
jResMgr=env->FindClass("com/test/w4e/w4e");
if (jResMgr==NULL)
{
LOGI("java class not found");
return NULL;
}
else
{
LOGI("java class found");
jfieldID fid = env->GetStaticFieldID(jResMgr, "res","Landroid/content/res/Resources;");
if (fid!=NULL)
{
jobject res = env->GetStaticObjectField(jResMgr, fid);
if (res==NULL)
{
LOGI("NULL RES");
}
else
{
LOGI("get res successed");
jID=env->GetMethodID(jResMgr,"PostBmptoJni","(Landroid/content/res/Resources;I)Z");
if (jID!=0)
{
LOGI("java method found ID=%d",jID);
jint ji=0x7f020003;
jobject ob=env->AllocObject(jResMgr);
LOGI("ready to call java method");
jboolean bl=env->CallBooleanMethod(ob,jID,res,ji);
LOGI("call java method complete");
}
else
{
LOGI("java methord not found");
}
}
}
}
return NULL;
}
public boolean PostBmptoJni(Resources res1,int ID){
Log.i("w4e","this is from MyResMgr of Java ID="+ID);
Bitmap bmp=null;
if (res1==null)
{
Log.i("w4e","null res pointer");
}
else
{
bmp=BitmapFactory.decodeResource(res1,ID);
Log.i("w4e","not null res pointer");
}
if (bmp!=null)
{
Log.i("w4e","get bmp1 successed");
int w=bmp.getWidth();
int h=bmp.getHeight();
String jstr=bmp.toString();
int sz=jstr.length();
}
else
{
Log.i("w4e","empty bmp1");
}
return true;
}public static Resources res;