小编AL̲*_*̲̳I的帖子

一段时间后取消AsyncTask

这可能是一个重复的问题,但我找不到我想要的东西.我在UI活动中调用AsyncTask, new LoadData().execute();在doInBackground中我调用了一个需要时间的方法.如果数据在一段时间后没有返回,我想中断此线程.下面是我尝试这样做的代码.

class LoadData extends AsyncTask<String, String, String>
{
    @Override
    protected void onPreExecute() {
    super.onPreExecute();
    startTime = System.currentTimeMillis();
    }
    protected String doInBackground(String... args)
    {

        DataCollector dc = new DataCollector();
        data = dc.collectData(query);
        //Here I check if the time is greater than 30 seconds then cancel
        if(((System.currentTimeMillis()-startTime)/1000)>30)
        {
           cancel(true);
        }
    return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

但这并不能在30秒后停止任务,事实上它需要更多的时间.我也尝试过get(long timeout, TimeUnit unit);,但这也不起作用.

任何人都可以告诉我我该怎么做或如何在doInBackground中使用isCancelled().

谢谢.

java android android-asynctask

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

如何在指南针上显示风向

我正在开发一个Web应用程序,我必须显示温度,湿度,风速,风向等.我正在使用google.visualization.Gauge()来显示其他内容,但我想在指南针上显示风向.有没有人知道我可以用于网站/ webapp的任何(jQuery/javascript/etc)指南针?谢谢

javascript jquery jquery-ui compass-geolocation

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

从GPS坐标获取城市名称

我想从GPS坐标获取城市的名称.我可以使用Google API获取GPS点的详细信息

http://maps.googleapis.com/maps/api/geocode/output?parameters
Run Code Online (Sandbox Code Playgroud)

输出是XML,我不想...例如

http://maps.google.com/maps/api/geocode/xmllatlng=53.244921,-2.479539&sensor=false&region=gb
Run Code Online (Sandbox Code Playgroud)

返回我的坐标的XML细节....我不认为很容易得到城市的名称....我只想要城市的名称..谢谢你提前帮助

gps google-api city

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

从字符串中删除列表或数组的元素

我有一个列表或字符串数​​组

String [] elements = {"cat", "dog", "fish"};
Run Code Online (Sandbox Code Playgroud)

和一个字符串

String str = "This is a caterpillar and that is a dogger.";
Run Code Online (Sandbox Code Playgroud)

我想从字符串中删除数组/列表的所有项目(如果字符串中存在)。这样函数应该返回一个字符串

str = "This is a erpillar and that is a ger." (cat and dog removed from the string)
Run Code Online (Sandbox Code Playgroud)

我可以做这样的事情

private String removeElementsFromString (String str, String [] elements) {
        if(Arrays.stream(elements).anyMatch(str::contains)){
            for(String item : elements){
                str = str.replace(item, "");
            }
        }
        return str;
    }
Run Code Online (Sandbox Code Playgroud)

但是将 for 循环更改为其他循环的优雅方法是什么?

java arrays string list

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

未知的SMTP主机

我正在使用tomcat运行Java Web应用程序,通过电子邮件将生成的报告发送给用户.我能够发送电子邮件,但几个小时后服务器停止发送电子邮件,出现以下错误.

javax.mail.MessagingException: Unknown SMTP host: mail.mydomain.co.uk;
nested exception is:
java.net.UnknownHostException: mail.mydomain.co.uk
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at com.turnkey.email.SendEmail.sendMail(SendEmail.java:119)
at com.turnkey.thread.CommunicationThread.run(CommunicationThread.java:399)
Caused by: java.net.UnknownHostException: mail.mydomain.co.uk
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 8 more
Run Code Online (Sandbox Code Playgroud)

一段时间后,服务器再次开始发送电子邮件.

谁能告诉我可能是什么问题.我该如何解决这个问题?

谢谢

java smtp jakarta-mail

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

MySQL:如果其他表中存在则按列排序

我有两张桌子

  1. users(用户 ID、名称、位置、类型等)
  2. onlineusers(用户 ID、状态等)

我想列出所有userswhere type ='sometype'并按usersasc 排序,但首先所有用户都存在于onlineusers表中,然后是那些不在onlineusers表中的用户。

我已经设法首先获得所有在线用户,但它们不是按升序排列的。

这就是我尝试过的

SELECT * FROM users u 
LEFT JOIN onlineusers o on u.userID = o.userID
where u.type = 'sometype' 
order by IFNULL(o.userID,9999) desc;
Run Code Online (Sandbox Code Playgroud)

谢谢

mysql

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

按钮单击时Android布局高度不更新

在布局中,我有一个切换视图可见性的按钮(隐藏/显示线性布局).在这个布局里面我也有一个微调器.当我单击按钮时,它会切换可见性,但不会将布局高度更改为wrap_content,但是当我更改微调器值时,它会更新高度.

这是XML布局代码

 <LinearLayout
    android:id="@+id/layoutA1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvAlarmHeading"
    android:layout_margin="5dip"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:background="@drawable/transparent_border"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/layoutA1C1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <Spinner
                android:id="@+id/spnParameterA1C1"
                android:layout_width="140dp"
                android:layout_height="wrap_content"
                android:textSize="20sp" />



        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/btnAddA1C1"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center"
                android:background="@drawable/button_pattern"
                android:text="+"
                android:textSize="22sp" />

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/layoutA1C2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <Spinner
                android:id="@+id/spnConditionA1"
                android:layout_width="70dp"
                android:layout_height="wrap_content"
                android:textSize="18sp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:gravity="center" …
Run Code Online (Sandbox Code Playgroud)

layout android

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