小编Cod*_*ile的帖子

创建后更改android小部件设置首选项?

假设我的应用程序有一个小部件,我使用配置屏幕进行初始应用程序小部件设置并设置一些首选项.

我希望用户能够通过进入我的应用程序的设置屏幕并单击意图首选项来更改这些设置,以打开创建应用程序时用户所提供的相同选项.

我可以使用与配置活动相同的活动吗?我必须以不同的方式处理它吗?如何使用新设置更新现有小部件?

我怎样才能让它发挥作用?

android widget preferences

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

当项目数量发生变化时,如何更新与listview绑定的CursorAdapter?

我有一个基于CursorAdapter的自定义适配器支持的ListView.

我给它的游标是基于数据库中的Notes列表(每个注释是一个DB行).

一切正常,直到我从数据库中删除一个注释.我不确定如何正确更新cursor/adapter/listview以显示新数据.

我已经阅读了使用adapter.notifyDataSetChanged()vs cursor.requery()刷新UI的相互矛盾的帖子,但在这种情况下它们似乎都不起作用.我能够刷新它的唯一方法是从新查询创建一个新游标并调用adapter.changeCursor(newCursor).

有人可以演示更新支持数据然后更新UI的正确方法(如果可能的话,使用psuedocode).

android listview android-listview

6
推荐指数
1
解决办法
7694
查看次数

如何在免费和付费版本的应用程序中使用相同的ContentProvider权限?

我已经开始使用Android库项目来整合我的付费和免费版本代码.

我使用ContentProvider遇到了问题.由于ContentProvider是在库类中定义的,因此两个应用程序都使用相同的权限.这意味着由于INSTALL_FAILED_CONFLICTING_PROVIDER错误,android会阻止安装第二个应用程序(按任意顺序).

05-22 11:14:40.563: WARN/PackageManager(102): Can't install because provider name com.cfms.android.podcast (in package com.cfms.android.podcastlite) is already used by com.cfms.android.podcastpaid
05-22 11:14:40.563: WARN/PackageManager(102): Package couldn't be installed in /data/app/com.cfms.android.podcastlite-2.apk
Run Code Online (Sandbox Code Playgroud)

我该如何处理这个问题?理想情况下,我希望每个应用程序版本的权限相同,所以我不必在公共代码库中放入一堆异常.如果那是不可能的,我该怎么办呢?

android android-manifest android-contentprovider

6
推荐指数
1
解决办法
4479
查看次数

null SQLite数据字段是否会占用额外的内存?

我在Android平台上使用内置的sqlite库.

我正在考虑添加几个用户可以用于自己的自定义应用程序的通用字段,但这些字段大部分时间都是空白的.

我的问题是,这些空白字段会为我的数据库添加多少开销?空字段甚至占用sqlite中的每个记录内存吗?如果是这样,多少钱?我不太了解sqlite数据库的内部工作原理.

java sqlite android database-design

5
推荐指数
1
解决办法
588
查看次数

如何在查找表中搜索最接近的值?

我有一个简单的一个dimmensional整数值数组,表示我必须使用的部分值的物理集合.然后我以数学方式计算和理想值.

我怎么能写出一个有效的搜索算法,它会在数组中找到与理想值最小的abosulte差异?

该阵列是预定的和恒定的,所以它可以按需要排序.

示例查找数组:

100, 152, 256, 282, 300
Run Code Online (Sandbox Code Playgroud)

搜索125的理想值将在阵列中找到100,而127将找到152.

实际的查找数组大约有250个项目,永远不会改变.

algorithm search

5
推荐指数
1
解决办法
6527
查看次数

如何用XML或其他简单文件格式表示多对多关系?

我有一个列表管理应用程序,它将数据存储在多对多关系数据库中.

IE注释可以是任意数量的列表,列表可以包含任意数量的注释.

我也可以将此数据导出到XML文件,然后将其导入我的应用程序的另一个实例,以便在用户之间共享列表.但是,这是基于遗留系统,其中要注释的列表关系是一对多(XML的理想选择).

现在,多个列表中的注释在数据库中基本上被分成两个相同的行,并且它们之间的所有关系都将丢失.

