Articles of android networking

如何以编程方式将多个IP摄像头集成到android中?

我是android网络的新手。 现在我正在做一个与android网络相关的项目 。 在这个项目中, 我想将6个IP摄像机集成到我的项目中,所有摄像机同时进行流动 。 这款IP摄像机是支持Wi-Fi的摄像机 。 问题在于, 我们如何将多个wifi设备连接到Android设备? 只有我们可以一次连接单个Wi-Fi。 但有一种方法是Wi-Fi直接或Hotspot 。 但IP摄像机如何识别和连接移动热点? 我在互联网上搜索了很多但我找不到合适的解决方案。 所以,如果你们中的任何一个人知道如何解决这个问题,请帮助我。 这是客户端提供的获取Wi-Fi扫描结果的cgi命令 get_wifi_scan_result.cgi Description: Gets the camera results of search for wireless networks Certification: administrator Syntax: /get_wifi_scan_result.cgi Returns: ap_number : Refers to the search for how many SSID , The following variable groups, with the first group, for example: ap_ssid[0]:ssid […]

如何在Android中明确禁用HTTP连接的分块流模式?

我使用HttpsURLConnection从Android 4.0定位REST Web服务。 这工作正常,除非我尝试发布一些东西。 这是相关的代码部分: connection.setDoOutput(true); connection.setChunkedStreamingMode(0); ByteArrayOutputStream out = new ByteArrayOutputStream(); serializeObjectToStream(out, object); byte[] array = out.toByteArray(); connection.getOutputStream().write(array, 0, array.length); 这会引发以下exception: java.net.HttpRetryException: Cannot retry streamed HTTP body 从调试中我意识到我通过connection.getOuputStream()获得的输出流是ChunkedOutputStreamtypes,并且从挖掘Androids源代码中我认为如果需要重试请求(无论出于何种原因),它会发出上述exception,因为它发现它没有使用它想要的RetryableOutputStream 。 现在的问题是:如何使我的HttpsURLConnection返回这样的RetryableOutputStream,或者更确切地说,如何正确地阻止分块请求编码? 我以为我已经用setChunkedStreamingMode(0)做过了,但显然情况并非如此…… [编辑] 不, java.net.HTTPUrlConnection的实现忽略0或更低的流模式: public void setChunkedStreamingMode(int chunkLength) { […] if (chunkLength <= 0) { this.chunkLength = HttpEngine.DEFAULT_CHUNK_LENGTH; } else { this.chunkLength = chunkLength; […]

是否可以分离WebView的UI和HTTP线程?

由于各种原因,我需要runOnUiThread()实际的WebView实例化和初始化。 这意味着它的底层HTTP连接也是在UI线程上进行的? 如果是这样,是否可以将WebView的UI thead与HTTP连接线程分开? 如果有可能,实现这一目标的正确方法是什么?

Android使用OKHTTP单例进行并行查询的正确方法

我正在开发一个android项目,我计划用OKHTTP客户端替换Apache httpclient实现。 我想知道如何创建一个全局客户端,可以用于将使用客户端multithreading的不同活动和服务中的网络请求。 我应该创建一个OKHTTPClient的单例对象并在我的代码中重用它吗? 此外,我应该在哪里将cookiestore添加到请求中,在客户端的全局定义中,以便我所有请求都可以使用cookie或在个人活动或服务中形成请求?

无法从types中对非静态方法getSystemService(String)进行静态引用

我有这个function哪个网络连接 public boolean isNetworkConnected() { ConnectivityManager conManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = conManager.getActiveNetworkInfo(); if (netInfo == null) { // There are no active networks. return false; } else { return true; } } 但是,当我试图让它静态,以便我可以在它抛出的每个活动中使用它: 无法从types中对非静态方法getSystemService(String)进行静态引用 我不想每次都创建类的对象。

Android HttpUrlConnection:发布Multipart

我正在尝试将测试文件发布到使用Android部署在tomcat上的spring rest servlet。 我正在开发Android 4.1.2,但我在4.0.3上validation了同样的问题。 问题是文件上载需要很长时间(对于4MB文件大约需要70秒),也在本地网络中。 使用3g连接可以节省时间。 我已经排除它可能是服务器问题:使用curl执行相同的调用需要1/2秒,并且使用apache作为后端结果是相同的。 使用HttpClient工作正常。 我正在使用Spring Android RestClient 1.0.1.RELEASE,并且考虑到Android版本以及我没有覆盖默认行为的事实,它使用HttpUrlConnection而不是HttpClient来发出http请求。 我还实现了我的自定义ClientHttpRequestFactory来操作SSL连接的一些细节,我已经定义了自己的ClientHttpRequestInterceptor实现来修改身份validation头。 我还设置了setBufferRequestBody(false)以避免对大文件的OutOfMemoryException 。 但是这个属性对所需的时间没有影响。 MyClientHttpRequestFactory : public class MyClientHttpRequestFactory extends SimpleClientHttpRequestFactory{ @Override protected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException { super.prepareConnection(connection, httpMethod); connection.setConnectTimeout(240 * 1000); connection.setReadTimeout(240 * 1000); if (“post”.equals(httpMethod.toLowerCase())) { setBufferRequestBody(false); }else { setBufferRequestBody(true); } } @Override protected HttpURLConnection openConnection(URL […]

如何在android中分别find特定应用程序的wifi和网络数据使用情况?

recived = TrafficStats.getUidRxBytes(uid); send = TrafficStats.getUidTxBytes(uid); TrafficStats.getMobileRxBytes(); TrafficStats.getMobileTxBytes(); TrafficStats.getTotalRxBytes(); TrafficStats.getTotalTxBytes(); 我有应用程序ID,我可以获得该应用程序数据使用,但我无法获得更详细的信息,如使用wifi和网络的数据使用。 我想在设备中单独find所有已安装的应用程序。 我怎么能find那个。? 我已经尝试了很多东西,但没有得到任何解决方案。

Retrofit 2无法上传带有两个额外字符串参数的文件

在问题的底部阅读编辑以寻找可能的替代解决方案,直到find解决方案 。 这是一个成功的post文件,其中包含两个使用POSTMan的参数。 我试图通过改造来做同样的事但收到BadRequest。 邮差设置: Chrome网络post详情: 现在,我在Android中如何做到这一点,但失败了: 改造服务接口: @Multipart @POST(“jobDocuments/upload”) Call upload(@Part(“file”) MultipartBody.Part file,@Part(“folder”) MultipartBody.Part folder,@Part(“name”) MultipartBody.Part name); 这是我的@Background方法,用于生成上述服务来运行网络请求 CustDataClient service = ServiceGenerator.createService(CustDataClient.class); File file = new File(fileUri.getPath()); // create RequestBody instance from file RequestBody requestFile = RequestBody.create(MediaType.parse(“multipart/form-data”), file); MultipartBody.Part fileData = MultipartBody.Part.createFormData(“file”, fileName, requestFile); MultipartBody.Part folder = MultipartBody.Part.createFormData(“folder”, “LeadDocuments”); MultipartBody.Part name = MultipartBody.Part.createFormData(“name”, fileName); […]

广场`s OkHttp。 下载进度

使用square`s OkHttp时有什么方法可以下载文件进度吗? 我没有在食谱中find任何解决方案。 他们有类Call可以异步获取内容,但是没有方法可以获得当前进度。

android如何获取指示何时互联网连接丢失?

我正在开发一个Android应用程序,我想在互联网(wifi或分组数据连接)连接丢失时收到通知。 在我的方法中,我可以获得连接的状态: private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null && activeNetworkInfo.isConnected(); } 在清单中有这个: 如何在连接丢失时自动通知我?