小编Sco*_*ers的帖子

获取数组中的所有非唯一值(即:重复/多次出现)

我需要检查一个JavaScript数组,看看是否有任何重复的值.最简单的方法是什么?我只需要找到重复的值是什么 - 我实际上并不需要它们的索引或重复它们的次数.

我知道我可以遍历数组并检查匹配的所有其他值,但似乎应该有一个更简单的方法.有任何想法吗?谢谢!

类似的问题:

javascript arrays

397
推荐指数
20
解决办法
55万
查看次数

如何让Android服务与Activity通信

我正在编写我的第一个Android应用程序,并试图了解服务和活动之间的沟通.我有一个将在后台运行的服务,并执行一些基于gps和时间的日志记录.我将有一个用于启动和停止服务的活动.

首先,我需要能够在Activity启动时确定服务是否正在运行.这里还有其他一些问题,所以我想我可以搞清楚(但随意提供建议).

我的真正问题:如果Activity正在运行且服务已启动,我需要一种方法让服务向Activity发送消息.此时简单的字符串和整数 - 主要是状态消息.消息不会定期发生,因此如果有其他方法,我认为轮询服务不是一个好方法.我只想在用户启动Activity时进行此通信 - 我不想从服务启动Activity.换句话说,如果您启动Activity并且服务正在运行,那么当有趣的事情发生时,您将在Activity UI中看到一些状态消息.如果你没有启动Activity,你将看不到这些消息(它们并不那么有趣).

看起来我应该能够确定服务是否正在运行,如果是,则将Activity添加为侦听器.然后在"活动"暂停或停止时将"活动"作为侦听器删除.这有可能吗?我能想到的唯一方法是让Activity实现Parcelable并构建一个AIDL文件,这样我就可以通过Service的远程接口传递它.这看起来有点矫枉过正,我不知道Activity应该如何实现writeToParcel()/ readFromParcel().

有更简单或更好的方法吗?谢谢你的帮助.

编辑:

对于后来对此感兴趣的任何人,都有来自Google的示例代码,用于通过示例目录中的AIDL处理此问题:/apis/app/RemoteService.java

android android-service android-activity

245
推荐指数
8
解决办法
15万
查看次数

如何调整AVD仿真器的大小(在Eclipse中)?

我正在为一家拥有一些Droid手机的小型企业编写我的第一个Android应用程序.我为手机设置了AVD,分辨率正确:854像素高.

我正在使用最高屏幕分辨率为900像素的MacBook Pro,因此当模拟器启动时,底部会被切断.

有没有办法将模拟器显示缩小到75%或其他什么,以便它适合我的屏幕?任何其他解决方案(除了在手机上运行所有内容)?

eclipse android emulation

148
推荐指数
5
解决办法
8万
查看次数

同步客户端 - 服务器数据库

我正在寻找一些将中央服务器上的数据与不总是在线的客户端应用程序同步的一般策略.

在我的特定情况下,我有一个带有sqlite数据库的android手机应用程序和带有MySQL数据库的PHP Web应用程序.

用户将能够在电话应用程序和Web应用程序上添加和编辑信息.我需要确保即使手机无法立即与服务器通信,在一个地方进行的更改也会反映在任何地方.

我不关心如何将数据从手机传输到服务器,反之亦然.我只提到我的特定技术,因为我不能使用MySQL可用的复制功能.

我知道客户端 - 服务器数据同步问题已经存在很长很长时间了,并且希望获得有关处理问题的模式的信息 - 文章,书籍,建议等.我想知道处理同步的一般策略,以比较优势,劣势和权衡.

sql database design-patterns client-server data-synchronization

78
推荐指数
4
解决办法
2万
查看次数

手机重启后可以获取logcat日志吗?

我正在测试一个具有长期运行服务的Android应用程序.我正在使用Eclipse,并将usb线连接在我旁边的手机上.由于这是一项长期持续的服务,我在运行时做了一些其他工作,并且每隔一段时间检查一次logcat日志,以确保一切按预期进行.

几分钟前我注意到手机重启了.我认为它之前已经完成了,因为它可以解释一些奇怪的应用程序行为.我很快切换到Eclipse,看看发生了什么,发现logcat日志(似乎)在重启过程中被清除了.所以没有记录我的应用程序是否崩溃(并取下电话?!)或是否有其他问题导致手机和我的应用程序崩溃.

无论如何我能找出发生了什么?这是一款开发手机,所以我不知道它是经常自行重启/崩溃,还是仅在我的应用运行时才重新启动/崩溃.这是摩托罗拉Droid运行固件版本2.1-update1.

谢谢你的帮助.

android reboot logcat

21
推荐指数
2
解决办法
3万
查看次数

我可以确定在javascript中使用了哪个提交按钮吗?

