Как подключить сервер Node Js к приложению Android Studio?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как подключить сервер Node Js к приложению Android Studio?

Сообщение Anonymous »

Я пытаюсь установить соединение между Android Studio и сервером node JS, но что-то застряло. Я почти уверен, что сделал много ошибок, но единственное сообщение об ошибке, с которого я могу начать поиск решения, — это ошибка listen EADDRINUSE :::3000 на стороне сервера Node. Вот все коды с обеих сторон, я очень надеюсь, что более опытные люди смогут указать на проблему и дать мне направление, в котором следует двигаться дальше. Заранее спасибо!

Код Node JS:

Код: Выделить всё

var express = require('express');
var app = express();

app.on('listening',function(){
console.log('ok, server is running');
});

app.post('/postdata', (req, res) => {
var data = req.body.data; // your data
// do something with that data (write to a DB, for instance)
console.log(data)
res.status(200).json({
message: "Data received successfully"
});
});
app.listen(3000);
Код Android Studio(MainActivity.java):

Код: Выделить всё

package com.example.tbg_studio;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DownloadManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity {
Button RequestButton; // button which on clicking, sends the request
TextView DisplayText; // a text field to display the request response
EditText DataField; // a text field where the data to be sent is entered

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

RequestButton = (Button) findViewById(R.id.RequestButton);
DataField = (EditText) findViewById(R.id.DataField);
DisplayText = (TextView) findViewById(R.id.DisplayText);

final RequestQueue queue = Volley.newRequestQueue(this);
final String url = "http://serverdomainorip/postdata"; // your URL

queue.start();
RequestButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
HashMap params = new HashMap();
params.put("data", DataField.getText().toString()); // the entered data as the body.

JsonObjectRequest jsObjRequest = new
JsonObjectRequest(Request.Method.POST,
url,
new JSONObject(params),
new Response.Listener() {
@Override
public void onResponse(JSONObject response) {
try {
DisplayText.setText(response.getString("message"));
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
DisplayText.setText("That didn't work!");
}
});
queue.add(jsObjRequest);
}
});
}

}
и сообщение об ошибке Node JS:


Ошибка: прослушиваем EADDRINUSE :::3000

в Object._errnoException (util.js:1022:11)

в _ExceptionionWithHostPort (util.js:1044:20)

в Server.setupListenHandle [as _listen2] (net.js:1367:14)

в ListenInCluster (net.js:1408:12)

в Server.listen (net.js:1492:7)

в Function.listen (/home/leventecsoba/node_modules/express/lib/application.js:618:24)

в Object. (/home/leventecsoba/Asztal/Node JS/tbg_studio.js:16:5)

в Module._compile (module.js:652:30)

в Object.Module._extensions..js (module.js:663:10)

в Module.load (module.js:565:32)



Подробнее здесь: https://stackoverflow.com/questions/594 ... studio-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»