有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获取Asynk任务的ANR

我正在使用Asynk任务通过4G网络从db导出数据,如果网络连接不好,我会遇到ANR崩溃

  @Override
public int onStartCommand(Intent intent, int flags, int startId) {
    // TODO Auto-generated method stub

    FetchUrl fetchUrl=new FetchUrl();
    fetchUrl.execute();
    return START_STICKY;
}

private class FetchUrl extends AsyncTask<Void, Void, Boolean> {

    @Override
    protected Boolean doInBackground(Void... params) {

        try {
            ExportData dataExchange = new ExportData(getApplicationContext());
            Date currentTime = Calendar.getInstance().getTime();
            String format1 = new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.ENGLISH).format(currentTime);
            dataExchange.export_data(String.valueOf(format1).replace(":", "_"));
        } catch (Exception e) {
            return false;
        }
        return true;
    }

}

在函数export_中,数据被导出到ftp和mySQL服务器 在这里,我开始使用ftp

 FTPClient ftpClient = new FTPClient();
            try {
                ftpClient.setDefaultTimeout(2000);
                ftpClient.setConnectTimeout(2000);
                ftpClient.setDataTimeout(2000);
                ftpClient.setControlKeepAliveTimeout(2000);

这里我为mySql服务器设置了超时

inal HttpParams httpParams=new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParams,3000);
            HttpClient httpClient=new DefaultHttpClient(httpParams);
            HttpPost httpPost=new HttpPost(strURL);

共 (0) 个答案