Thursday, May 21, 2020

Insert,Update and delete in Device Calender

Androidmanifest.xml

<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission android:name="android.permission.READ_CALENDAR"/>

JavaFile


  //=======================Insert Calender event==================== 
public void SyncEvent(String date)
 {
       int Year, Month, Day;
        String finaldate[] = date.split("-");
        Year = Integer.parseInt(finaldate[0]);
        Log.e("Year==", String.valueOf(Year));
        Month = Integer.parseInt(finaldate[1])-1;
        Log.e("Month==", String.valueOf(Month));
        Day = Integer.parseInt(finaldate[2]);
        Log.e("Day==", String.valueOf(Day));
        Calendar cal = Calendar.getInstance();
        cal.setTimeZone(TimeZone.getTimeZone("GMT-1"));
  
        beginTime.set(Year, Month, Day, 7, 30);
           /* beginTime.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
                    cal.get(Calendar.DATE), cal.get(Calendar.HOUR_OF_DAY),
                    cal.get(Calendar.MINUTE));*/
        Calendar endTime = Calendar.getInstance();
        //cal.setTime(dt1);
        endTime.set(Year, Month, Day, 14, 30);
        // endTime.set(year, month, day, hourOfDay, minute);
           /* endTime.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
                    cal.get(Calendar.DATE), cal.get(Calendar.HOUR_OF_DAY),
                    cal.get(Calendar.MINUTE));*/
        ContentResolver cr = this.getContentResolver();
        ContentValues values = new ContentValues();
    
        values.put(Events.DTSTART, beginTime.getTimeInMillis());
        values.put(Events.DTEND, endTime.getTimeInMillis());
        values.put(Events.TITLE, "Hello");
        values.put(Events.DESCRIPTION, "abc");
        values.put(Events.CALENDAR_ID, 1);
        values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getID());

        Uri uri = cr.insert(Uri.parse("content://com.android.calendar/events"), values);
        long eventID = Long.parseLong(uri.getLastPathSegment());
        Log.e("Event Id==", String.valueOf(eventID));
    }


 //====================UpdateCalenderEvent====================

  
  public void updateCalendar(String eventID, String des) {


        ContentResolver cr = getContentResolver();
        ContentValues values = new ContentValues();
        Uri updateUri = null;
        values.put(Events.DESCRIPTION,des);
        updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, Long.parseLong(eventID));
        int rows = cr.update(updateUri, values, null, null);

        Log.e("Update Msg==", "System Calender Event Updated Successfully");


    }




    //===================Delete CalenderEvent======================

    public void DeleteAllCalendarEvent() {
        String mSelectionClause = Events.CALENDAR_ID + " = " + "1";
        int updCount = getContentResolver().delete(Uri.parse("content://com.android.calendar/events"), mSelectionClause, null);
        Log.e("Delete Msg==", "System Calender Event Deleted Successfully");

    }


    //======================Delete All CalenderEvent==================

    public void DeleteCalendar(String eventID) {
        ContentResolver cr = getContentResolver();
        Uri deleteUri = null;
        deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, Long.parseLong(eventID));
        int rows = cr.delete(deleteUri, null, null);
        Log.e("Delete Msg==", "System Calender Event Deleted Successfully");

    }

Monday, October 14, 2019

Filepicker

Dependencies

implementation 'com.droidninja:filepicker:2.1.5'
repositories {
  maven { url "https://jitpack.io" }
}


 int maxCount = MAX_ATTACHMENT_COUNT - imagesEncodedDoc.size() + docPaths.size();
            if (imagesEncodedDoc.size() == MAX_ATTACHMENT_COUNT) {
                Toast.makeText(activity, getResources().getString(R.string.cnanot_selected_more_than) + MAX_ATTACHMENT_COUNT + " items",
                        Toast.LENGTH_SHORT).show();
            } else {
                cilck_set = "doc";
                FilePickerBuilder.getInstance()
                        .setMaxCount(maxCount)
                        .setSelectedFiles(docPaths)
                        .enableDocSupport(true)
                        .setActivityTheme(R.style.FilePickerTheme)
                        .pickFile(this);
            }

