Articles of android

为我的应用指定max sqlite db size。 如何处理db完全exception

我在接受采访时被问到如何为我们的Android应用程序设置sqlite db的最大大小。 我们如何处理最大尺寸? 编辑 :Marina Lynn的回答似乎可以接受这个问题。 但是当db大小达到我们指定的极限附近时,是否会触发某种侦听器? (或类似的东西)

从接收器/服务打开屏幕

我希望我的应用能够打开屏幕并显示我的应用。 假设我正在设置闹钟,每小时我都希望我的应用在设备自然睡眠前显示2分钟。 我看到WakeLock(FULL_LOCK)和KeyguardManager已被弃用。 我创建了一个WakefulBroadcastReceiver和服务,这些都在工作。 @Override protected void onHandleIntent(Intent intent) { // I need to show the screen here! for (int i=0; i<5; i++) { Log.i("SimpleWakefulReceiver", "Running service " + (i + 1) + "/5 @ " + SystemClock.elapsedRealtime()); try { Thread.sleep(5000); } catch (InterruptedException e) { } } Log.i("SimpleWakefulReceiver", "Completed service @ " + SystemClock.elapsedRealtime()); […]

除了WebView.getSettings()之外,有没有办法获取默认的用户代理字符串.getUserAgentString()?

我想在HttpClient连接中使用手机的默认用户代理,并想知道是否有办法获取用户代理而无需使用WebView进行查询。

使用自定义上下文操作栏进行WebView文本选择

我使用了Google和本教程中的指南来制作我自己的上下文操作栏。 private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() { // Called when the action mode is created; startActionMode() was called @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { // Inflate a menu resource providing context menu items MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.annotation_menu, menu); return true; } // Called each time the action mode is shown. // […]

哪种Activity生命周期方法最适合注册/注销到事件总线?

在活动中注册和注销事件总线(如otto,EventBus或tinybus)的最佳位置是什么?为什么? 的onCreate() – 的onDestroy() 在onStart() – 的onStop() 的onResume() – 的onPause() Otto的例子使用onResume() – onPause(),EventBus提到onStart() – onStop(),我们需要在我们的app中使用onCreate() – onDestroy()来更新活动的UI,即使它在后台也是如此。 所以我想它可以是三个中的任何一个,取决于事件的性质和它们的处理,但我想知道是否还有更多应该考虑的事情。

Oreo 8.0 / 8.1中未显示启动器图标

说明: 我在谷歌游戏市场有一个工作的应用程序。 在4.0-7.0的Android版本中一切正常。 案件: 当客户端在他的Android 8.0(奥利奥)上下载它时,启动器图标似乎没有显示,而是显示了android的默认启动器图标! 题: 谁遇到过这样的问题? 我需要任何提示来解决它因为它看起来很奇怪,因为我在mipmap文件夹中有所有4个types的.png图标。

片段 – 您是否必须在包含整个Activity的片段周围使用Activity Wrapper?

考虑来自developers.android.com的示例应用程序 这描述了像这样使用Fragments: 在电话上,您可以在活动A上使用片段1,在活动B上使用片段2。 在平板电脑上你有更多的空间,所以你在活动A上使用片段1和片段2。 大! …但是……在第一个例子(带有电话的那个)你创建了一个带有xml文件的Activity,其中包含一个而这就是你在该xml上只调用setContentView()的活动吗? 这似乎是很多冗余代码(Activity,XML和Fragment来显示片段):你能将Fragment设置为Activity还是一个总是需要XML的包装器?

android:dither =“true”不抖,有什么不对?

我一直试图让android来抖动一个活动的背景图像 – 到目前为止还没有成功。 我不知道出了什么问题。 这就是我做的: 我的活动布局的根元素是LinearLayout: 我添加了@ drawable / background_dither作为背景图片。 我在drawable-hdpi中放了一个XML文件“background_dither.xml”,其中包含以下内容: 它引用了drawable-hdpi中的实际图像background.png。 包含大颜色渐变的图像确实显示,但带有沉重的色带。 从我从SDK中学到的东西,可以通过使用/上面的代理图像定义以及指定android:dither =“true”来减轻这种情况。 然而,这绝对没有效果。 我错过了什么让犹豫不决的工作? EDIT :在这里上传源 EDIT2 :在没有任何建议的方法有助于摆脱色带之后,在阅读了Romain Guy的这篇博文之后,我有了检查我的PNG背景是否有alpha通道的想法。 它没有。 添加一个之后,android实际上似乎使用了RGB8888,如post所述并且条带消失了(也是2.2)。 仍然想知道为什么其他方法不起作用。 EDIT3 :必须确保PNG不仅有一个alpha通道,而且还有至少一个具有alpha值的像素!= FF,否则android构建工具将再次将该位图剥离到没有alpha通道的索引调色板。

如何在Android中安全地存储加密密钥?

我想知道如何在Android中安全地存储加密密钥 ? 保护加密和密钥的最佳方案是什么?

Android更改材质高程阴影颜色

是否可以更改xml提升属性生成的阴影颜色? 我希望通过代码动态更改阴影。