问题:如何以简单的标准文件格式表示这种多对多关系?(最好使用XML来保持向后兼容性)

java xml database android database-design

5
推荐指数
1
解决办法
3301
查看次数

如何在 XML 中使用自定义 Android ViewGroup?

我有一个扩展 FrameLayout 的类,称为 NoteView。这是一个顶级的公开课。

当我从 java 代码创建 UI 时它工作得很好,但我不知道如何在 XML 中使用它。我尝试插入完全限定的类名,就像插入自定义视图一样,但是ClassCastException: android.view.View cannot be cast to android.view.ViewGroup当活动尝试膨胀 XML 时,出现异常。

我只能找到有关自定义视图的教程,而不是自定义视图组。我需要做什么才能像在 XML 布局中使用 FrameLayout 一样使用 NoteView?

例如:这有效

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
 <test.cjb.sandbox.NoteView
 android:id="@+id/noteview"
 android:layout_width="fill_parent"
 android:layout_height="100dp"
 android:background="#FF0000"
 android:layout_gravity="right">
 </test.cjb.sandbox.NoteView>
  <Button
    android:id="@+id/button"
    android:layout_width="100dp"
    android:layout_height="fill_parent"
    android:text="Sibling Button"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

但这会引发上述异常:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
 <test.cjb.sandbox.NoteView
 android:id="@+id/noteview"
 android:layout_width="fill_parent"
 android:layout_height="100dp"
 android:background="#FF0000"
 android:layout_gravity="right">
    <Button
    android:id="@+id/button"
    android:layout_width="100dp"
    android:layout_height="fill_parent"
    android:text="Child Button"/>
 </test.cjb.sandbox.NoteView>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

user-interface android

5
推荐指数
1
解决办法
7141
查看次数

如何在android中完成动画时隐藏视图?

我有一个简单LinearLayout的两个按钮并排.它们应该在需要时从屏幕右侧滑入和滑出视图.我有动画工作,剩下的工作已经完成,但我还有最后一个问题需要解决.

如何在幻灯片动画完成后设置LinearLayout可见性View.GONE?我需要它一旦屏幕消失.

animation android

5
推荐指数
1
解决办法
6172
查看次数

如何在Eclipse中的多个项目中创建共享源文件夹?

我一直在关注来自Google IO会话(Android会见App Engine)的Android + App Engine源代码.它们生成三个项目,一个Android项目,一个GWT接口和一个App Engine服务器项目.所有这些项目都有一个名为shared的公共源文件夹,他们可以将应用程序的所有部分需要知道的同步数据类放在一起.

我想知道如何在一般的Eclipse项目中创建该共享源文件夹.如何在一个项目中创建一个源文件夹,该文件夹也可以与Eclipse中的其他项目一起使用并同步?

编辑
我不是在寻找如何进行Android库项目(我已经为我的应用程序使用了其中的几个).一个App Engine服务器端项目,Android库不适用于一般的eclipse项目.

eclipse ide android

5
推荐指数
1
解决办法
5296
查看次数

在java中同步声明方法进行权衡?

每当我试图从线程A中杀死线程B时(通常,有时它工作),我的Android应用程序中有一个线程锁定了一些仍然未知的原因.我猜这是因为我的一些方法是在没有同步的情况下跨线程进行调用.我做了取消方法和许多基本上与事件处理程序同步的方法,并使一些共享变量易变,一切正常.

我不知道我添加的20个奇怪的易失/同步声明中哪一个实际上解决了这个问题,这让我想到"我应该关心吗?它的工作原理并没有搞乱!"

所以,我的问题是:是否存在与声明同步方法或原始易失性相关的权衡?如果不需要这些声明,有没有理由避免这些声明?

编辑有问题
的线程是接收/发送流数据的蓝牙连接,因此ASyncTask和其他工作线程类型解决方案无法正常工作.它们设计用于执行有限任务并在完成后终止.有些像ASyncTask一样,也增加了很多开销,只会导致应用程序死亡.对于像这样连续运行的线程,使用Thread仍然是最好的方法.

我正在使用Android 服务来生成和管理线程,所以我在这方面遵循Android设计范例.

java multithreading android volatile synchronized

5
推荐指数
1
解决办法
988
查看次数