我有一个非常简单的表单,其中包含名称字段和两个提交按钮:"更改"和"删除".我需要在提交表单时在javascript中进行一些表单验证,因此我需要知道单击了哪个按钮.如果用户点击回车键,则"更改"值是进入服务器的值.所以,我只需要知道是否点击了"删除"按钮.

我可以确定点击了哪个按钮吗?或者我是否需要将"删除"按钮从提交更改为常规按钮并捕获其onclick事件以提交表单?

表单如下所示:

 <form action="update.php" method="post" onsubmit="return checkForm(this);">
    <input type="text" name="tagName" size="30" value="name goes here" />
    <input type="hidden" name="tagID" value="1" />
    <input type="submit" name="submit" value="Change" />
    <input type="submit" name="submit" value="Delete" />
 </form>
Run Code Online (Sandbox Code Playgroud)

checkForm()函数中,form["submit"]是一个节点列表,而不是我可以获取的单个元素的值.

javascript

16
推荐指数
5
解决办法
2万
查看次数

使用RecursiveDirectoryIterator对目录列表进行排序

我正在使用RecursiveDirectoryIteratorRecursiveIteratorIterator使用如下代码构建文件列表树.我需要对列表进行排序 - 按字母顺序排列目录,或按字母顺序排列.

谁能告诉我如何对文件列表进行排序?

$dir_iterator = new RecursiveDirectoryIterator($groupDirectory);
$iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $file) {
    // do stuff with $file
}
Run Code Online (Sandbox Code Playgroud)

php sorting recursion spl

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

Android GPS超时

编辑:我正在重写这个问题,因为我显然不清楚.

有时Android手机上的GPS服务需要很长时间才能得到修复.有时它很快,有时需要几个小时.我知道并接受这个.

我有一个做很多事情的应用程序.它必须做的一件事是允许用户单击按钮将其当前坐标发送到服务器.我需要的是当用户点击按钮时或在此后合理的短时间内手机的坐标.

因为我知道获得GPS修复不是即时的,我知道它可能需要几分钟或几小时(在此期间用户移动了很长的距离),我需要为此功能编写超时代码.对于此功能,在用户点击按钮后三分钟(例如)上传用户的GPS位置是不可接受的.如果它花了45秒就没关系,如果需要75秒则不行.如果功能无法足够快地获取位置,则可以向用户提供错误通知.

我需要一个功能'获取GPS位置并将其发送到服务器,除非它需要超过一分钟 '.

我的原始代码如下.自发布以来我已经改变了一些东西.我在onStartCommand()方法中添加了一个Timer.我启动一个TimerTask,60秒后会调用我的stop()方法.在onLocationChanged()方法的开头,我取消了TimerTask.

我的问题是:Timer方案是实现此超时的好方法吗?有没有更好的办法?

原始问题:

我正在编写一个Android应用程序,除其他外,需要在用户告知时将当前GPS坐标发送到服务器.从上下文菜单中,我运行以下服务.该服务是LocationListener并从LocationManager请求更新.当它获得一个位置(onLocationChanged())时,它将自己作为一个监听器删除并将坐标发送到服务器.所有这些都有效.

但是,如果GPS坐标不能快速获得,我的服务会一直运行直到它得到一些.它通过进度对话框来保持UI,这很烦人.更糟糕的是,如果用户自启动服务后已移动,则第一个GPS坐标可能是错误的,应用程序将向服务器发送错误数据.

我需要服务超时.有没有一个好方法呢?我对线程不太熟悉.我想我可以在onStartCommand()方法中运行Runnable,它会以某种方式倒计时30秒,然后,如果还没有GPS结果,则调用我的服务的stop()方法.这听起来像是最好的方法吗?

或者,是否可以判断GPS是否无法修复?我该怎么做呢?

编辑:为了进一步澄清,我正在寻找在一段时间后"放弃"获取位置的最佳方式.

public class AddCurrentLocation extends Service implements LocationListener {

    Application app;
    LocationManager mLocManager;
    ProgressDialog mDialog;

