当前位置:  编程技术>移动开发
本页文章导读:
    ▪NDK遍历sdcard底下的目录(C代码实现,JNI)        NDK遍历sdcard下面的目录(C代码实现,JNI) view plain #include <jni.h>   #include <stdio.h>   #include <stdlib.h>   #include <string.h>   #include <dirent.h>   #include <time.h>  .........
    ▪ 银屏分辨率        屏幕分辨率 屏幕分辨率HVGA:320×480QVGA:240x320WQVGA400:240X400WQVAG432:240X432WVGA800: 480X800WVGA854: 480X854    px (pixels)像素      一般HVGA代表320x480像素,这个用的比较多。  dip或dp (device independent pixels)设.........
    ▪ 小弟我来来说说手机开发连连看的地图布局和连连看的算法       我来来说说手机开发连连看的地图布局和连连看的算法 eyes 们大家好:              这几天闲着没事做了一个手机版得连连看,做的很粗糙,不过实现了基本的功能。在做连连看看.........

[1]NDK遍历sdcard底下的目录(C代码实现,JNI)
    来源: 互联网  发布时间: 2014-02-18
NDK遍历sdcard下面的目录(C代码实现,JNI)

view plain
  • #include <jni.h>  
  • #include <stdio.h>  
  • #include <stdlib.h>  
  • #include <string.h>  
  • #include <dirent.h>  
  • #include <time.h>  
  • #include <android/log.h>  
  •   
  •   
  • #define LOG_TAG "Test"  
  • #define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)  
  • #define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)  
  •   
  • #define PATHMAX 1024  
  •   
  • void searchdir(char *path);  
  •   
  • int total = 0;  
  •   
  •   
  • void searchdir(char *path)  
  • {  
  •     DIR *dp;  
  •     struct dirent *dmsg;  
  •     int i=0;  
  •     char addpath[PATHMAX] = {'\0'}, *tmpstr;  
  •     if ((dp = opendir(path)) != NULL)  
  •     {  
  •       
  •       while ((dmsg = readdir(dp)) != NULL)  
  •       {  
  •   
  •         if (!strcmp(dmsg->d_name, ".") || !strcmp(dmsg->d_name, ".."))  
  •             continue;  
  •         strcpy(addpath, path);  
  •         strcat(addpath, "/");  
  •         strcat(addpath, dmsg->d_name);  
  •         if (dmsg->d_type == DT_DIR )  
  •         {  
  •             char *temp;  
  •             temp=dmsg->d_name;  
  •             if(strchr(dmsg->d_name, '.'))  
  •             {  
  •                if((strcmp(strchr(dmsg->d_name, '.'), dmsg->d_name)==0))  
  •                {  
  •                  continue;  
  •                }  
  •             }  
  •             LOGI("........directname:%s",dmsg->d_name);  
  •             searchdir(addpath);  
  •         }  
  •       }  
  •     }  
  •     closedir(dp);     
  • }  
  •   
  •   
  • JNIEXPORT jfloat JNICALL Java_com_docintest_SimpleNdkActivity_getSecond  
  •   (JNIEnv *env, jobject thiz)  
  •   
  • {  
  •     clock_t   tick_start,tick_end;  
  •     double t;  
  •     char *dirpath="/mnt/sdcard/";  
  •     LOGI("begin.................................................... function.");  
  •     tick_start=clock();  
  •     searchdir(dirpath);  
  •     tick_end=clock();  
  •     float dtime= (float)(tick_end-tick_start)/1000/1000;  
  •     printf( "Total   time   used:%f   second\n ",dtime);  
  •     return dtime;  
  •   
  • }  


  •  

    上(C代码)

    (下)JAVA 

     

     

     

    view plain
  • package com.docintest;  
  •   
  • import android.app.Activity;  
  • import android.os.Bundle;  
  • import android.widget.TextView;  
  •   
  • public class SimpleNdkActivity extends Activity {  
  •     /** Called when the activity is first created. */  
  •     @Override  
  •     public void onCreate(Bundle savedInstanceState) {  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(R.layout.main);  
  •         TextView tv=(TextView)findViewById(R.id.second);  
  •         tv.setText("Total time:"+getSecond()+"");  
  •     }  
  •       
  •     private  native float  getSecond();  
  •       
  •     static {  
  •         System.loadLibrary("test");  
  •     }  
  • }  
  •  

    结果:

     

     



        
    [2] 银屏分辨率
        来源: 互联网  发布时间: 2014-02-18
    屏幕分辨率

    屏幕分辨率
    HVGA:320×480
    QVGA:240x320
    WQVGA400:240X400
    WQVAG432:240X432
    WVGA800: 480X800
    WVGA854: 480X854

     

     px (pixels)像素
         一般HVGA代表320x480像素,这个用的比较多。

     dip或dp (device independent pixels)设备独立像素
        这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

     sp (scaled pixels — best for text size)比例像素
        主要处理字体的大小,可以根据系统的字体自适应。

    除了上面三个显示单位,下面还有几个不太常用:
     in (inches)英寸
     mm (millimeters)毫米 
     pt (points)点,1/72英寸

    为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。


        
    [3] 小弟我来来说说手机开发连连看的地图布局和连连看的算法
        来源: 互联网  发布时间: 2014-02-18
    我来来说说手机开发连连看的地图布局和连连看的算法
    eyes 们大家好:
                  这几天闲着没事做了一个手机版得连连看,做的很粗糙,不过实现了基本的功能。在做连连看看的这几天感触颇深。下面就写写我做连连看的感受。在项目中的算法都是我自己想的,可能那里写的不是很好。希望得到大家的点评。
          
          首先来说说地图的布局吧。地图我是用一个二维的数组实现的。下面来说说如何来生成这个二维的数组。假如入你的是6*8的大小, 那么最好选择24张不一样的图片(当然这个图片不一定是24张不一样的)为了保证生成的二维数组里面的图片是成双成对的,我声明了一个list list 的大小也是6*8 然后在生成的这个list 的时候两个两个 生成,这样就保证这个list 里面的图片一定是成双成对的。 这个时候就要给 声明的二维数组赋值了,在赋值的时候 要随即取 list 里面的值 ,每取出一个就删除一个,让这个随即数始终在0到list的大小之间。 这样就生成了一个一定成双成对的出现的二维数组了地图了。
           
          上面是我生成地图布局的方法。
          

          下面来说说这个连连看的算法。
          首先是横向计算看看两个图片是否可以相连。(这个中间的过程大家看我的代码吧!代码中间有注释)
          其次是纵向计算看看两个图片是否可以相连。

          一个拐角可以让两张图片的相连的其实也很简单,当两个图片可以用一个拐角相连的时候那么这两个图片刚好可以画成一个矩形,而这两个图片的刚好位于矩形的两个对角。
          这个时候你只要把这个矩形对折一下(当然是你想想中的)会得到这个矩形的另外两个对角。只要这两个对角其中的一个在横向的方向和纵向的方向 能和你选中的这两个图片相连,就代表你选中的两个图片在一个拐角中是可以联通的。

         两个拐角的其实的思路也很简单,就是那这其中一个 在他的周围找到一个可以和另外一个只有一个拐角相连,如果有这么一个位置就代表 两个图片通过两个拐角就可以相连。

        其实我的思路就是,不管是1个拐角还是两个拐角最终都会转化成 横向相连或者纵向相连。
          以上,是我的思路。 大家谁有更好的思路。请说下。方便我们大家一起了解。有什么不对的地方请大家说出来。

       



           



        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3