Tuesday, September 17, 2019

Download File

Webservice.java

 public static File createFolders(Context context, String type) {
        String folderpath = db_name + "/";
        folderpath = folderpath + "Diary/Database";
   
        Boolean isSDPresent = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
        File myNewFolder = null;
        if (isSDPresent) {
            String newFolder = "/" + folderpath;
            String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
            myNewFolder = new File(extStorageDirectory + newFolder);
            if (myNewFolder.exists()) {
            } else {
                myNewFolder.mkdirs();
            }
        } else {
            String newFolder = folderpath;
            myNewFolder = context.getDir(newFolder, Context.MODE_PRIVATE);
            if (!myNewFolder.exists()) {
                myNewFolder.mkdirs();
            }
        }
        return myNewFolder;
    }



                    String filename = data.get(position);
                    String[] parts = filename.split("/");
                    String part2 = parts[parts.length - 1];
                    if (checkFile(part2, "d")) {
                        co = 1;
                        File newFolder = Webservice.createFolders(context, "d");
                        openDocument(newFolder + "/" + part2);
                    } else {
                        co = 1;
                        new DownloadFileFromURL(position).execute(data.get(position));
                    }




private boolean checkFile(String path, String type) {

        File newFolder;

        if (type.equals("d")) {
            newFolder = Webservice.createFolders(context, "d");
        } else {
            newFolder = Webservice.createFolders(context, "i");
        }
        File file = new File(newFolder + "/" + path);
        if (file.exists())
            return true;
        else
            return false;
    }





private class DownloadFileFromURL extends AsyncTask<String, String, String> {
        private ProgressDialog p;
        private int pos = 0;

        public DownloadFileFromURL(int p) {
            pos = p;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            p = new ProgressDialog(context);
            p.setMessage("Downloading 0%");
            p.setIndeterminate(false);
            p.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            p.setCancelable(false);
            p.show();
        }

        @Override
        protected void onProgressUpdate(String... values) {
            super.onProgressUpdate(values);
            p.setMessage("Downloading " + values[0] + "%");
        }

        @Override
        protected String doInBackground(String... f_url) {
            int count;
            String filename = f_url[0];
            String[] parts = filename.split("/");
            String part2 = parts[parts.length - 1];
            File myNewFolder = null;
            if (part2.endsWith(".JPG")
                    || part2.endsWith(".jpg")) {
                myNewFolder = Webservice.createFolders(context, "i");
            } else if (part2.endsWith(".png")
                    || part2.endsWith(".PNG")) {
                myNewFolder = Webservice.createFolders(context, "i");
            } else if (part2.endsWith(".GIF")
                    || part2.endsWith(".gif")) {
                myNewFolder = Webservice.createFolders(context, "i");
            } else {
                myNewFolder = Webservice.createFolders(context, "d");
            }
            try {
                System.out.println("Downloading");
                URL url = new URL(f_url[0]);

                URLConnection conection = url.openConnection();
                conection.connect();
                // getting file length
                int lenghtOfFile = conection.getContentLength();
                // input stream to read file - with 8k buffer
                InputStream input = new BufferedInputStream(url.openStream(), 8192);
                // Output stream to write file
                OutputStream output = new FileOutputStream(myNewFolder + "/" + part2);
                byte data[] = new byte[1024];

                long total = 0;
                while ((count = input.read(data)) != -1) {
                    //if (!Webservice.isCancelled) {
                    total += count;

                    // writing data to file
                    publishProgress("" + (int) ((total * 100) / lenghtOfFile));
                    output.write(data, 0, count);
                  /*  } else {
                        break;
                    }*/

                }
                // flushing output
                output.flush();
                // closing streams
                output.close();
                input.close();

            } catch (Exception e) {
                //Log.e("Error: ", e.getMessage());
            }

            return myNewFolder + "/" + part2;
        }


