Tag: android

NodeJS + SocketIO安卓电池问题

我正在使用node.js socket.io库build立一个套接字连接的Android聊天应用程序。 但是sockets连接消耗的功率太大,以至很高的耗电率。 所以有可能通过保持sockets闲置或任何其他方式使功耗最小化 下面是我在IOConnection.java类中添加的代码 public void transportMessage(String text) { // my logic }

使用NodeJS成功运行Socket.IO Android项目

我设法得到一个Socket.IO/Android项目进行编译,现在我试图让它与NodeJS服务器上的Socket.IO进行通信。 我把这个项目放在我的Drop Box上: https://dl.dropboxusercontent.com/u/86164338/socketIOAndroid.zip 一切都编译和运行,但我看不到从NodeJS的输出。 这是基于: https : //github.com/Gottox/socket.io-java-client 请注意,有关于编译Java代码并将jar文件复制到libs文件夹的说明: git clone git://github.com/Gottox/socket.io-java-client.git cd socket.io-java-client ant jar mv jar / socketio.jar /path/到/你/库/项目 任何帮助是极大的赞赏。 Java代码: package com.depictlabs.testsockets03; import java.net.MalformedURLException; import java.net.URI; import org.json.JSONObject; import io.socket.SocketIO; import io.socket.IOCallback; import io.socket.IOAcknowledge; import io.socket.SocketIOException; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import org.json.JSONException; import org.json.JSONObject; public class MainActivity extends Activity […]

Phonegapfile upload:清空请求正文和文件

尝试使用FileTransfer插件将移动设备上的amrfile upload到带有Phonegap的服务器。 var uri = "./" + $scope.audio.src; $scope.audio.release(); var options = new FileUploadOptions(); options.fileKey = "audio"; options.fileName = uri.substr(uri.lastIndexOf('/') + 1); options.mimeType = "audio/AMR"; options.httpMethod = "POST"; options.chunkedMode = false; console.log("Options:", options); options.params = { exhibitId: $scope.id, title: $scope.title, email: $scope.email }; var ft = new FileTransfer(); ft.upload(uri, encodeURI("http://someurl.com/api/recording/create"), $scope.uploadSuccess, $scope.uploadFailure, options ); 其中audio是媒体对象。 […]

Google Cloud Function Node.js Firebase Url

我有一个Android应用程序,我可以通过http格式从我的设备发送推送通知,但现在我想写一个节点,我希望在特定的date和时间安排推送通知,有人请帮助我,我是长期以来一直陷在这个过程中 这是我的节点; const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.sendNotification = functions.https.onRequest((req, res) => { const to = req.query.to; const title = req.query.title; const body = req.query.body; var payload; if (body != undefined && body !== '') { payload = { notification: { title: title, body: body } }; } else { payload […]

如何在这个复杂的数据传输场景中最大限度提高效率

我不确定这个问题是否属于这个问题,因为它完全是基于理论的,但是我认为这个问题和其他问题相比,这个问题最适合。 我有500,000出租车与Android 4电脑里面。 每天,在一个人或一个派对旅行之后,计算机将关于旅程的信息发送到Node.js服务器。 每天大概有35次出行,这意味着每天有50万出租车* 35次出行= 1750万次的报告发送到Node.js服务器。 另外,每个报告大约有4000个字符,大小约为5KB。 出租车计算机发送到node.js服务器的报告只是一个http文章。 Node.js然后会发送确认信息给出租车。 如果出租车在分配的时间内没有收到报告A的确认,则重新发送报告A. node.js服务器只是接收报告。 将确认信息发送回出租车。 然后将完整的报告发送到MongoDB。 一个潜在的问题:出租车1向node.js发送报告A. Node.js在分配的时间内没有响应,因此出租车1将报告A重新发送到node.js. Node.js最终处理所有内容并将报告A两次发送到MongoDB。 因此,MongoDB负责检查是否收到多个相同的报告。 然后MongoDB插入数据。 其实我有几个问题。 这对于NodeJS来说太多了(我不这么认为,但是可能是一个问题)? 这对于MongoDB来说太多了吗? 我觉得检查重复报告可能会严重阻碍业绩。 我怎样才能使整个系统更有效率? 我应该改变或添加什么?

phonegap将不会安装或正常工作

在安装NodeJs并运行npm install -g phonegap之后,我得到的结果与应该是完全不同的格式: C:\Program Files\nodejs>npm install -g phonegap | > ws@0.4.31 install C:\Users\kyle David Krueger\AppData\Roaming\npm\node_modules \phonegap\node_modules\connect-phonegap\node_modules\socket.io\node_modules\engi ne.io\node_modules\ws > (node-gyp rebuild 2> builderror.log) || (exit 0) / C:\Users\kyle David Krueger\AppData\Roaming\npm\node_modules\phonegap\node_modul es\connect-phonegap\node_modules\socket.io\node_modules\engine.io\node_modules\w s>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_mo dules\node-gyp\bin\node-gyp.js" rebuild – > ws@0.4.31 install C:\Users\kyle David Krueger\AppData\Roaming\npm\node_modules \phonegap\node_modules\connect-phonegap\node_modules\socket.io\node_modules\sock et.io-client\node_modules\engine.io-client\node_modules\ws > (node-gyp rebuild 2> builderror.log) || (exit 0) – C:\Users\kyle […]

如何在android socket.io中使用options.query?

IO.Options options = new IO.Options(); options.forceNew=true; options.reconnection = false; options.query = "loginId="+loginid; Socket socket = IO.socket("https://myserver:8000/", options); 然后我检查查询是可用的服务器。 但是还没有查询错误

function没有实现nodejs xmpp android

我正尝试使用Google消息服务和nodejs xmpp服务器创build聊天应用程序。 所以我用这个节点js的xmpp服务器,并为android应用程序砸api。 我不知道为什么,但服务器发送节说function没有实现。 我写的连接xmpp服务器的android代码。 XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() .setServiceName("localhost") .setHost(IPADRESS) .setPort(5222) .build(); AbstractXMPPConnection conn2 = new XMPPTCPConnection(config); conn2.setPacketReplyTimeout(1000); SmackConfiguration.DEBUG = true; conn2.connect(); conn2.login(mngr.getDeviceId(), "secret"); nodejs xmpp服务器模块 var startServer = function (done) { // Sets up the server. server = new xmpp.C2S.TCPServer({ port: 5222, domain: 'localhost' }) // On connection event. When a client connects. […]

看守:加载共享库时出错:libpcre.so.1

我在Ubuntu 15.10上,并且正在使用react-native(0.20.0)开发一个Android(SDK 23)应用程序。 我正在使用节点5.6.0和npm 3.6.0。 运行react-native start时遇到了一个守望者错误 ERROR watchman–no-pretty get-sockname returned with exit code 127 watchman: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory at ChildProcess.<anonymous> (/home/rachael/Dev/InstaGo/node_modules/fb-watchman/index.js:198:18) at emitTwo (events.js:100:13) at ChildProcess.emit (events.js:185:7) at maybeClose (internal/child_process.js:827:16) at Socket.<anonymous> (internal/child_process.js:319:11) at emitOne (events.js:90:13) at Socket.emit (events.js:182:7) at Pipe._onclose […]

Cordova after_prepare挂钩在Android中成功,但在iOS中失败

我已经为我的Cordova build编写了一个after_prepare钩子,它从最终的构build中删除了node_modules文件夹: #!/usr/bin/env node /** * The node modules we want to remove from the build prior to building * @type {Array} */ var foldersToRemove = ["platforms/android/assets/www/node_modules", "platforms/ios/www/node_modules"]; var fse = require('fs-extra'); var path = require('path'); var rootdir = process.argv[2]; foldersToRemove.forEach(function(folder) { var rmFolder = path.join(rootdir, folder); fse.remove(rmFolder, function(err) { if (err) { return console.error(err); […]