【问题标题】:Create application which support multiple screen(2.2 and up)创建支持多屏的应用程序(2.2 及以上)
【发布时间】:2012-08-19 03:36:28
【问题描述】:

块引用

我正在成功创建我的第一个应用程序。但是现在我面临的一个问题是,当我在 android 2.2 中运行我的应用程序时,它会成功运行。但是当我以 3.0 或 4.0 启动它时,它会崩溃。

我在谷歌上找到了,但对此并不完全了解。所以我在这里寻求帮助。

请帮我找到这个。

提前致谢。

-马扬克

当我在 4.0 版本中运行我的应用程序时,我的应用程序停止了,而当运行 2.2 版本成功运行...什么问题.. 不幸的是,在 4.0 中,您的应用程序已停止并且应用程序关闭了问题对我有什么帮助...

【问题讨论】:

  • 你能给我们你的堆栈跟踪/错误详细信息吗?
  • @sherpya 我不明白你在说什么??
  • 将应用程序移植到 android 3+ 时的常见错误是 NetworkOnMainThreadException,这与布局无关,但我没有询问您的堆栈跟踪

标签: android android-layout android-intent exception-handling multiscreen


【解决方案1】:

这个问题是 7 个月大的。仍然如果有人通过在 android 上查看 NetworkOnMainThreadException 来访问此页面,这就是答案。

如果您的应用程序具有发送 HTTPGet / HTTPPost 调用等网络操作,则不支持从 Android 3.0 (Honey Comb) 直接在主线程上发送网络调用,因为它可能会停止主线程(UI 线程)执行,直到网络调用响应作为网络调用可能需要很长时间,并且无法加载 UI,这对用户体验很烦。

因此,可以在单独的线程或 Android API 提供类 (AsyncTask) 上发送网络调用。

给安卓开发者的另一个建议是

在最新版本上开始编码,并将 min sdk 版本保持在尽可能低的水平(我个人使用 min SDK-8 和 Target SDK - latest),这样您就会收到弃用警告,并且您的应用程序可以在最新的 android 设备上运行(至少直到开发时的最新设备)。

【讨论】:

    【解决方案2】:

    你必须对清单给予许可。如果没有,那么

    <uses-sdk android:minSdkVersion="8" 
      android:targetSdkVersion="15" />
    

    授予此权限。

    【讨论】:

      【解决方案3】:

      您首先阅读了 this 以创建具有多种支持的应用程序。你可以在menifeast文件中声明,比如

      <uses-sdk android:minSdkVersion="8" 
            android:targetSdkVersion="15" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多