        /**
         * After completing background task
         **/
        @Override
        protected void onPostExecute(String s) {
            p.dismiss();
       
        }

    }




Tuesday, July 30, 2019

Whitout Header Asp.net API


Dependencies.java


 implementation files('libs/ksoap2-android-assembly-3.1.1-jar-with-dependencies.jar')


 MainActivity.java


 private class checkVersion extends AsyncTask<String, String, String> {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(String... params)
        {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
            SoapObject request = new SoapObject(Webservice.NAMESPACE, Webservice.sel_app_version);

            PropertyInfo tokenPI = new PropertyInfo();
            tokenPI.setName("token");
            tokenPI.setValue(Webservice.Token);
            tokenPI.setType(String.class);
            request.addProperty(tokenPI);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(request);
            HttpTransportSE androidHttpTransport = new HttpTransportSE(Webservice.URL);
            try {
                androidHttpTransport.call(Webservice.NAMESPACE + Webservice.sel_app_version, envelope);
                androidHttpTransport.getServiceConnection().setRequestProperty("Connection", "close");
            } catch (IOException e) {
                e.printStackTrace();
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            }
            SoapPrimitive response = null;
            try {
                response = (SoapPrimitive) envelope.getResponse();
            } catch (SoapFault soapFault) {
                soapFault.printStackTrace();
            } catch (Exception e) {
            }
            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) {
            if (result != null && !result.equals("[]")) {
                //Log.e("Admin", "Chk--" + result);
                try {
                    JSONObject j = new JSONObject(result);
                    String success = j.getString("Success");
                    if (success.equals("1")) {
                        Gson gson = new Gson();
                        JSONArray jsonArray = j.getJSONArray("result");
                        UserBean bean = new UserBean();
                        for (int i = 0; jsonArray.length() > i; i++) {
                            bean = gson.fromJson(jsonArray.get(i).toString(), UserBean.class);
                            String appver = appVersion();
                            if (!appver.equals(bean.getVer())) {
                                confirmDialog("App new version available! Update app.");
                            }
                        }

                    } else {
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
           
            super.onPostExecute(result);
        }
    }

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);

        }
    }
}

Retrofit Display data

Dependencies


implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit:retrofit:1.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.0.2'
implementation 'com.google.android.material:material:1.0.0-rc01'//AndroidX



APIclient.java


package com.example.retrofit.Reset;

import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class APIclient
{
    public static final String BASEURL="http://sktechnocast.com";
    public static Retrofit retrofit=null;

    public static Retrofit getClient()
    {
        if(retrofit==null)
        {
            retrofit=new Retrofit.Builder().baseUrl(BASEURL)
                    .addConverterFactory(GsonConverterFactory.create()).build();
        }
        return retrofit;
    }
}



APIinterface.java


package com.example.retrofit.Reset;

import com.example.retrofit.Model.Getdata;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;


public interface APIinterface {

    @GET("/android/Monika/IT_Programing/company_logo.php")
    //Call<Getdata>GetAlldata();
   // Call<JsonElement>GetAlldata();
    //public String Getdata(Callback<String> callback);
    Call<JsonObject> GetAlldata();


}


MainActivity.java



package com.example.retrofit;


import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.retrofit.Adapter.DisplaydataAdpter;
import com.example.retrofit.Model.Getdata;
import com.example.retrofit.Reset.APIclient;
import com.example.retrofit.Reset.APIinterface;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

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

import java.util.ArrayList;
import java.util.List;

