现在解决 程序如下所示:



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. jsp简单练习-简单的下拉表单

    <%@ page contentType="text/html; charset=gb2312" %> <html> <body> <fo ...

  2. 【Linux探索之旅】第二部分第一课:终端Terminal,好戏上场

    内容简介 1.第二部分第一课:终端Terminal,好戏上场 2.第二部分第二课预告:命令行,世界尽在掌握 终端Terminal,好戏上场 随着第一部分的结束,我们进入了第二部分(小编你这好像是废话. ...

  3. 如何插上U盘 自动复制内容

    U盘插入自动复制,有效对付那些不肯给PPT的老师,还有一定几率拿到期末考试卷子···有图有真相!业界良心的好东西!!现在看还来得及!!! 代码优化了一下,把不是很重要的都删掉了,这次使用时看不出任何现 ...

  4. 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性

    原文:返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 [索引页][源码下载] 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 ...

  5. 一个小的日常实践——高速Fibonacci数算法

    上得厅堂.下得厨房.写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:高速Fibonacci数算法 内容:先说说Fibonacci数列,它的定义是数列:f1,f2....fn有例如以下规律: ...

  6. GitLab 安装配置笔记(转)

    GitLab的安装方式 GitLab的两种安装方法: 编译安装 优点:可定制性强.数据库既可以选择MySQL,也可以选择PostgreSQL;服务器既可以选择Apache,也可以选择Nginx. 缺点 ...

  7. Team Foundation Server 2013 Update 3 下载激活

    http://www.microsoft.com/zh-cn/download/details.aspx?id=43728 支持的操作系统 Windows 7 Service Pack 1, Wind ...

  8. [原创].NET 分布式架构开发实战之二 草稿设计

    原文:[原创].NET 分布式架构开发实战之二 草稿设计 .NET 分布式架构开发实战之二 草稿设计 前言:本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下 ...

  9. 飞信免费邮件api,飞信界面

    大家都知道飞信是能够免费发送短信的,可是飞信又没有官方的接口,所以无法借用移动的官方接口实现短信的免费发送,可是还是有一些破解的接口能够使用的. GET方法: 提交格式 http://66.zzuob ...

  10. Oracle 如何提交手册Cluster Table事务

    环境遇到ora-00600 4000错误,该目的是参与cluster table,什么我这里有以下简单的模拟.以供参考! ++++创建一个测试表 ? 1 2 3 4 5 6 7 8 9 10 11 1 ...