I can't connect to my Redis database using the Jedis Java client in AndroidStudio
I am trying to establish a connection with Jedis (a Java client for the Redis database) in Android Studio and get a" stack " of errors. At first, my mistake was not to change AndroidManifest to give Internet permission. After this manipulation, I got android. os.NetworkOnMainThreadException. I tried to create a connection to Jedis in AsyncTask (not sure if I did it right) and got a" stack " of errors with "Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)"
at the very bottom. I also tried to connect to Jedis in Eclipse with the same by the most "Jedis jedis = new Jedis("127.0.0.1", 6379);"
, everything worked perfectly. What should I change in the code to be able to connect to Jedis?
Code:
package com.samfoundation.samfoundation;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import redis.clients.jedis.Jedis;
public class MainActivity extends AppCompatActivity {
Button click;
TextView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click = (Button)findViewById(R.id.button);
show = (TextView)findViewById(R.id.textView);
final Connection con = new Connection();
con.execute();
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String message = con.doInBackground();
show.setText(message);
}
});
}
}
public class Connection extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... arg0) {
Jedis jedis = new Jedis("127.0.0.1", 6379);
String value = jedis.ping();
return value;
}
}
Logcat:
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$4.done(AsyncTask.java:399)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host 127.0.0.1:6379
at redis.clients.jedis.Connection.connect(Connection.java:204)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:100)
at redis.clients.jedis.Connection.sendCommand(Connection.java:125)
at redis.clients.jedis.Connection.sendCommand(Connection.java:120)
at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:113)
at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:188)
at com.samfoundation.samfoundation.Connection.doInBackground(Connection.java:12)
at com.samfoundation.samfoundation.Connection.doInBackground(Connection.java:8)
at android.os.AsyncTask$3.call(AsyncTask.java:378)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.net.ConnectException: failed to connect to /127.0.0.1 (port 6379) from /127.0.0.1 (port 47956) after 1999ms: isConnected failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.isConnected(IoBridge.java:288)
at libcore.io.IoBridge.connectErrno(IoBridge.java:193)
at libcore.io.IoBridge.connect(IoBridge.java:135)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
at redis.clients.jedis.Connection.connect(Connection.java:181)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:100)
at redis.clients.jedis.Connection.sendCommand(Connection.java:125)
at redis.clients.jedis.Connection.sendCommand(Connection.java:120)
at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:113)
at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:188)
at com.samfoundation.samfoundation.Connection.doInBackground(Connection.java:12)
at com.samfoundation.samfoundation.Connection.doInBackground(Connection.java:8)
at android.os.AsyncTask$3.call(AsyncTask.java:378)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.isConnected(IoBridge.java:275)
at libcore.io.IoBridge.connectErrno(IoBridge.java:193)
at libcore.io.IoBridge.connect(IoBridge.java:135)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
at redis.clients.jedis.Connection.connect(Connection.java:181)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:100)
at redis.clients.jedis.Connection.sendCommand(Connection.java:125)
at redis.clients.jedis.Connection.sendCommand(Connection.java:120)
at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:113)
at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:188)
at com.samfoundation.samfoundation.Connection.doInBackground(Connection.java:12)
at com.samfoundation.samfoundation.Connection.doInBackground(Connection.java:8)
at android.os.AsyncTask$3.call(AsyncTask.java:378)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
0