import retrofit.RestAdapter;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class MainActivity extends AppCompatActivity {

    private Activity activity = MainActivity.this;
    private RecyclerView rvdata;
    private ArrayList<Getdata> listdata;
    private DisplaydataAdpter adpter;
    private EditText txt_nm, txt_city;
    private Button btn_submit;

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

    public void init() {
        rvdata = (RecyclerView) findViewById(R.id.rvdata);
        txt_nm = (EditText) findViewById(R.id.txt_nm);
        txt_city = (EditText) findViewById(R.id.txt_city);
        btn_submit = (Button) findViewById(R.id.btn_submit);
    }

    public void initComponent() {
        listdata = new ArrayList<Getdata>();
    }

    private void Setlisner() {
        Displaydata();
        btn_submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });
    }

    private void Displaydata()
    {
        APIinterface api = APIclient.getClient().create(APIinterface.class);
        Call<JsonObject> call = api.GetAlldata();
        call.enqueue(new Callback<JsonObject>() {
            @Override
            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
                JsonObject jsonObject = response.body();
                Log.e("result==",response.body().toString());
                String success = response.body().get("success").toString();
                if (success.equals("1"))
                {
                    JsonArray jsonArray = jsonObject.getAsJsonArray("result");
                    Gson gson = new Gson();
                    for (int i = 0; i < jsonArray.size(); i++)
                    {
                        Getdata bean = new Getdata();
                        bean = gson.fromJson(jsonArray.get(i).toString(), Getdata.class);
                        listdata.add(bean);
                    }
                    rvdata.setLayoutManager(new LinearLayoutManager(activity));
                    adpter = new DisplaydataAdpter(activity, listdata);
                    rvdata.setAdapter(adpter);
                }
                else {
                    Toast.makeText(MainActivity.this, "no data found", Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onFailure(Call<JsonObject> call, Throwable t) {

            }
        });
    }

}






GogoleMap

Dependencies


    implementation 'pub.devrel:easypermissions:0.2.0'//permission
    implementation 'com.google.android.gms:play-services-maps:16.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    apply plugin: 'com.google.gms.google-services'



Androidmanifest.xml


    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-feature android:name="android.hardware.location.gps" />



SplashActivity.java


package com.example.e_building_design;

import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.Toast;



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

import org.xmlpull.v1.XmlPullParserException;

import java.io.IOException;
import java.util.List;

import pub.devrel.easypermissions.EasyPermissions;

public class SplashActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks{

    private ImageView iv_logo;
    private String[] permissions = {
            Manifest.permission.ACCESS_FINE_LOCATION,
            Manifest.permission.ACCESS_COARSE_LOCATION,
    };

    private Activity activity=SplashActivity.this;
    public String token;
  //  private LoginPreferences loginPreferences;
   // private ConnectionDetector connectionDetector;

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

        initView();
    }

    private void initView() {
 
        iv_logo = (ImageView) findViewById(R.id.iv_logo);

       Animation aniFade = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade_in);
        iv_logo.startAnimation(aniFade);
        if (!EasyPermissions.hasPermissions(activity, permissions)) {
            EasyPermissions.requestPermissions(activity, "Please allow app", 1, permissions);
        } else {
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {

                   if (new LoginPreferences(activity).isUserLoggedIn()) {
                        if(connectionDetector.isConnectingToInternet()) {
                         new Login().execute();

                        }
                    } else {*/
                        startActivity(new Intent(activity, LoginActivity.class));
                        finish();
                    //}
                }
            }, 3500);
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (!EasyPermissions.hasPermissions(activity, permissions)) {
            EasyPermissions.requestPermissions(activity, "Please allow app", 1, permissions);

        } else {
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {

                   /* startActivity(new Intent(activity, LoginActivity.class));
                    finish();*/
                 /*  if (new LoginPreferences(activity).isUserLoggedIn()) {
                        if(connectionDetector.isConnectingToInternet()) {
                                    new Login().execute();

                        }
                    } else {*/
                        startActivity(new Intent(activity, LoginActivity.class));
                        finish();
                    //}
                }
            }, 3000);
        }
    }
    @Override
    public void onPermissionsGranted(int requestCode, List<String> perms) {

    }


    @Override
    public void onPermissionsDenied(int requestCode, List<String> perms) {
        finish();
    }

}


MapsActivity.java



package com.example.e_building_design;

import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;

