小编Val*_*tin的帖子

片段中的MapView(Honeycomb)

既然最终的SDK已经推出google apis - 使用MapView创建片段的最佳方法是什么?MapView需要MapActivity才能正常工作.

让管理片段的Activity继承自MapActivity(糟糕的解决方案,因为它违背了Fragments自包含的想法)并使用常规的基于xml的布局不起作用.我在MapActivity.setupMapView()中得到一个NullPointerException:

E/AndroidRuntime(  597): Caused by: java.lang.NullPointerException
E/AndroidRuntime(  597):    at com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:289)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:264)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:247)

我的第二个想法是以编程方式创建MapView并将关联的活动(通过getActivity())作为Context传递给MapView构造函数.不起作用:

E/AndroidRuntime(  834): Caused by: java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:291)
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:235)
E/AndroidRuntime(  834):    at de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978)
E/AndroidRuntime(  834):    at android.app.Activity.onCreateView(Activity.java:4090)
E/AndroidRuntime(  834):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664)

真的应该有类似MapFragment的东西来处理MapView需要的后台线程我猜...那么目前最好的做法是什么呢?

感谢和问候来自德国,Valentin

android google-maps android-maps android-fragments android-3.0-honeycomb

81
推荐指数
4
解决办法
4万
查看次数

项目模板Eclipse/Java

我正在研究为我的团队正在开展的项目(嵌入式Java)创建"项目模板"的可能性.我们希望让新开发人员不要轻易创建新项目.我们团队中使用的所有工具都应该是pr

基本思想是应该有一个命令来设置项目和IDE来提供以下内容:

  • 创建一个包含Eclipse项目文件的新Java项目.
  • 创建构建脚本(需要在IDE之外工作).
  • 在构建脚本中包含部署选项.
  • 设置一个git项目.
  • 设置PMD以使用IDE中集成的一组配置规则运行.
  • 将Checkstyle设置为使用IDE中集成的一组已配置规则运行.
  • 配置代码模板(Eclipse)以匹配我们的团队编码指南(Javadoc,...)
  • 配置Eclipse代码Formatter.
  • 命令的配置应该可以轻松升级.

到目前为止,我看到两种方法:

  • Maven 2 Archetype:我基本上不喜欢maven,因为我经常和它一起战斗.我不确定尝试使该工具做我想要的工作的开销是否合理.另一方面,似乎这正是原型应该做的事情.你有没有经验可以定制日食:eclipse部分?我想eclipse配置是最复杂的一步.
  • Eclipse Nature:我可以创建一个项目性质.据我所知,Eclipse Ecosystem是可以显示的组件,如果我选择提供右键单击 - > New - > My Java Project Type.你知道我可以自定义生成的Eclipse项目吗?
  • Shell脚本:我可以创建一个包含所有配置的空项目,在相关的纯文本文件中引入一些特殊的令牌(比如然后编写一个从属性文件中读取这些选项的值的shellcript,复制项目模板和替换价值.).虽然它可能有点脆弱,但它似乎是一种简单快捷的方法.

请给你一些更多的上下文:没关系,如果结果将我们锁定到Eclipse中.虽然构建应该在没有Eclipse的情况下运行(对于我们的CI),团队使用eclipse,我们不太可能切换.此外,所有开发人员都运行或多或少相同的硬件+软件(Linux).我们不在Enterprise Java Apps领域工作,所以我们真的不需要maven的所有花哨的依赖管理.事实上,我们的构建过程非常特殊,因此调用make或ant脚本可能要容易得多.

所以问题是:

  1. 你对这种东西有经验吗?
  2. 您对Eclipse Nature方式还是Maven有意见?
  3. 你知道其他提供类似设置的工具吗?

非常感谢您的投入.

干杯,瓦伦丁

PS:人们似乎对他们的构建工具有所了解.请注意,我不想在这里为maven开始一场火焰战争.我相信行家可以是一个伟大的工具,但我认为在我们方面,我们只需要其功能的5%,并从我的经验,剩下的95%可以让你的方式.

java eclipse version-control maven

15
推荐指数
1
解决办法
1万
查看次数

如何在反应原生的后台持久杀死Android应用程序状态

当Android App被发送到后台时,它可以保持其实例状态,以防因内存不足而被杀死(请参阅Activity:onSaveInstanceState()Activity的参数:onCreate(Bundle savedInstanceState)).

默认的Activity行为是保存视图层次结构的状态,因此在很多情况下你不必编写任何代码并且它"只是工作"[tm].

现在反应原生,这不是真的.React本机应用程序托管在单个MainActivity中,其状态包含在应用程序的javascript解释器中.

我在这里创建了一个包含简短文档的示例存储库,如何重现我的问题:https://github.com/einvalentin/react-native-state-test

我希望react-native挂钩到本机android app状态序列化机制,同时为应用程序开发人员提供钩子,以便在需要自定义序列化时进行扩展.或者,我可以看到自己扩展MainActivity以将生命周期事件转发到Javascript层并在那里手动执行一些自定义状态序列化 - 但这感觉有点笨拙.

是否有一种明显的方法我忽略了将状态保存在react-native中,以便在后台杀死的应用程序不会从头开始重新启动?这种情况总是会发生在例如与您的应用程序交互时接听电话的低内存设备上.

非常感谢!

android react-native react-redux

15
推荐指数
1
解决办法
6151
查看次数