Hello Everyone I'm having problem in my android application. I have android app install in ubuntu 16.0.4 which work fine in my work pc but when I imports my app in window 8.1. From login it doesnot work. First Off My android studio doesn't recognized my mobile in window 8.1 so I have install pdaNet and it work fine. when I debug my code An established connection was aborted by the software in your host machine ConnectivityManager return both true as well as false. It never did in linux
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()
&& networkInfo.isConnected()) {
return true;
} else {
return false;
}
} else {
return false;
}
I dont know what's the problem with window 8.1 but I connected my mobile with my laptop sharing same wifi and web services run on
http://192.168.0.102:8080/payroll-services-ws/api/secured/message
and When I checked on Postman, It is working correctly..
So here is my code of login
public class Login extends AppCompatActivity {
private ProgressBar progressBar;
List<MyTask> myTasksList;
private static final String RESTLOGIN="http://192.168.0.102:8080/payroll-services-ws/api/secured/message";
private EditText usernameEditText;
private EditText passwordEdittext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
progressBar =(ProgressBar)findViewById(R.id.progressBarLogin);
progressBar.setVisibility(View.INVISIBLE);
myTasksList = new ArrayList<>();
usernameEditText = (EditText)findViewById(R.id.etUsername);
passwordEdittext = (EditText)findViewById(R.id.etPass);
}
public void onBtnClick(View view){
Button buttonLogin = (Button)findViewById(R.id.btnSingIn);
if (view.getId()==R.id.btnSingIn){
//updateDisplay();
if (isOnline()){
requestData(RESTLOGIN);
}
else{
Toast.makeText(Login.this, "Not Connect WIth Network", Toast.LENGTH_LONG).show();
}
}
else if (view.getId()==R.id.btnSignUp){
Intent intent = new Intent(Login.this,Register.class);
startActivity(intent);
}
}
protected boolean isOnline(){
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()
&& networkInfo.isConnected()) {
return true;
} else {
return false;
}
} else {
return false;
}
}
private void requestData(String uri){
MyTask myTask = new MyTask();
myTask.execute(uri,usernameEditText.getText().toString(),passwordEdittext.getText().toString());
}
public void updateDisplay(){
Toast.makeText(Login.this, "Login Successfull", Toast.LENGTH_SHORT).show();
Intent mainActivity = new Intent(Login.this,Home.class);
mainActivity.putExtra("username",usernameEditText.getText().toString());
mainActivity.putExtra("password",passwordEdittext.getText().toString());
startActivity(mainActivity);
}
//param progress and result
private class MyTask extends AsyncTask<String,String,String>{
@Override
protected void onPreExecute() {
if (myTasksList.size()==0){
progressBar.setVisibility(View.VISIBLE);
}
myTasksList.add(this);
}
@Override
protected String doInBackground(String... params) {
//param 0 which is come from requestData
String content = HttpManager.getData(params[0],params[1],params[2]);
return content;
}
//content of dobackground pass to the dopostexcute
@Override
protected void onPostExecute(String result) {
myTasksList.remove(this);
if (myTasksList.size()==0){
progressBar.setVisibility(View.INVISIBLE);
}
if (result==null){
Toast.makeText(Login.this,"Sorry Username or password doesnot match",Toast.LENGTH_LONG).show();
return;
}
//list of object from content
//from json
updateDisplay();
}
}
}
I can only access in postman via localhost:8080