skip to Main Content

How to retrieve data from API and store it in a mobile database? Java is preferred. I just started into this, and consider me a beginner.

2

Answers


  1. you can use retrofit and ensure you had created API client server to retrieve and read your data 🙂

    Login or Signup to reply.
  2. Use this to get data from API

    OkHttpClient client = new OkHttpClient();
    
                MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
                RequestBody body = RequestBody.create(mediaType, "app_key=whatever");
                Request request = new Request.Builder()
                        .url("https://app.inyek.com/app_api/api_extra/all_order.php")
                        .post(body)
                        .addHeader("Content-Type", "application/x-www-form-urlencoded")
                        .addHeader("key", "whatever")
                        .addHeader("cache-control", "no-cache")
                        .addHeader("Postman-Token", "whatever")
                        .build();
    
                Response response = client.newCall(request).execute();
    

    And use the below activity to store api data into sqlite

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    import androidx.appcompat.app.AppCompatActivity;
     
    public class MainActivity extends AppCompatActivity {
     
        // creating variables for our edittext, button and dbhandler
        private EditText courseNameEdt, courseTracksEdt, courseDurationEdt, courseDescriptionEdt;
        private Button addCourseBtn;
        private DBHandler dbHandler;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            // initializing all our variables.
            courseNameEdt = findViewById(R.id.idEdtCourseName);
            courseTracksEdt = findViewById(R.id.idEdtCourseTracks);
            courseDurationEdt = findViewById(R.id.idEdtCourseDuration);
            courseDescriptionEdt = findViewById(R.id.idEdtCourseDescription);
            addCourseBtn = findViewById(R.id.idBtnAddCourse);
             
            // creating a new dbhandler class
            // and passing our context to it.
            dbHandler = new DBHandler(MainActivity.this);
             
            // below line is to add on click listener for our add course button.
            addCourseBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                     
                    // below line is to get data from all edit text fields.
                    String courseName = courseNameEdt.getText().toString();
                    String courseTracks = courseTracksEdt.getText().toString();
                    String courseDuration = courseDurationEdt.getText().toString();
                    String courseDescription = courseDescriptionEdt.getText().toString();
                    
                    // validating if the text fields are empty or not.
                    if (courseName.isEmpty() && courseTracks.isEmpty() && courseDuration.isEmpty() && courseDescription.isEmpty()) {
                        Toast.makeText(MainActivity.this, "Please enter all the data..", Toast.LENGTH_SHORT).show();
                        return;
                    }
                     
                    // on below line we are calling a method to add new
                    // course to sqlite data and pass all our values to it.
                    dbHandler.addNewCourse(courseName, courseDuration, courseDescription, courseTracks);
                     
                    // after adding the data we are displaying a toast message.
                    Toast.makeText(MainActivity.this, "Course has been added.", Toast.LENGTH_SHORT).show();
                    courseNameEdt.setText("");
                    courseDurationEdt.setText("");
                    courseTracksEdt.setText("");
                    courseDescriptionEdt.setText("");
                }
            });
        }
    }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search