我正在为设备编写一个Android应用程序2.1 Froyo> 3.1蜂窝。
我这样做的方式是通过Java应该适用于所有平台的类,并根据屏幕大小设置不同的布局,这是正确的方法吗?
我已经编写了Honeycomb的布局,我刚开始在Froyo(我的其他设备)上实现和测试,我不能在没有它们崩溃的情况下在Froyo或Gingerbread(模拟器)上启动任何其他活动,但它们可以工作完美地在Honeycomb。
以下是崩溃的LogCat:
07-11 11:17:51.832: INFO / ActivityManager(75):显示 com.squirculardesign.android.pixel /。主要: + 6s867ms(总计+24s424ms)
07-11 11:17:57.063: DEBUG / dalvikvm(223):GC_EXPLICIT被释放 23K,50%免费2827K / 5639K,对外 4681K / 5342K,暂停72ms
07-11 11:18:21.743: DEBUG / dalvikvm(75):GC_CONCURRENT 释放1299K,59%免费4249K / 10247K, 外部3520K / 3903K,暂停8ms + 55ms
07-11 11:18:39.642: WARN / KeyCharacterMap(458):没有键盘 对于id 0
07-11 11:18:39.642: WARN / KeyCharacterMap(458):使用 默认键映射: /system/usr/keychars/qwerty.kcm.bin
07-11 11:18:40.064: WARN / InputManagerService(75):窗口 已经集中注意力,无视焦点增益 的: com.android.internal.view.IInputMethodClient$Stub$Proxy@4067db20
07-11 11:18:51.223: INFO / ActivityManager(75):开始: 意图{ CMP = com.squirculardesign.android.pixel / .Calculator_CaptureOriented 来自pid 458
07-11 11:18:51.543:INFO / dalvikvm(75): Jit:将JitTable从1024调整为 2048
07-11 11:18:51.623: INFO / dalvikvm(458):找不到 方法 com.squirculardesign.android.pixel.Calculator_CaptureOriented.getActionBar, 从方法中引用 com.squirculardesign.android.pixel.Calculator_CaptureOriented.onStart
07-11 11:18:51.643: WARN / dalvikvm(458):VFY:无法 解析虚方法77: LCOM / squirculardesign /机器人/像素/ Calculator_CaptureOriented; .getActionBar ()Landroid /应用/动作条;
07-11 11:18:51.643: DEBUG / dalvikvm(458):VFY:替换 操作码0x6e在0x0003
07-11 11:18:51.643: DEBUG / dalvikvm(458):VFY:死代码 0x0006-000b in LCOM / squirculardesign /机器人/像素/ Calculator_CaptureOriented; .onStart ()V
07-11 11:18:51.773: WARN / ResourceType(458):失败 获取0x7f030002的条目(t = 2 e = 2) 在包0中(错误-75)
07-11 11:19:01.282: WARN / ActivityManager(75):活动 空闲超时 HistoryRecord {40554050 com.squirculardesign.android.pixel / .Calculator_CaptureOriented}
07-11 11:19:22.253: DEBUG / dalvikvm(153):GC_CONCURRENT 释放503K,52%免费2973K / 6151K, 外部1625K / 2137K,暂停7ms + 5ms
07-11 11:20:23.573: DEBUG / SntpClient(75):请求时间 失败:java.net.SocketException: 地址系列不受支持 协议
07-11 11:25:23.583: DEBUG / SntpClient(75):请求时间 失败:java.net.SocketException: 地址系列不受支持 协议
我认为(我不确定)它与ActionBar有关。 任何人都可以指出问题是什么以及如何解决它?
感谢您的帮助,祝您度过愉快的一天。
答案 0 :(得分:4)
Honeycomb之前不存在Activity.getActionBar
方法。但更一般地说,您需要复制动作栏中用于预蜂窝设备的功能,因为它们不存在。
答案 1 :(得分:2)
很可能您使用的是Honeycomb专用的API,但他们不能使用Froyo。如果您同时针对Froyo和Honeycomb,我建议您从最低API(即Froyo)开始。
我这样做的方式是 通过Java的类 应该适用于所有平台和 具有不同的布局基于 屏幕尺寸,这是正确的方法 要去做吗?
是的,这是正确的方法(准确地说是不同的分辨率)。只需确保使用与您支持的所有级别的Android兼容的API。
最后,您的日志不会显示错误。寻找其中包含ERROR
和/或堆栈跟踪的内容。