    @Override
    public int onStartCommand(Intent intent, int arg0, int arg1) {
        app = getApplication();

        // show progress dialog
        if (app.getScreen() != null) {
            mDialog = ProgressDialog.show(app.getScreen(), "", "Adding Location. Please wait...", true);
        }

        // find GPS service and start listening
        Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        mLocManager = …
Run Code Online (Sandbox Code Playgroud)

gps android

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

循环遍历数据数组并打印"递增"字母

我需要遍历一个数据数组并为每个数组值打印一个"递增"字母.我知道我可以这样做:

$array = array(11, 33, 44, 98, 1, 3, 2, 9, 66, 21, 45); // array to loop through
$letters = array('a', 'b', 'c', ...); // array of letters to access
$i = 0;
foreach($array as $value) {
    echo $letters[$i++] . " - $value";
}
Run Code Online (Sandbox Code Playgroud)

似乎应该有一种比创建字母数组更好的方法.有什么建议?

注意 - 我的循环永远不会通过整个字母表,所以我不担心用完字母.

php

11
推荐指数
3
解决办法
2119
查看次数

用于阅读文本的算法或模式

我公司有一个客户跟踪不同地点不同公司的产品价格.此信息将进入数据库.

这些公司每天通过电子邮件将价格发送给我们的客户,当然电子邮件的格式也不同.任何公司都不可能改变他们的格式 - 他们不会这样做.

有些看起来像这样:

    This is example text that could be many lines long...

    Location 1
    Product 1     Product 2     Product 3
    $20.99        $21.99        $33.79

    Location 2
    Product 1     Product 2     Product 3
    $24.99        $22.88        $35.59

其他人看起来像这样:

    PRODUCT       PRICE    + / -
    ------------  -------- -------
    Location 1
    1             2007.30 +048.20
    2             2022.50 +048.20

    Maybe some multiline text here about a holiday or something...

    Location 2
    1             2017.30 +048.20
    2             2032.50 +048.20

目前,我们为每个公司的电子邮件格式编写了单独的解析器.但这些格式经常变化不大.我们不能指望每次都在同一行或列上的价格.

我们查看电子邮件并确定哪个价格与哪个产品位于哪个位置是微不足道的.但对我们的代码而言并非如此.因此,我正在尝试寻找更灵活的解决方案,并希望您就采取何种方法提出建议.我对从正则表达式到神经网络的任何事情持开放态度 - 我将学习如何使这项工作成功,我只是不知道我需要学习什么.这是一个lex/parsing问题吗?更类似于OCR?

代码不必单独找出所有格式.电子邮件分为几个主要的'样式',如上所述.我们确实需要代码足够灵活,以至于新产品系列或空格或某些内容不会使文件无法解析.

感谢您提供有关从哪里开始的任何建议.

algorithm parsing

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

iOS应用程序处于后台时的HTTP连接,如果处于脱机状态则重试

我写了一个基本的位置跟踪应用程序,它将在后台运行.(不只是后台线程,但是当设备很暗时.)我有UIBackgroundModes键设置,这部分很好地将位置写入屏幕.

接下来,我需要处理这些位置.根据位置和其他一些标准,应用程序需要偶尔通过HTTP get或post向服务器发送一些信息.有一些挑战:

  1. 即使应用程序在后台,也需要将消息发送到服务器.

  2. 即使设备在生成消息时处于脱机状态(用户在获取gps位置时通常不在单元格范围内),也需要将消息发送到服务器.当然,消息不必立即发送,但应在设备重新联机时存储和发送消息.

  3. 如果消息没有成为第一次尝试,那么在放弃之前应该重新发送几次.

我正在寻找帮助来规划如何处理这三件事.

该应用程序将针对iOS6 +.

我是一个新的iOS开发者,但我开发了一个非常类似的Android应用程序.我正在寻找一般的建议和策略 - 而不是代码,除非碰巧有一些已经存在.我还不太清楚iOS/Objective C是否已经知道是否已经有类或框架来处理它或帮助解决它的各个方面.我已经看到很多"如何将数据发送到服务器"的例子,这不是我想要的.相反,我想指出哪些类或系统可能有助于管理重试连接/命令,如何在后台处理它等等.此外,警告要注意的问题也很有帮助.非常感谢任何建议.

objective-c ios ios6

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

event.pageX - 在未通过JQuery绑定的函数中使用JQuery事件?

我有一个表,当用户点击每个单元格时,一些细节应出现在用户单击的小弹出框中.我正在使用JQuery,但不是将函数绑定到onclick事件.

function detailPopup(cell, event, groupName, groupID, ...)
{
   var newDiv = document.createElement("div");
   newDiv.id = "detailPop" + groupID;
   newDiv.className = "priceDetailPopup";
   newDiv.innerHTML = "<p>" + groupName + "</p>"; // more will go here
   $(newDiv).click(function()
       {
           $(this).fadeOut("fast").remove();
       }
   );
   $("#main").append(newDiv);
   $(newDiv).css({"left" : event.pageX, "top" : event.pageY}).fadeIn("fast");
}
Run Code Online (Sandbox Code Playgroud)

在FF,Safari和Chrome中,一切都非常出色.在IE中,除了细节div出现在表格下方之外,它都有效.event.pageX/Y不起作用.我知道如果我通过JQuery绑定函数,JQuery将为IE修复这些:

$(cell).click(function(e) { ... e.pageX ... })
Run Code Online (Sandbox Code Playgroud)

但我不能这样做.(我认为我不能 - 如果你这样做,请解释如何在不使用单元格中的非xhtml标签的情况下将六个变量放入该函数中.)

有没有办法让JQuery"修复"事件对象而不通过JQuery绑定函数?$ JQuery.fixEvent(事件); 或者其他的东西?我在他们的网站上找不到任何参考.

提前谢谢了.

javascript jquery events

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