现在解决 程序如下所示:



1、采用 jni 转让 java 办法 启动专辑选择框

2、采用java得到的图片将被保存到本地

3、采用Cocos2d-x于 CCImage 阅读



JAVA码如下面:



    //启动图片选择框

      private void launchCamera()

      {

          // TODO Auto-generated method stub

          Intent intent = new Intent();

          intent.setType("image/*");//set intent type

          intent.setAction(Intent.ACTION_GET_CONTENT);

          

          //取得图片信息返回MainActivity                

          startActivityForResult(intent,1);

      }

      

      //图片选择回调

      protected void onActivityResult(int requestCode,int resultCode,Intent data)

      {

          if(resultCode==RESULT_OK)

          {

              Uri uri = data.getData();

              

              //通过URI获取图片绝对地址            

              String[] proj = { MediaStore.Images.Media.DATA };

              

              Cursor cursor = managedQuery(uri,proj,null,null,null);

              

              int actual_image_column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

              

              //游标跳到首位,防止越界            

              cursor.moveToFirst();

              

              String img_path = cursor.getString(actual_image_column_index);

        

              //通过地址获得位图信息            

              Bitmap bitmap =BitmapFactory.decodeFile(img_path);                

              

              saveMyBitmap("001", bitmap);

              

           }

          

      }



      //保存图片到本地

      private void saveMyBitmap(String bitName,Bitmap mBitmap) 

      {

              File f = new File("/sdcard/" + bitName + ".png");

              try {

                      

                      f.createNewFile();

                      

              } catch (IOException e) {

               // TODO Auto-generated catch block

                      

              }

              

              FileOutputStream fOut = null;

              try {

              

                      fOut = new FileOutputStream(f);

                      

              } catch (FileNotFoundException e) {

               

                      e.printStackTrace();

              }

              

              mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);

              

              try {

              

                      fOut.flush();

                      

              } catch (IOException e) {

               

                      e.printStackTrace();

              }

              

              try {

               

                      fOut.close();

                      

              } catch (IOException e) {

               

                      e.printStackTrace();

              }

              

      }

      





C++代码例如以下:



//读取本地存储数据

CCSprite* LoadingLayer::loadImage()

{

    CCSprite* tempsprite = NULL;

    

    const char* path = "/sdcard/001.png";

    FILE* fp = fopen(path, "rb");

    if (!fp)

    {

        return tempsprite;

    }

    

    fseek(fp,0,SEEK_END);

    int len = ftell(fp);

    fseek(fp,0,SEEK_SET);

    char* buf = (char*)malloc(len);

    fread(buf,len,1,fp);

    fclose(fp);

    

    if(len==0 || buf==NULL)

    {

        return tempsprite;

    }

    

    CCImage* img = new CCImage;

    img->initWithImageData(buf,len);

    free(buf);

    cocos2d::CCTexture2D* texture = new cocos2d::CCTexture2D();

    texture->initWithImage(img);

    img->release();

    tempsprite = CCSprite::createWithTexture(texture);

    texture->release();

    

    return tempsprite;

    

}

android台 cocos2d-x 翻阅相册数据的更多相关文章

  1. Android 7.0+相机、相册、裁剪适配问题

    Android 7.0+相机.相册.裁剪适配问题 在manifest中: <provider android:name="android.support.v4.content.File ...

  2. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  3. Android开发中Bundle用法包裹数据(转)

    Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...

  4. Android Volley和Gson实现网络数据加载

    Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...

  5. I.MX6 Android Linux shell MMPF0100 i2c 设置数据

    #!/system/bin/busybox ash # # I.MX6 Android Linux shell MMPF0100 i2c 设置数据 # 说明: # 本文主要记录通过shell脚本来设置 ...

  6. I.MX6 Android Linux shell MMPF0100 i2c 获取数据

    #!/system/bin/busybox ash # # I.MX6 Android Linux shell MMPF0100 i2c 获取数据 # 说明: # 本文主要记录通过shell脚本来获取 ...

  7. android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下   首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...

  8. 【Android 复习】 : Activity之间传递数据的几种方式

    在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...

  9. (转)android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下       首先客户端从服务器端获取json数据 1.利用HttpUrlConnection   复制代码 ...

随机推荐

  1. leetcode——Evaluate Reverse Polish Notation 求算式值(AC)

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  2. Sails.js中文文档

    Sails.js中文文档   http://sailsdoc.swift.ren/ Sails.js是一个Web框架,可以于轻松构建自定义,企业级Node.js Apps.它在设计上类似于像Ruby ...

  3. —页面布局实例———win7自己的小算盘

    晚上7各地点布局,9点半,刚拿到. 他发现自己专注的时候效率挺高真的哈萨克斯坦.计算器布局前.做了两件简单的页面布局练练手.今晚总体感觉更好,不难. 器之间调试有点蛋疼,真心不想搭理IE. 在进行布局 ...

  4. lua、groovy嵌入到java中的性能对比(转)

    lua和groovy都是可以嵌入到java中的脚本语言.lua以高性能著称,与C/C++在游戏开放中有较多使用,groovy是一个基于Java虚拟机(JVM)的敏捷动态语言,在jvm下有着不错的性能. ...

  5. 怎样配置git ssh连接,怎样在GitHub上加入协作开发人员,怎样配置gitignore和怎样在GitHub上删除资源库.

    **********1.在运行git push origin master指令时报例如以下错误: iluckysi@ILUCKYSI-PC /d/ilucky/message/code (master ...

  6. BZOJ 2038: [2009国家集训队]小Z的袜子(hose) 分块

    分块大法好 2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 2938  Solved: 13 ...

  7. JS于string 和 json互转对象

    一.json开启string JSON.stringify(jsonObj) 两.string开启json eval(string) 版权声明:本文博主原创文章.博客,未经同意不得转载.

  8. 【C语言探索之旅】 第一部分第四课第一章:变量的世界之内存那档事

    内容简介 1.课程大纲 2.第一部分第四课第一章:变量的世界之内存那档事 3.第一部分第四课第二章预告:变量的世界之声明变量 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答 ...

  9. Codeforces Round #252 (Div. 2) 441B. Valera and Fruits

    英语不好就是坑啊.这道题把我坑残了啊.5次WA一次被HACK.第二题得分就比第一题高10分啊. 以后一定要加强英语的学习,要不然就跪了. 题意:有一个果园里有非常多树,上面有非常多果实,为了不然成熟的 ...

  10. 小谷的战斗Jquery(三)--水平和垂直菜单

    日薪的例子似乎有点低,今天做多.行,这种实现是一个简单的菜单,Web项目中,有两个共同的菜单:纵向和横向.说到从垂直,看原代码. html代码实现最主要的菜单与子菜单 <span style=& ...