问题标签 [commonsware-cwac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 当应用程序返回上一个活动时如何停止警报
在我的应用程序中,我正在使用 commonsware 库根据警报设置获取地理位置,一切正常,但是当我按下后退按钮时,那时我想停止该警报并且不想获取地理位置。
我怎样才能做到这一点。下面是我用来根据警报获取位置的代码。
android - 如何使用合并适配器将 Pull To Refreash 功能添加到视图中?
我正在尝试将 Pull To Refresh 功能添加到已经使用 Mark Myrphy aka @commonsware 制作的 Merge Adapter 的 Activity 中。
这是我们的代码:
这里是 lv_merge_fragment.xml。
我正在尝试一起工作https://github.com/chrisbanes/Android-PullToRefresh和https://github.com/commonsguy/cwac-merge。
不幸的是,有一个问题。MergeAdapter 将整个 PullToRefresh 列表视图视为从下到上显示的内容,这使得标题(用作 PTR 指示器)始终可见(不仅在拖动后)。我无法让它工作,重写其中一个库是解决这个问题的困难方法。有没有人成功使用 CommonsWare MergeAdapter 和 Pull to Refresh android 中的库?附上屏幕截图,以便更好地理解我想要实现的目标。基本上 PTR 动作应该重新加载所有视图。
这就是我希望它看起来/工作的样子:
在此先感谢您的帮助。
android - CommonsGuy EndlessAdapter 中的 java.lang.IllegalStateException
我正在将commonsguy / cwac-endless EndlessAdapter 集成到我的一个应用程序中,效果非常好!感谢 CommonsWare 先生 :)
但我越来越java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification
。
注意: 此异常仅在我使用时发生endlessAdapter.setRunInBackground(false);
,基本上是当我希望自己的实现AsyncTask
来缓存数据时(在EndlessAdapter 类AsyncTask
的方法中执行)。cacheInBackground()
重新创建此 IllegalStateException 的步骤:
步骤 1) 运行作为演示提供的EndlessAdapterCustomTaskFragment
示例EndlessAdapter
步骤 2) 向下滚动 ListView,以便看到进度视图。
步骤 3) 单击进度视图。现在,一旦在加载数据时单击进度视图,应用程序将被强制关闭java.lang.IllegalStateException
。
为了克服这个问题,我重写了以下EndlessAdapter
类方法,它确实有效;)
我很想知道以下内容:
1)为什么EndlessAdapter
只有当我想要我自己的实现AsyncTask
来缓存数据时,实现才会抛出异常,即endlessAdapter.setRunInBackground(false);
在endlessAdapter.setRunInBackground(true);
没有自定义实现的情况下使用AsyncTask
ListView
2)点击item和getCount()
method有一定的关系,ListView
因为它只有在点击ListView的进度条时才会产生Exception。
提前致谢 :)
java - Android:BroadcastReceiver 或 Wakefulintentservice 应该以 finish() 结尾吗?
在我的应用程序中,我使用警报管理器设置警报,该警报触发广播接收器,该接收器启动 Commonsware 的 Wakefulintent 服务,该服务会下载一些数据。
我的问题是:是否应该以该方法结束或两者BroadcastReceiver
或WakefulIntentService
两者都不以该finish()
方法结束?
java - Android:AlarmManager 有时不调用 BroadcastReceiver
在我的应用程序中,我有一个BroadcastReceiver
,它由一个AlarmManager
. 这BroadcastReceiver
称为 CommonsWare 的WakefulIntentservice
.
我在手机上对此进行了测试,有时似乎BroadcastReceiver
根本没有打电话给我。我真的很困惑它可能是什么。我的 BroadcastReceiver 和 WakefulIntentservice 已在清单中注册。
这是我的代码: 在 AlarmActivity 中:
报警接收器:
和警报服务:
有谁知道为什么BroadcastReceiver
有时不调用?
编辑:我听说设置 a BroadcastReceiver
which receive onBootCompleted
. 这是必需的吗?
java - Android:我应该避免 Commonsware 的 WakefulIntentservice 中的自写方法吗?
在我的应用程序中,我有 CommosWare 的WakefulIntentservice
. 从doWakefulWork
方法上我称之为几个自写的方法。例如:
WakeLock
它使我的代码保持清晰,但是当我调用自写方法时是否有可能丢失?
提前致谢!
android - 从另一个片段访问在一个片段中创建的加载器
我有一个具有相当标准片段布局的应用程序。左侧的可扩展列表视图片段和右侧的面板用于不同的事情,具体取决于用户选择对左侧列表执行的操作(显示数据、添加新数据等)。
我将 LoaderManager(第一次使用加载器)与 CommonWare 的loaderex
库一起使用,因为我不需要或不希望为我的数据库创建内容提供程序,这样我就可以使用标准的 CursorLoader。此设置非常适合显示我的列表。
我遇到的问题是当我使用第二个片段将数据添加到数据库时。我无法弄清楚如何在第一个片段中触发重新加载列表。对于我的一生,我无法弄清楚如何从第二个片段的第一个片段中获取加载器,以便它知道需要再次提取数据,我似乎也无法弄清楚如何手动触发重新加载.
由于这是我第一次尝试使用 Loaders,如果我做的不正确,我很乐意(温和地)重新引导到更好的道路上。
片段 1
片段 2
android - 服务中的唤醒锁实现
我有一项在 2 部手机中执行的服务。它们使用套接字相互通信并执行一些脚本(可能需要大约 1-2 分钟)并在它们之间交换文件(使用 HTTP Post)。
我希望这个执行继续,即使屏幕关闭,即获取唤醒锁。我看到了这个链接,但我不确定将它合并到我的代码中的哪个位置(因为设备可能会在执行过程中休眠)。非常感谢任何指导。谢谢你。
android - 在具有无限适配器实现的对话框中获取异常列表视图
这是我的演示适配器。
这是我在对话框中使用无限适配器显示列表视图的活动。
当我运行上面的代码时,它会抛出非法状态异常或空指针异常。
以下是我的 logcat 详细信息
可能是什么问题?
android - 如何使用 LoaderManager 自动重新查询
我有一个显示来自 SQLite DB 的数据的应用程序,并且数据不断变化,所以很明显,我认为我应该使用 LoaderManager 来显示数据。
我是否阅读了一些关于将 LoaderManager 与 SQLite 结合使用的信息,并看到了Alex Lokwood关于实现 CursorLoader 并使用它的答案,我看到了关于将 CursorLoader 直接用于 SQLite DB 而不是 ContentProvider 的答案,并开始使用 commonsware 的Loaderex。
我创建了这个类来在 ListView 中显示数据:
当活动仍在运行时从“BroadcastListener”更改数据库时,问题就开始了。
基本上我正在寻找的是实时观察数据库更改,但它似乎(也来自Android文档restartLoader
,当我想重新查询数据库时我需要调用该函数)。
有没有办法在幕后自动重新查询?
更新:
我最初的想法是创建一个重新启动加载程序的函数,如下所示:
但这似乎很粗鲁,并不是最好的方法。