本帖最后由 xueresnowfoxsnowwolf 于 2010-10-07 23:43:05 编辑

解决方案 »

  1.   

    dimens.xml
    引用的时候 应该R.dimen.btn_width还是R.dimens.btn_width ??
      

  2.   

    就是R.dimen,和引用字符串资源(R.string)一样
      

  3.   

    [code = HTML]
    10-08 04:01:42.019: ERROR/vold(27): Error opening switch name path '/sys/class/switch/test' (No such file or directory)
    10-08 04:01:42.019: ERROR/vold(27): Error bootstrapping switch '/sys/class/switch/test' (No such file or directory)
    10-08 04:01:42.019: ERROR/vold(27): Error opening switch name path '/sys/class/switch/test2' (No such file or directory)
    10-08 04:01:42.019: ERROR/vold(27): Error bootstrapping switch '/sys/class/switch/test2' (No such file or directory)
    10-08 04:02:05.100: ERROR/BatteryService(60): usbOnlinePath not found
    10-08 04:02:05.100: ERROR/BatteryService(60): batteryVoltagePath not found
    10-08 04:02:05.100: ERROR/BatteryService(60): batteryTemperaturePath not found
    10-08 04:02:05.151: ERROR/SurfaceFlinger(60): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake
    10-08 04:02:14.241: ERROR/EventHub(60): could not get driver version for /dev/input/mouse0, Not a typewriter
    10-08 04:02:14.241: ERROR/EventHub(60): could not get driver version for /dev/input/mice, Not a typewriter
    10-08 04:02:14.510: ERROR/System(60): Failure starting core service
    10-08 04:02:14.510: ERROR/System(60): java.lang.SecurityException
    10-08 04:02:14.510: ERROR/System(60):     at android.os.BinderProxy.transact(Native Method)
    10-08 04:02:14.510: ERROR/System(60):     at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
    10-08 04:02:14.510: ERROR/System(60):     at android.os.ServiceManager.addService(ServiceManager.java:72)
    10-08 04:02:14.510: ERROR/System(60):     at com.android.server.ServerThread.run(SystemServer.java:176)
    10-08 04:02:14.520: ERROR/AndroidRuntime(60): Crash logging skipped, no checkin service
    10-08 04:02:32.496: ERROR/MediaPlayerService(31): Couldn't open fd for content://settings/system/notification_sound
    10-08 04:02:32.567: ERROR/MediaPlayer(60): Unable to to create media player
    10-08 04:02:38.326: ERROR/ActivityThread(105): Failed to find provider info for android.server.checkin
    10-08 04:02:43.897: ERROR/ActivityThread(105): Failed to find provider info for android.server.checkin
    10-08 04:02:44.307: ERROR/ActivityThread(105): Failed to find provider info for android.server.checkin
    10-08 04:03:05.547: ERROR/AndroidRuntime(123): ERROR: thread attach failed
    10-08 04:03:14.077: ERROR/AndroidRuntime(211): ERROR: thread attach failed
    [code]
    我就把错误的日志发上来了,还有若干警告的日志就没发了,需要的话我们可以直接联系,我直接把工程发给你,我qq:352875855。
    我的jdk是2.1的,api版本是7,先谢谢你哈
      

  4.   

    单步调试一下,看看
           float btn_w = r.getDimension(R.dimen.btn_width);
            float btn_h = r.getDimension(R.dimen.btn_height);
    这两句获取的值是否正确。
      

  5.   

    我建了个helloworld,试了下,没有问题.
    float a = this.getResource().getDimension(R.dimen.height);
      

  6.   


    你指的是程序能运行?那我怎么不行呢?我的jdk是2.1的,api level 7
      

  7.   

    问题解决了,我把HelloWorld.java文件中的Resources r = getResources()放到onCreate函数里面就可以了,可是在函数外面为什么不可以呢?还是希望谁能告诉我。谢谢大家了。
      

  8.   

    getResources是依赖于context的,也就是上下文句柄,程序都是有this句柄的,其实getResources就是this.getResources(),但是你在oncreate前就get,这时候程序还没有创建出来,句柄是空的,自然会有问题。
    这些东西一般都是先在外部声明,然后oncreate的时候来new或者用get方法得到。