Google Map App 问题集锦

用此帖记录做Google Map过程中遇到的问题。

一、因为在Manifest.xml文件没有写入<service>,所以导致启动不了Service,但是我明明写了啊。后来发现是自己为了版本控制,有几个project版本。而<service>写在了上一个版本的Manifest.xml文件。真心不该啊!Stupid misstake!

 

二、 android 获取string.xml中的value

但大家知道R.string.xxx的值是自动生成的int, 如何得到真正的string呢?

可以在Context或Application中使用:

    • this.getString(R.string.resource_name) 
    • getResources().getString(R.string.resource_name)

 三、 can't instantiate class com.alexwong.whereru.LocationProcesser; no empty constructor

当我把LocationProcesser这个类继承Service并实现Runnable接口时出现这个错误。原来我只有一个不为空的constructor作为Thread的构造函数,但是Service在start的时候,需要有一个空的构造函数。至于为什么要建一个空参数的和有参数的.因为只要创建了有参数的,就只能用有参数的构造函数,而不能用空参数的,所以要创显式创建一个空参数的构造函数.

 

四、android.os.NetworkOnMainThreadException

五、Not on the main thread, 原因是我在另一个线程中调用GoogleMap实例的方法。

Exception如下:

05-05 17:37:22.580: E/AndroidRuntime(26704): FATAL EXCEPTION: IntentService[LocationProcesser]
05-05 17:37:22.580: E/AndroidRuntime(26704): java.lang.IllegalStateException: Not on the main thread

多线程操作简单原则:

  1. 不要Block住主线程(UI线程)
  2. 不要在UI线程外直接操作 UI

 

 

posted on 2013-04-21 00:33  嘿!老板  阅读(281)  评论(0编辑  收藏  举报