现在解决 程序如下所示:



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. Blend4精选案例图解教程(五):可视数据管理

    原文:Blend4精选案例图解教程(五):可视数据管理 应用程序中我们会经常需要操作数据,在程序设计之初示例数据一般都是手工添加,Blend4提供了非常方便的数据管理能力,包括丰富的数据类型和内置示例 ...

  2. Linux下安装Oracle11g服务器(转)

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  3. 在基于阿里云serverCentOS6.5下安装Subversion 1.6.5服务

    近期阿里云搞了个1元免费提供云server的活动,偶心痒痒就申请了一个. 正好能够作为团队的SVNserver了,以下就来部署SVN服务吧. 一.安装基础环境 apr-1.5.0.tar.gz apr ...

  4. HttpClient文件上传下载

    1 HTTP HTTP 协议可能是如今 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序须要直接通过 HTTP 协议来訪问网络资源. 尽管在 JDK 的 java.net ...

  5. 我理解设计模式C++实现观察者模式Observer Pattern

    概述: 近期中国股市起起伏伏,当然了起伏就用商机,小明发现商机后果断想入市,买入了中国证券,他想在电脑client上,网页上,手机上,iPad上都能够查看到该证券的实时行情,这样的情况下我们应该怎么设 ...

  6. paip.java UrlRewrite 的原理and实现 htaccess正則表達式转换

    paip.java UrlRewrite 的原理and实现 htaccess正則表達式转换 #---KEYWORD #-正則表達式 正則表達式 表示 非指定字符串开头的正则 排除指定文件夹.. 作者 ...

  7. MYSQL IFNULL使用功能

    稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题.最好看. MYSQL IFNULL(expr1,expr2)       ...

  8. git bash 出现vim的时候怎么退出

    如果是输出状态,首先Esc退出输入状态,然后Shift+;,再输入q!或wq!(不保存改动,wq!是保存文件的写入修改)退出

  9. unity3d脚本

    一 创建和使用脚本 1 概述 GameObject的行为都是被附加到其上面的组件控制,脚本本质上也是一个组件. 在unity中创建一个脚本.默认内容例如以下: using UnityEngine; u ...

  10. 照片教你eclipse通过使用gradle 打包Android

    gradle其他优点不说,在android当应用程序公布.假设你要算一些渠道,gradle 在节目包装散装优势:下面给大家介绍的图形 按eclipse当出口 选择Android:例如下面的附图 一步一 ...