小编And*_*dan的帖子

Android系统.布局背景延伸

我想在RelativeLayout中放置背景图像.背景图像中有一些物体,如椅子,桌子,一些卡片等.

android:background="@drawable/remy_menu_background" 但该死的东西按照屏幕延伸,卡片和桌子看起来很紧张.

我该怎么做呢,所以在任何屏幕上看起来都不错?

android background screen

2
推荐指数
1
解决办法
6194
查看次数

应用程序从错误的活动重新启动

这是一个相当难的问题:

我打开我的应用程序.它启动一个活动,它充当splashscreen(ASplashscreen),在其中我JSON从本地存储(raw文件夹)加载一些数据并将其存储在singleton object(静态)内存中.完成此过程后,它会自动移动到主要活动(AMain)

我通过按下home button并运行其他应用程序,游戏等退出应用程序.当我重新打开我的应用程序时,应用程序在onCreate方法内崩溃,AMain因为它试图使用内部的一些数据,singleton object但数据是null.所以NullPointerException当它这样做时它会抛出一个.看来,它重新启动AMain,而不是ASplashscreensingleton没有机会重新初始化.

这种情况在多次尝试中随机发生......

我有两个假设......

  1. 我的第一个推测,也就是我对Android操作系统的了解,当我运行其他应用程序(尤其是游戏)时,其中一个需要大量内存,所以操作系统从内存中释放我的应用程序以腾出空间,所以singleton data是的garbage collected.

  2. 我还假设当gc从内存中删除我的单例时,操作系统仍保留一些与当前运行活动的"状态"相关的数据,因此它至少知道在AMain关闭应用程序之前它已经打开了活动.这可以解释为什么它重新开放AMain活动而不是ASplashscreen.

我对吗?或者是否有另一种解释为什么我得到这个例外?欢迎任何建议/澄清.

另外,处理这个问题的最佳方法是什么?我的方法是每当我尝试使用它时检查单例数据的存在,如果它是null,那么基本上只是重新启动应用程序.这使得它经历了ASplashscreen所以JSON初始化,一切都很好.

编辑根据要求,这是我的AndroidManifest

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
    android:name=".global.App"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:theme="@style/AppTheme">

    <!--SPLASH SCREEN--> …
Run Code Online (Sandbox Code Playgroud)

android

2
推荐指数
2
解决办法
1918
查看次数

安卓 共享首选项。崩溃时检索到损坏的数据

这更多是在某些方面征求您的意见,而不是问题。这将是有点,所以不用担心,如果你没有耐心看完这一切。如果您不这样做,请在这里停止:)

我目前使用共享偏好来频繁存储一些值,一个接一个,我的应用程序的执行过程中。实际上,这些值每2秒更改一次,并且需要将其存储在首选项中,因此用户在关闭应用程序并重新打开后,可以从中断的位置继续进行操作。

我想到的一个问题是,如果在任何情况下都强行关闭了该应用程序,例如电池没电了,则在保存值的同时,当用户尝试从上次中断的地方恢复时,数据不会是有效的,因为它以前并未完全保存过(例如,只有5个值中的2个得以保存)。

我如何解决此问题的方法是在“两个插槽”中保存两次数据(我的意思是插槽是每个值,就像我说过的多个值一样,将存储在“ valueName_1”或“ valueName_2”中”)和正常值存储旁边,我还将在首选项内保存两个值,这些值将用于验证数据是否已完全保存。这两个值之一curSavingSpot将引用我最后保存(或在失败时进行TRIED保存)的两个插槽之一的位置,另一个将跟踪最后存储的值是否为ALL存储成功地curSavedSuccessfully

例如:

  • 最初,Shared Pref中的每个字段均为空。curSavingSpot指向1(第一个“插槽”),并且curSavedSuccessfully为false。
  • 我开始将值保存到插槽1中,并在不中断的情况下完成保存,因此curSavedSuccessfully当我们成功保存所有值后,这些设置将变为真实

  • 2秒后,我开始保存新值。这次是在插槽2中。但是首先,我将curSavingSpot值设置为2 AND设置curSavedSuccessfully为false。假设当我保存5个值中的3个(还剩下2个)时,设备崩溃了。当我重新启动它时,我会首先检查上一次保存会话是否成功完成,根据curSavedSuccessfullycurSavingSpot件事并没有发生,所以我查看并取相反的值,在这种情况下,我知道2尚未成功完成,因此,这意味着1具有正确的值。

你怎么看?这是这样做的好方法吗?有没有更好的方法来确保它已保存所有必需的值?

有什么建议么?这个想法有什么缺陷吗?

抱歉,很长的帖子。

android sharedpreferences

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

从<div>中删除文本

可能重复:
使用jQuery删除文本

我想从a中删除文本div,但div包含其他节点.

如果我使用$("#hwiTestimonial").text("");它也会删除<br/>和删除它<div>.我怎样才能指定删除文本,没有任何节点?

<div id="hwiTestimonial">
    " Bla bla" 
    <br/>
    <div>....</div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

无法从Android Studio中的项目结构中删除模块

我正在尝试删除"库"作为模块.我正在使用Android Studio 3.0.1.

在此输入图像描述

如果我点击红色" - "它会将其删除但是在gradle自动构建之后,它会再次将其添加回来.我从build.gradle中删除了依赖项,因此"app"不再使用它.我也无法从Android Studio中"删除"该文件夹.我唯一能想到的就是直接从Windodows中删除它,但我真的很好奇,如果它是一个bug或为什么我不能从Android Studio这样做.

有任何想法吗?

android android-studio

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

应用程序不断 ping client3.google.com/generate_204

任何想法为什么我的应用程序不断 ping 这个网址:http://clients3.google.com/generate_204

我没有在应用程序中执行任何操作,只需将其保持打开状态,它就会每秒左右对该链接进行 ping 操作。我在哪个屏幕上并不重要,它会一直这样做。

关于它从何而来、为什么以及如何阻止它有什么想法吗?

在此输入图像描述

在此输入图像描述

在此输入图像描述

android

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

来自子线程的Android广播

我正在尝试使用广播公司将消息从子线程发送到主UI线程.所以我的活动有一个广播接收器(我讨厌多个),我希望能够从一个单独的子线程(runnable)发送消息.

这是我在子线程中正在做的事情:

Intent broadcastIntent = new Intent();
broadcastIntent.setAction(ResponseReceiver.ACTION_RESP);
broadcastIntent.putExtra("Controller", "connect");
context.sendBroadcast(broadcastIntent);
Run Code Online (Sandbox Code Playgroud)

但问题是我如何定义上下文?它给出了异常"上下文无法解决"如果我不使用它,它将找不到"sendBroadcast"方法.那么怎么做呢?

multithreading android broadcast broadcastreceiver

0
推荐指数
1
解决办法
3455
查看次数