import android.Manifest;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.LinearInterpolator;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.PendingResult;
import com.google.android.gms.common.api.ResultCallback;
import com.google.android.gms.common.api.Status;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.location.LocationSettingsRequest;
import com.google.android.gms.location.LocationSettingsResult;
import com.google.android.gms.location.LocationSettingsStates;
import com.google.android.gms.location.LocationSettingsStatusCodes;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.LocationSource;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.material.bottomsheet.BottomSheetBehavior;

import java.io.IOException;
import java.util.List;
import java.util.Locale;



public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
        GoogleMap.OnMyLocationButtonClickListener,
        GoogleMap.OnMyLocationClickListener,
        GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener,
        LocationListener, GoogleMap.OnMapClickListener {

    private GoogleMap mMap;
    private GoogleMap.OnMapClickListener mCustomOnMapClickListener;
    CameraUpdate cameraUpdate;
    Marker marker;
    double lat, lng;
    LocationRequest mLocationRequest;
    GoogleApiClient mGoogleApiClient;
    Location mLastLocation;
    private GoogleApiClient googleApiClient;
    final static int REQUEST_LOCATION = 199;
    // check GPS enable or not
    private LocationManager locationManager;
    private int flag = 0;

    private EditText txt_address;
    private static final long MIN_TIME = 10000; //10000 millisecond = 10 second
    private static final float MIN_DISTANCE = 100; //1000 meter = 1km

    @SuppressLint("MissingPermission")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);

        txt_address = (EditText) findViewById(R.id.txt_address);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);


        // Acquire a reference to the system Location Manager
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        if (!hasGPSDevice(MapsActivity.this)) {
            Toast.makeText(MapsActivity.this, "Gps not Supported", Toast.LENGTH_SHORT).show();
        }

        if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) && hasGPSDevice(MapsActivity.this)) {
            Log.e("keshav", "Gps not enabled");
            flag=0;
            enableLoc();
        } else {
            Log.e("keshav", "Gps already enabled");


        }
        mapFragment.getMapAsync(this);
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME, MIN_DISTANCE, this);
        //Get a fast fix with the last known location
        mLastLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);



    }

    protected synchronized void buildGoogleApiClient() {
        if (mGoogleApiClient == null) {
            mGoogleApiClient = new GoogleApiClient.Builder(this)
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .addApi(LocationServices.API)
                    .build();
            mGoogleApiClient.connect();
        }
    }

    @SuppressLint("MissingPermission")
    @Override
    public void onMapReady(final GoogleMap googleMap) {
        this.mMap = googleMap;
        buildGoogleApiClient();
        mMap.setMyLocationEnabled(true);
        mMap.setOnMapClickListener(this);
        mMap.setOnMyLocationClickListener(this);

    }


    public String getAddress(Context ctx, double lat, double lng) {
        String fullAdd = null;
        try {
            Geocoder geocoder = new Geocoder(ctx, Locale.getDefault());
            List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
            if (addresses.size() > 0) {
                Address address = addresses.get(0);
                fullAdd = address.getAddressLine(0);

            }


        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return fullAdd;
    }

    private boolean hasGPSDevice(Context context) {
        final LocationManager mgr = (LocationManager) context
                .getSystemService(Context.LOCATION_SERVICE);
        if (mgr == null)
            return false;
        final List<String> providers = mgr.getAllProviders();
        if (providers == null)
            return false;
        return providers.contains(LocationManager.GPS_PROVIDER);
    }


    private void enableLoc() {
        if (googleApiClient == null)
        {
            googleApiClient = new GoogleApiClient.Builder(MapsActivity.this)
                    .addApi(LocationServices.API)
                    .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
                        @Override
                        public void onConnected(Bundle bundle) {
                        }

                        @Override
                        public void onConnectionSuspended(int i) {
                            googleApiClient.connect();
                        }
                    })
                    .addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
                        @Override
                        public void onConnectionFailed(ConnectionResult connectionResult) {

                            Log.d("Location error", "Location error " + connectionResult.getErrorCode());
                        }
                    }).build();
            googleApiClient.connect();

            LocationRequest locationRequest = LocationRequest.create();
            locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
            locationRequest.setInterval(30 * 1000);
            locationRequest.setFastestInterval(5 * 1000);
            LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
                    .addLocationRequest(locationRequest);

            builder.setAlwaysShow(true);

            PendingResult<LocationSettingsResult> result =
                    LocationServices.SettingsApi.checkLocationSettings(googleApiClient, builder.build());
            result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
                @Override
                public void onResult(LocationSettingsResult result) {
                    final Status status = result.getStatus();

                    switch (status.getStatusCode()) {
                        case LocationSettingsStatusCodes.SUCCESS:
                            // All location settings are satisfied. The client can initialize location
                            // requests here.

                            Log.e("onResult", "SUCCESS");
                           // flag = 0;
                            break;
                        case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
                            try
                            {
                                // Show the dialog by calling startResolutionForResult(),
                                // and check the result in onActivityResult().
                                status.startResolutionForResult(MapsActivity.this, REQUEST_LOCATION);
                                // finish();
                            }
                            catch (IntentSender.SendIntentException e)
                            {
                                // Ignore the error.
                            }
                            break;
                        case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
                            // Location settings are not satisfied. However, we have no way to fix the
                            // settings so we won't show the dialog.

                            Log.e("onResult", "UNAVAILABLE");
                            break;

                    }
                }
            });
        }
    }

    @Override
    public void onLocationChanged(Location location)
    {
        Log.e("Flag==", String.valueOf(flag));
        try {
            if (flag == 0)
            {

                flag = 1;
                lat = location.getLatitude();
                lng = location.getLongitude();

                LatLng sydney = new LatLng(lat, lng);
               // mMap.clear();
                String Address = getAddress(MapsActivity.this, lat, lng);
                cameraUpdate = CameraUpdateFactory.newLatLng(sydney);
                marker = mMap.addMarker(new MarkerOptions().position(sydney));
                marker.showInfoWindow();
                mMap.moveCamera(cameraUpdate);
                mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15));

                txt_address.setText(Address);

                Log.e("Address==", Address);
                Log.e("latituted==", String.valueOf(lat));
                Log.e("longtituted==", String.valueOf(lng));
            }

        }catch (Exception e)
        {
            e.printStackTrace();
            Log.e("Error==",e.toString());
        }


    }

    @Override
    public void onStatusChanged(String s, int i, Bundle bundle) {

    }

    @Override
    public void onProviderEnabled(String s) {

    }

    @Override
    public void onProviderDisabled(String s) {

    }

    @Override
    public void onConnected(@Nullable Bundle bundle) {
    }

    @Override
    public void onConnectionSuspended(int i) {
    }

    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
    }

    @Override
    public boolean onMyLocationButtonClick() {
        return false;
    }

    @Override
    public void onMyLocationClick(@NonNull Location location) {

    }


    @Override
    public void onMapClick(LatLng latLng) {
        if(mMap!=null)
        mMap.clear();
        marker = mMap.addMarker(new MarkerOptions().position(latLng));
        // marker.showInfoWindow();
        cameraUpdate = CameraUpdateFactory.newLatLng(latLng);
        mMap.animateCamera(cameraUpdate);

        String location = String.valueOf(latLng).replace("lat/lng: (", "");
        String address[] = location.replace(")", "").split(",");
        lat = Double.parseDouble(address[0]);
        lng = Double.parseDouble(address[1]);

        String Address = getAddress(MapsActivity.this, lat, lng);
        txt_address.setText(Address);
        Log.e("Address1==", Address);
        Log.e("latituted1==", String.valueOf(address[0]));
        Log.e("longtituted1==", String.valueOf(address[1]));
    }
}


activity_maps.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:focusableInTouchMode="true"
    android:orientation="vertical"
    tools:context=".MapsActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center" />
    </LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>



Insert,Update and delete in Device Calender

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