/** * 上传文件 * * @param param * @return */ public int upLoadFile(HttpRequestParam param) { // 创建请求响应的返回对象 final HttpRequestResult httpRequestResult = createHttpRequestResult(param); int handle = createHttpHandle(param, httpRequestResult); // 如果创建Handle失败,则直接返回请求失败 if (httpRequestResult.getStatus() == HttpRequestStatus.FAILED) { return -1; } pool.put(handle, param); Logger.beginDebug(EspaceService.TAG).p("HttpManager:pool:" + pool).end(); int httpRet = httpUploadFile( handle, param.getMethod(), param.getUrl(), param.getBody(), param.getFilePath()); // 发送失败 if (HttpParam.EN_HTTP_ERRORCODE.EN_HTTP_OK != httpRet) { pool.remove(handle); Logger.beginDebug(EspaceService.TAG) .p("HttpManager:SENDREQUEST ERROR:httpRet:" + httpRet) .end(); httpRequestResult.setStatus(HttpRequestStatus.FAILED); return -1; } return handle; }
/** 方法名称:httpUninit 作者: zhang dong 00199735 创建时间:2012-08-30 方法描述:http反初始化 输入参数: 备注: */ public int httpUninit() { if (httpSdk != null) { int iRet = httpSdk.HttpUninit(); Logger.debug(EspaceService.TAG, "HttpManager:httpUninit:" + iRet); } return 0; }
/** 释放所有 http 句柄 */ public void httpReleaseAllHandle() { for (int handle : pool.getMap().keySet()) { Logger.debug(EspaceService.TAG, "HttpManager:httpReleaseAllHandle:handle:" + handle); httpReleaseHandle(handle); pool.remove(handle); } }
/** * 方法名称:httpUploadFile 作者: zhang dong 00199735 创建时间:2012-08-30 方法描述:上传文件 输入参数:filepath 文件路径 备注: */ private int httpUploadFile(int handle, String method, String url, String body, String filePath) { StringBuffer strParam = new StringBuffer(); strParam.append("<httpsdk>"); strParam.append("<handle>").append(handle).append("</handle>"); strParam.append("<method>").append(method).append("</method>"); strParam.append("<url>").append(url).append("</url>"); strParam.append("<heads>"); // strParam.append("<Content-Type>").append("text/xml") // .append("</Content-Type>"); // strParam.append("<Cache-Control>").append("non-cache") // .append("</Cache-Control>"); // strParam.append("<User-Agent>") // .append("Mozilla/4.0 (compatible; MSIE 60; Windows.NT)") // .append("</User-Agent>"); // strParam.append("<Accept-Encoding>").append("gzip, deflate") // .append("</Accept-Encoding>"); strParam.append("<Connection>").append("Keep-Alive").append("</Connection>"); // strParam.append("<Accept>").append("*/*").append("</Accept>"); strParam.append("</heads>"); // strParam.append("<body>").append(body).append("</body>"); strParam.append("<filepath>").append(filePath).append("</filepath>"); strParam.append("<needprogress>").append("1").append("</needprogress>"); strParam.append("</httpsdk>"); int iRet = httpSdk.HttpUploadFile(strParam.toString()); Logger.beginDebug(EspaceService.TAG).p("HttpManager:httpUploadFile:" + iRet).end(); return iRet; }
public void download() { if (curStatus == STATUS_UM) { UmFunc.getIns().downloadFile(message, resource); } else if (curStatus == STATUS_GROUP_ZONE) { GroupZoneFunc.ins().downloadFile(groupFile); } else if (curStatus == STATUS_PREVIEW) { // do nothing Logger.error(LocalLog.APPTAG, "local file, don't download."); } }
/** * httpSdk 初始化 * * @param logPath */ public void initHttpSdk(String logPath) { this.logPath = logPath; // 全局唯一,只初始化一次 if (httpSdk == null) { Logger.debug(EspaceService.TAG, "httpsdk init:logPath:" + logPath); httpSdk = HttpSdk.registerCallback(this); } }
public void cancelTransfer() { if (curStatus == STATUS_UM) { AutoCancelStack.getIns().cancelAuto(message.getMessageId()); UmFunc.getIns().cancelTransFile(message.getId(), resource.getMediaId(), false); } else if (curStatus == STATUS_GROUP_ZONE) { GroupZoneFunc.ins().cancelDownload(groupFile); } else if (curStatus == STATUS_PREVIEW) { // do nothing Logger.error(LocalLog.APPTAG, "local file, don't download."); } }
/** * 发送消息给ui,打开文件。 * * @param filePath */ private void openFile(String filePath) { Logger.debug(LocalLog.APPTAG, "file path = " + filePath); Bundle mBundle = new Bundle(); mBundle.putString(IntentData.PATH, filePath); Message msg = handler.obtainMessage(); msg.what = OPEN_FILE; msg.setData(mBundle); handler.sendMessage(msg); }
@Override public void run() { try { // 延迟1.5s处理,如果还不存在公众号, // 则不处理这个公众号的消息 Thread.sleep(1500); } catch (InterruptedException e) { Logger.error(EspaceService.TAG, e); } handleMsgLists(msgLists, null); }
public void write(Logger record) { String body = record.body(); writeAndroidLog(record.tag(), record.level(), body); writeLogFile(record.tag(), record.level(), record.head() + body); }
/** * 创建请求Handle, 有可能失败 * * @param param * @param httpRequestResult * @return */ private int createHttpHandle(HttpRequestParam param, final HttpRequestResult httpRequestResult) { if (!init) { httpInit(HttpParam.EN_HTTP_LOG_LEVEL.EN_HTTP_LOG_DEBUG, 10, logPath, 50); } String strRet = httpCreateHandle( param.getIpAddress(), param.getPort(), param.getTlsMode(), param.getAuthMode(), param.getAccount(), param.getPassword(), param.getFullnumber()); int iRet = StringUtil.findIntElement( strRet, "<ret>", "</ret>", HttpParam.EN_HTTP_ERRORCODE.EN_HTTP_OK); // 是否创建成功 if (HttpParam.EN_HTTP_ERRORCODE.EN_HTTP_OK != iRet) { Logger.beginDebug(EspaceService.TAG).p("HttpManager:httpCreateHandle FAIL:" + strRet).end(); httpRequestResult.setStatus(HttpRequestStatus.FAILED); } int handle = StringUtil.findIntElement(strRet, "<handle>", "</handle>", -1); // 是否创建成功 if (0 > handle) { Logger.beginDebug(EspaceService.TAG) .p("HttpManager:httpCreateHandle is ERROR:" + strRet) .end(); httpRequestResult.setStatus(HttpRequestStatus.FAILED); } return handle; }
/** * 方法名称:httpInit 作者: zhang dong 00199735 创建时间:2012-08-30 方法描述:http初始化 输入参数: 备注: * * @param handlenum */ private int httpInit(int logLevel, int logSize, String logPath, int handlenum) { StringBuffer strParam = new StringBuffer(); strParam.append("<httpsdk>"); strParam.append("<level>").append(logLevel).append("</level>"); strParam.append("<size>").append(logSize).append("</size>"); strParam.append("<logpath>").append(logPath).append("</logpath>"); strParam.append("<handlenum>").append(handlenum).append("</handlenum>"); strParam.append("<usesvn>").append("0").append("</usesvn>"); // svn strParam.append("<usesvnfile>").append("1").append("</usesvnfile>"); // svn strParam.append("</httpsdk>"); int iRet = httpSdk.HttpInit(strParam.toString()); Logger.debug(EspaceService.TAG, "httpSdk init:ret" + iRet + ")"); init = true; return iRet; }
public void updateByGroupId(int imId, int groupId) { if (imId <= 0 || groupId <= 0) { Logger.error(EspaceService.TAG, "id is 0, not update."); return; } String[] objs = new String[] {String.valueOf(imId), String.valueOf(groupId)}; StringBuffer buffer = new StringBuffer("update "); buffer.append(TABLE_NAME); buffer.append(" set "); buffer.append(INSTANTMESSAGEID); buffer.append(" = ? "); buffer.append(" where "); buffer.append(GROUPFILEID); buffer.append(" = ?"); execSql(buffer.toString(), objs); }
public void releaseHandle(int handle) { Logger.debug(EspaceService.TAG, "HttpManager:httpReleaseHandle:" + handle); pool.remove(handle); httpReleaseHandle(handle); }