我正试图制作一个ImageView包含图像库的图片.通过触摸用户请求加载下一个图像.如果在服务器中找不到下一个图像或需要时间加载,我需要将旧图像清空.
setVisibility(View.GONE)或者setVisibility(View.INVISIBLE)不为我工作,因为当看不见/消失时我停止onTouch()检测(并且用户被锁定到当前图像).
如何ImageView加载空位图或清除(删除)当前位图?
onStartCommand(Intent, int, int)除了系统通过诸如START_STICKY?之类的标志重新启动服务之外,传递给它的Intent是否还有其他原因是NULL ?
此外,当系统重新启动服务时,该Intent.getAction()方法有时返回NULL ... Intent不仅仅是NULLgetAction()
我也在这里问过,但还没有得到答案.
UPDATE:马克·墨菲聊天后,他建议我返回START_REDELIVER_INTENT的onStartCommand()回调在我的服务,而不是START_STICKY使整个意图在重新启动发送.
我最初没有这样做,因为我担心如果服务试图做某事,那么在服务重新启动的那个中间......它会认识到它开始做那件事吗?我想这是逻辑我需要负责:)
我已经实现了BackupAgentHelper使用提供FileBackupHelper的备份和恢复我拥有的本机数据库.这是您通常与之一起使用ContentProviders并驻留在其中的数据库/data/data/yourpackage/databases/.
人们会认为这是一个常见的情况.但是,文档不清楚该怎么做:http://developer.android.com/guide/topics/data/backup.html.这些典型的数据库并不BackupHelper专门.因此,我使用了FileBackupHelper,将它指向我在."中的.db文件,在我的/databases/任何数据库操作(例如db.insert)中引入了锁ContentProviders,甚至尝试创建" /databases/"目录,onRestore()因为它在安装后不存在.
我已经SharedPreferences在过去的不同应用程序中成功实现了类似的解决方案.但是,当我在模拟器2.2中测试我的新实现时,我看到正在LocalTransport从日志执行备份,以及正在执行(并onRestore()调用)恢复.然而,db文件本身永远不会被创建.
请注意,这是在安装之后,以及在首次启动应用程序之后,在执行还原之后.除此之外,我的测试策略基于http://developer.android.com/guide/topics/data/backup.html#Testing.
还请注意,我不是在谈论我自己管理的一些sqlite数据库,也不是要备份到SDcard,自己的服务器或其他地方.
我确实在文档中提到有关建议使用自定义的数据库,BackupAgent但它似乎并不相关:
但是,如果需要,可能需要直接扩展BackupAgent:*备份数据库中的数据.如果您在用户重新安装应用程序时有要还原的SQLite数据库,则需要构建一个自定义BackupAgent,在备份操作期间读取相应的数据,然后创建表并在还原操作期间插入数据.
请清楚一点.
如果我真的需要自己完成SQL级别,那么我担心以下主题:
打开数据库和事务.我不知道如何在应用程序的工作流程之外从这样的单例类中关闭它们.
如何通知用户正在进行备份并且数据库已锁定.这可能需要很长时间,所以我可能需要显示进度条.
如何在恢复时执行相同操作.据我了解,恢复可能发生在用户已经开始使用应用程序(并将数据输入数据库)时.所以你不能假定只是恢复备份数据(删除空数据或旧数据).你必须以某种方式加入它,由于id的原因,任何非平凡的数据库都是不可能的.
如何在恢复完成后刷新应用程序,而不会让用户卡在某个 - 现在 - 无法访问的点.
我可以确定数据库是否已在备份或还原时升级?否则,预期的架构可能不匹配.
database android restore database-restore android-backup-service
我已将我的应用程序上传到谷歌播放,但用户报告了以下异常
java.lang.RuntimeException:WakeLock未锁定C2DM_LIB.当我尝试释放时发生此异常WakeLock.任何人都可以告诉可能是什么问题.
我在Eclipse Memory Analyzer(也称为MAT)的帮助下分析了我的Android应用程序的内存使用情况.有时我可以找到奇怪的android.graphics.Bitmap类实例,利用大部分堆.问题是我找不到这个位图的来源,没有文件名,没有resourceID,什么都没有.我能找到的关于位图的所有信息如下:

mBuffer我假设有一个带有图像像素阵列的场.但它采用的是一些内部Android格式,而不是PNG.
问题:如何从内存转储中查看此位图表示的图像?
我是Android应用程序开发的新手.现在我正在设计一个应用程序,因为我有一个Activity包含一些内容的内容,但这些内容更是内容不在屏幕之外.现在我想向用户显示该内容,但我不知道如何将滚动条保持为Activity.
如何使用滚动条向最终用户显示总内容RelativeLayout?
我需要能够GLSurfaceView在特定时刻捕捉到某个时刻的图像.我有以下代码:
relative.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(relative.getDrawingCache());
relative.setDrawingCacheEnabled(false);
Log.v(TAG, "Screenshot height: " + screenshot.getHeight());
image.setImageBitmap(screenshot);
Run Code Online (Sandbox Code Playgroud)
该GLSurfaceView包含内的RelativeLayout,但我也尝试它直接使用GLSurfaceView,试图捕捉图像.有了这个,我认为屏幕捕获透明图像,即没有任何东西.任何帮助将不胜感激.
我正在尝试使用H264Android上的硬件编码器从相机创建视频,并用于FFmpeg复用音频(所有这些都在Android手机上)
到目前为止我所做的是将H264视频打包成rtsp数据包,然后使用VLC(over UDP)对其进行解码,因此我知道视频的格式至少是正确的.但是,我无法以ffmpeg可以理解的格式获取视频数据.
我试着发送相同的rtsp本地主机上的数据包发送到端口5006(基于UDP),然后提供ffmpeg与sdp它告诉它哪个本地端口的视频流上进来,以及如何将视频解码,如果我没有理解文件rtsp正确流.然而,这不起作用,我无法诊断为什么,因为ffmpeg只是坐在那里等待输入.
出于延迟和可扩展性的原因,我不能将视频和音频发送到服务器并将其复制到那里,必须在手机上以尽可能轻的方式完成.
我想我正在寻找的是关于如何实现这一点的建议.最佳解决方案是将分组化H264视频发送到ffmpeg管道上,但之后我无法发送解码视频所需ffmpeg的sdp文件参数.
我可以根据请求提供更多信息,比如如何ffmpeg为Android编译,但我怀疑这是必要的.
哦,我开始的方式ffmpeg是通过命令行,我真的宁愿避免与jni纠缠,如果这是可能的.
非常感谢帮助,谢谢.
我想知道这个按钮调用的方法.

我的游戏总是暂停/继续正常除当我使用这个按钮,它看起来像这个按钮不会调用onPause()和onResume()一个方法活动.它可以工作,如果我退出游戏,转到另一个窗口(如图片中的那个),然后使用此按钮恢复.但是,如果我只是按下这个按钮,当游戏时,游戏暂停,但线程dosnt恢复就像它每隔一段时间一样,游戏类型只是停留在屏幕上并且有点闪烁.
很难解释,但我希望我有点清楚,如果没有,请问!
user-interface android button android-3.0-honeycomb android-4.0-ice-cream-sandwich
我正在尝试使用该Animator集顺序播放一组动画.除了alpha动画(set1)之外,一切正常.它从0.25f变为1但在整个动画中并没有消失,在动画结束时set1它从0.25变为1而没有考虑到setDuration(因此我没有得到淡入效果).所以我没有淡出效果......当我自己做这个动画时,淡入效果就在那里......任何想法?
我正在使用精彩的nineoldandroids库来实现这一点.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView image = (ImageView) findViewById(R.id.image);
final AnimatorSet set = new AnimatorSet();
set.play(ObjectAnimator.ofFloat(image, "translationX", 0, 100).setDuration(3000));
final AnimatorSet set1 = new AnimatorSet();
//THIS IS THE PROBLEMATIC ANIMATION!!
set1.play(ObjectAnimator.ofFloat(image, "alpha", 0.25f, 1).setDuration(3000));
final AnimatorSet set2 = new AnimatorSet();
set2.play(ObjectAnimator.ofFloat(image, "translationX", 100, 200).setDuration(3000));
final AnimatorSet set3 = new AnimatorSet();
set3.playSequentially(set,set1,set2);
set3.start();
}
Run Code Online (Sandbox Code Playgroud) android ×10
bitmap ×2
java ×2
android-4.0-ice-cream-sandwich ×1
android-c2dm ×1
android-ui ×1
button ×1
database ×1
ffmpeg ×1
h.264 ×1
hprof ×1
imageview ×1
memory-dump ×1
restore ×1
rtsp ×1