我有一个每隔一段时间调用一次的BroadcastReceiver,我注意到很多人都在使用它
android: process =":remote"
Run Code Online (Sandbox Code Playgroud)
在他们的接收器.我用来检查一些事情,如果条件匹配,则激活警报.我的问题是,我应该使用我在清单上面张贴的行吗?如果是这样的话,这样做有什么好处?
是否有一种简单的方法可以禁用用户与活动进行交互.要在运行动作时执行(以及标题栏中的旋转进度条)
编辑:因为我似乎不够清楚我想说:虽然我已经有一个旋转的进度条,用户仍然能够按下活动上的任何按钮,我想禁止用户能够这样做任务正在运行.但我不想逐一禁用屏幕上的每个项目.
谢谢你,杰森
我已经尝试了几个小时来弄清楚为什么在将它添加到地图的ovelays之前我不能使用Itemized Map叠加而不这样做:
GeoPoint point;
OverlayItem overlayitem = new OverlayItem(point, "","");
MarkerOverlay.addOverlay(overlayitem);
如果我尝试在没有MarkerOverlay.addOverlay(overlayitem);命令的情况下执行此操作,那么当我尝试添加新的overLay时,如下所示:
public boolean onTap(GeoPoint point, MapView mapView)
{
if (mOverlays.size() > 0)
mOverlays.remove(0);
OverlayItem overlayitem = new OverlayItem(point, "", "");
mOverlays.add(overlay);
populate();
return true;
}
Run Code Online (Sandbox Code Playgroud)
在我的ItemizedOverlay类中,然后我得到一个空的引用exeption(我不知道何时或为什么 - 它说它在调试时没有可用的源代码)
有任何想法吗?
编辑:这是我在logcat中可以找到的:
09-20 22:36:22.164: WARN/dalvikvm(311): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
Run Code Online (Sandbox Code Playgroud)
这就是我认为臭名昭着的例外:
09-20 22:36:22.293: ERROR/AndroidRuntime(311): java.lang.NullPointerException
09-20 22:36:22.293: ERROR/AndroidRuntime(311): at com.google.android.maps.ItemizedOverlay.getItemsAtLocation(ItemizedOverlay.java:617)
09-20 22:36:22.293: ERROR/AndroidRuntime(311): at com.google.android.maps.ItemizedOverlay.getItemAtLocation(ItemizedOverlay.java:586)
09-20 22:36:22.293: ERROR/AndroidRuntime(311): at com.google.android.maps.ItemizedOverlay.handleMotionEvent(ItemizedOverlay.java:498)
09-20 22:36:22.293: ERROR/AndroidRuntime(311): at com.google.android.maps.ItemizedOverlay.onTouchEvent(ItemizedOverlay.java:572)
09-20 22:36:22.293: …Run Code Online (Sandbox Code Playgroud) 我在Eclipse中有一个Android项目我希望将其转换为使用Ant构建.
我怎样才能做到这一点?我已经尝试导出一个Ant构建文件,但我很确定它不会起作用(当使用导出的文件运行ant时也不行).我不太了解Ant,所以一些解释也会有所帮助.
编辑:现在我似乎设法创建了所需的构建文件,但我需要添加项目库像admob.jar,以便被ant看到并用于构建.因为我收到以下错误
-dex:
[echo] Converting compiled files and external libraries into C:\Users\Jason
\Documents\Programming\Android\Android SVN\trunk\GPSAlarm\BusSnooze\bin\classes.
dex...
[apply]
[apply] UNEXPECTED TOP-LEVEL EXCEPTION:
[apply] com.android.dx.util.ExceptionWithContext
[apply] at com.android.dx.util.ExceptionWithContext.withContext(Exceptio
nWithContext.java:46)
[apply] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r.java:340)
[apply] at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.ja
va:131)
[apply] at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.jav
a:85)
[apply] at com.android.dx.command.dexer.Main.processClass(Main.java:297)
[apply] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:
276)
[apply] at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[apply] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.jav
a:228)
[apply] at com.android.dx.cf.direct.ClassPathOpener.processArchive(Class
PathOpener.java:245)
[apply] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPath
Opener.java:130)
[apply] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe
ner.java:108)
[apply] at com.android.dx.command.dexer.Main.processOne(Main.java:245)
[apply] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:1
83)
[apply] at com.android.dx.command.dexer.Main.run(Main.java:139)
[apply] at com.android.dx.command.dexer.Main.main(Main.java:120) …Run Code Online (Sandbox Code Playgroud) 我创建了一个Custom首选项,它具有以下构造函数
public CoordinatesPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
setLayoutResource(R.layout.coordinates_preference);
}
Run Code Online (Sandbox Code Playgroud)
我有Overriden onCreateView()所以它写入这样的日志:
@Override
protected View onCreateView(ViewGroup parent)
{
Log.d("test", "Creating Preference view");
return super.onCreateView(parent);
}
Run Code Online (Sandbox Code Playgroud)
并且我的日志充满了"Creating Preference view"消息,这会产生滚动的迟钝感觉,我相信转换视图应该解决这个问题,我看看偏好源代码,如果转换视图为null则onCreateView()调用.
为了测试目的,我添加了这个方法:
@Override
public View getView(View convertView, ViewGroup parent)
{
if (convertView == null)
{
return super.getView(convertView, parent);
}
return super.getView(convertView, parent);
}
Run Code Online (Sandbox Code Playgroud)
并设置一个断点.我发现几乎总是我的转换视图为空.因此它必须创建一个新视图,为什么会这样?以及如何改善这一点以避免出现滞后的偏好屏幕?
编辑:更改了onCreate的调用方式,现在它只是我使用的所有android setLayoutResource.但这并没有解决问题......
EDIT2:我已经使用Debug.StartMethodTracing()并且已经发现,因为我怀疑55%的时间花费(当我只是向上和向下滚动时)花费在从if 为null 时onCreateView()调用的方法的首选项的膨胀.getView()convertView
谢谢你,杰森
我正在按照教程开始使用移动后端进行操作.
但是,当我尝试运行下载的客户端时,我得到以下异常:
05-23 14:48:49.960: E/AndroidRuntime(15384): FATAL EXCEPTION: main
05-23 14:48:49.960: E/AndroidRuntime(15384): java.lang.NoClassDefFoundError: com.google.cloud.backend.android.GCMIntentService
05-23 14:48:49.960: E/AndroidRuntime(15384): at com.google.cloud.backend.android.CloudBackendAsync.<init>(CloudBackendAsync.java:71)
05-23 14:48:49.960: E/AndroidRuntime(15384): at com.google.cloud.backend.android.CloudBackendMessaging.<init>(CloudBackendMessaging.java:47)
05-23 14:48:49.960: E/AndroidRuntime(15384): at com.google.cloud.backend.android.CloudBackendActivity.onCreate(CloudBackendActivity.java:75)
05-23 14:48:49.960: E/AndroidRuntime(15384): at com.google.cloud.backend.android.sample.guestbook.GuestbookActivity.onCreate(GuestbookActivity.java:60)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.Activity.performCreate(Activity.java:5206)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.ActivityThread.access$600(ActivityThread.java:140)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.os.Handler.dispatchMessage(Handler.java:99)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.os.Looper.loop(Looper.java:137)
05-23 14:48:49.960: E/AndroidRuntime(15384): at android.app.ActivityThread.main(ActivityThread.java:4898) …Run Code Online (Sandbox Code Playgroud) 我刚刚发布了我的第一个应用程序,并希望有一个免费版本.我想知道如何管理我的免费版本分支(在svn中),以便从完整版本合并更改?是否可以在Manifest文件中更改包名称?或者包名在代码中是否必须不同?如果是这样,我怎么能轻易地合并更改?
谢谢你,杰森
我试图在手机锁定时显示活动或对话框.我曾尝试使用WakeLock,但它不起作用,我只能看到手机解锁后的活动?
这样做的正确方法是什么?
我正忙于编写一个应用程序,我注意到它有时会崩溃,当它崩溃时,我回到我的计算机,然后我只有堆栈跟踪。
有没有办法让我在崩溃时获取应用程序的内存转储?
谢谢