Android ndk下用AssetManager读取assets的资源
转自:http://www.cppblog.com/johndragon/archive/2012/12/28/196754.html
在Android ndk api level 9 之后,提供了一套称为 AssetManager 的api。
static AAssetManager * gAssetMgr = NULL; extern "C" { void Java_org_cocos2dx_lib_Cocos2dxActivity_nativeSetAssetManager(JNIEnv* env, jclass cls, jobject assetManager) { gAssetMgr = AAssetManager_fromJava( env, assetManager ); } };
读取资源的方法如下
do{ AAsset * pAsset = AAssetManager_open(gAssetMgr, pszFileName, AASSET_MODE_UNKNOWN); if( pAsset == NULL ) break; size_t size = AAsset_getLength(pAsset); if( size > 0 ) { pData = new unsigned char[size]; int iRet = AAsset_read( pAsset, pData, size); if( iRet <= 0 ) { delete [] pData; pData = NULL; } } AAsset_close(pAsset); if( pAsset == NULL ) size = 0; if( pSize ) *pSize = size; } while(0);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。