1

I am trying to setup parse server on my localhost and trying to connect to my app simulator.

Here is my code of parse

// Example express application adding the parse-server module to expose Parse
// compatible API routes.

var express = require('express');
var ParseServer = require('parse-server').ParseServer;

var databaseUri = process.env.DATABASE_URI;

var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://abc:27017/parse',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'chat-test',
  masterKey: process.env.MASTER_KEY || 'chat-test', //Add your master key here. Keep it secret!
  serverURL: process.env.SERVER_URL || 'http://localhost:1337',  // Don't forget to change to https if needed
  facebookAppIds: 'abc' //FaceBook App ID Keys. Comma Separated.
});
// Client-keys like the javascript key or the .NET key are not necessary with parse-server
// If you wish you require them, you can set them as options in the initialization above:
// javascriptKey, restAPIKey, dotNetKey, clientKey

var app = express();

// Serve the Parse API on the /parse URL prefix
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);

// Parse Server plays nicely with the rest of your web routes
app.get('/', function(req, res) {
  res.status(200).send('I dream of being a web site.');
});

var port = process.env.PORT || 1337;
app.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
});

I am using

Parse.initialize(new Parse.Configuration.Builder(getBaseContext()).applicationId("chat-test").server("http:/localhost:1337/parse/").build());

i got this all from live server and just replaced to localhost, but i cna't make the android connect to localhost. it gives me i/o failure.

How can i make my android simulator work with this localhost parse

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245
Muhammad Umar
  • 11,391
  • 21
  • 91
  • 193

2 Answers2

5

The Android simulator is actually a virtual machine which means that localhost is an internal IP to the simulator. You can access your computer via the ip 10.0.2.2.

This means you should change the URL to http://10.0.2.2:1337/parse/.

The full line of code should be:

Parse.initialize(new Parse.Configuration.Builder(getBaseContext()).applicationId("chat-test").server("http://10.0.2.2:1337/parse/").build());

This is documented here

Richard Strand
  • 733
  • 8
  • 15
0

Why do you have localhost in your code? Localhost means that the request is running on local device, you can use it inside server but not on a client device. Try to put there some IP address of the server/your computer, it was also answered here

.server("http://localhost:1337/parse/")
Community
  • 1
  • 1
Mazel Tov
  • 2,064
  • 14
  • 26