Tuesday, July 30, 2019

Asp.net Api



Dependancy

  implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.2'



package com.softwisdom.e_building_user;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.onesignal.OneSignal;
import com.softwisdom.e_building_user.Bean.UserBean;
import com.softwisdom.e_building_user.action.ConnectionDetector;
import com.softwisdom.e_building_user.action.Webservice;
import com.softwisdom.e_building_user.onesignal.MyNotificationOpenedHandler;
import com.softwisdom.e_building_user.onesignal.MyNotificationReceivedHandler;
import com.softwisdom.e_building_user.preference.LoginPreferences;
import com.google.gson.Gson;

import org.jetbrains.annotations.TestOnly;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.kxml2.kdom.Element;
import org.kxml2.kdom.Node;
import org.xmlpull.v1.XmlPullParserException;

import java.io.IOException;


public class LoginActivity extends AppCompatActivity {

    protected TextView tvSignIn,tvForget,tvSkipRegister;
    private TextView tvSignUp;
    private Activity activity = LoginActivity.this;
    private ImageView img_google;
    private EditText etMobile, etPassword;
    private LoginPreferences loginPreferences;
    private ConnectionDetector connectionDetector;
    private ProgressDialog dialog;
    private String token;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setContentView(R.layout.activity_login);

        initVariables();
        initView();
        setListners();
        tokenGenerate();
    }

    public void initVariables() {
        loginPreferences = new LoginPreferences(activity);
        connectionDetector = new ConnectionDetector(activity);
    }

    /*One signal token generation*/
    private void tokenGenerate()
    {
        OneSignal.startInit(this)
                .setNotificationOpenedHandler(new MyNotificationOpenedHandler())
                .setNotificationReceivedHandler(new MyNotificationReceivedHandler())
                .autoPromptLocation(true)
                .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
                .init();
        OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() {
            @Override
            public void idsAvailable(String userId, String registrationId) {
                token = userId;
                Log.e("token==", token);
                if (registrationId != null) {
                    // Log.e("debug", "registrationId:" + registrationId);
                }

            }
        });
    }

    private void initView() {
        tvSignUp = (TextView) findViewById(R.id.tvSignUp);
        tvSignIn = (TextView) findViewById(R.id.tvSignIn);
        tvForget = (TextView) findViewById(R.id.tvForget);
        tvSkipRegister = (TextView) findViewById(R.id.tvSkipRegister);
        etMobile = (EditText) findViewById(R.id.etMobile);
        etPassword = (EditText) findViewById(R.id.etPassword);
        img_google = (ImageView) findViewById(R.id.img_google);
    }

    public void setListners() {
        tvSignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(activity,OtpActivity.class);
                intent.putExtra("type","r");
                startActivity(intent);

                finish();
            }
        });

        tvSignIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String mobile = etMobile.getText().toString();
                String password = etPassword.getText().toString();

                if (!mobile.isEmpty() && mobile.length() == 10 && !password.isEmpty()) {
                    if (connectionDetector.isConnectingToInternet()) {
                        new Login().execute( mobile,password);
                    } else {
                        Toast.makeText(activity, getResources().getString(R.string.please_check_internet_connection), Toast.LENGTH_SHORT).show();
                    }
                } else {
                    if (mobile.isEmpty()) {
                        etMobile.setError(getResources().getString(R.string.enter_mobile));
                        etMobile.requestFocus();
                    } else if (mobile.length() != 10) {
                        etMobile.setError(getResources().getString(R.string.mobile_should_be_10_digits));
                        etMobile.requestFocus();
                    } else if (password.isEmpty()) {
                        etPassword.setError(getResources().getString(R.string.enter_password));
                        etPassword.requestFocus();
                    }
                }
            }
        });

        tvForget.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(activity,ForgetPasswordActivity.class));
                finish();
            }
        });

        tvSkipRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (!loginPreferences.isUserLoggedIn()) {
                    Intent intent = new Intent(activity, OtpActivity.class);
                    intent.putExtra("type", "g");
                    startActivity(intent);
                    finish();
                }
            }
        });
    }

    private class Login extends AsyncTask<String, String, String> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            dialog = new ProgressDialog(activity);
            dialog.setMessage(getResources().getString(R.string.please_wait));
            dialog.setCancelable(false);
            dialog.show();
        }

        @Override
        protected String doInBackground(String... params) {

            SoapObject soapObject = new SoapObject(Webservice.NAMESPACE, Webservice.USER_LOGIN);

            Element authHeader = new Element();
            authHeader.setNamespace(Webservice.NAMESPACE);
            authHeader.setName("AuthUser");

            Element username = new Element().createElement(Webservice.NAMESPACE, "UserName");
            username.addChild(Node.TEXT, Webservice.USERNAME);
            authHeader.addChild(Node.ELEMENT, username);

            Element pass = new Element().createElement(Webservice.NAMESPACE, "Password");
            pass.addChild(Node.TEXT, Webservice.PASSWORD);
            authHeader.addChild(Node.ELEMENT, pass);


            Element Token = new Element().createElement(Webservice.NAMESPACE, "Token");
            Token.addChild(Node.TEXT, Webservice.TOKEN);
            authHeader.addChild(Node.ELEMENT, Token);

            soapObject.addProperty("mobile_no", params[0]);
            soapObject.addProperty("password", params[1]);
            soapObject.addProperty("device_id", token);

            Log.e("Login_Request", soapObject.toString());

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

            envelope.headerOut = new Element[]{authHeader};
            envelope.dotNet = true;

            envelope.setOutputSoapObject(soapObject);

            HttpTransportSE androidHttpTransport = new HttpTransportSE(Webservice.URL);
            try {
                androidHttpTransport.call(Webservice.NAMESPACE + Webservice.USER_LOGIN, envelope);
                androidHttpTransport.getServiceConnection().setRequestProperty("Connection", "close");
            } catch (IOException e) {
                e.printStackTrace();
                Log.e("IError", e.toString());
            } catch (XmlPullParserException e) {
                e.printStackTrace();
                Log.e("IXml", e.toString());
            }
            SoapPrimitive response = null;
            try {
                response = (SoapPrimitive) envelope.getResponse();
            } catch (SoapFault soapFault) {
                soapFault.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
            String res = null;
            if (androidHttpTransport != null) {
                if (response != null) {
                    res = response.toString();
                } else {
                    res = null;
                }
                androidHttpTransport.reset();
                try {
                    androidHttpTransport.getServiceConnection().disconnect();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return res;
        }

        @Override
        protected void onPostExecute(String result) {
            dialog.dismiss();
            if (result != null && !result.equals("[]")) {
                Log.e("Login Response==", result);
                try {
                    JSONObject obj = new JSONObject(result);
                    String success = obj.getString("Success");
                    if (success.equals("1")) {
                        JSONArray jsonArray = obj.getJSONArray("result");
                        UserBean bean = new UserBean();
                        for (int i = 0; i < jsonArray.length(); i++) {
                            Gson gson = new Gson();
                            bean = gson.fromJson(obj.getJSONArray("result").get(0).toString(), UserBean.class);
                        }

                       /* if(bean.getTemp_status().equals("false"))
                        {
                            Toast.makeText(activity, "You are not approved", Toast.LENGTH_SHORT).show();


                        }
                        else
                        {
                            Toast.makeText(activity, "Login Successfully", Toast.LENGTH_SHORT).show();

                            loginPreferences.createUserLoginSession(bean.getUser_id()
                                    ,bean.getName(),bean.getProfile_pic(),bean.getPro_type(),bean.getPro_id(),bean.getWing_id()
                                    ,bean.getOffice_no(),bean.getTemp_status(),bean.getStatus(),bean.getCreate_by()
                                    ,bean.getCreate_date());

                            startActivity(new Intent(activity,HomeActivity.class));
                            finish();
                        }*/
                        Toast.makeText(activity, "" + getResources().getString(R.string.login_successfully), Toast.LENGTH_SHORT).show();

                        loginPreferences.createUserLoginSession(bean.getUser_id(), bean.getName(), bean.getProfile_pic(), bean.getPassword(), bean.getMobile_no(),bean.getEmail(),"r");

                        loginPreferences.setLoginStatus(true);
                        Webservice.isFirstTimeOpen=true;
                        Intent intent = new Intent(activity, MainActivity.class);
                        startActivity(intent);
                        finish();


                    } else {
                        Toast.makeText(activity, "" + getResources().getString(R.string.invalid_username_and_passsword), Toast.LENGTH_SHORT).show();
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            } else {

                Toast.makeText(activity, getResources().getString(R.string.no_data_found), Toast.LENGTH_SHORT).show();
            }
            super.onPostExecute(result);

        }
    }
}

No comments:

Post a Comment

Insert,Update and delete in Device Calender

Androidmanifest.xml < uses-permission android :name ="android.permission.WRITE_CALENDAR" /> < uses-permission androi...