Skip to content

By learning StringBuilder, you can manage input data (like name and surname) more efficiently when performing CRUD operations in Android. It helps when formatting strings, for example, combining first name and last name before storing them in a database or displaying them.

Notifications You must be signed in to change notification settings

thirdygayares/Android-Java-String-Builder

Repository files navigation

Before we discuss the advanced Android components like RecyclerView, ViewModels, or LiveData, it's essential to have a solid understanding of CRUD (Create, Read, Update, Delete) operations. CRUD operations form the foundation of how you manage and manipulate data in any application.

In Android development, mastering CRUD operations helps you:

  1. Handle Data Efficiently: CRUD allows you to add, update, display, and delete data from a database (like SQLite or Room). This is crucial for any real-world app that involves dynamic data.

  2. Integrate with Advanced UI Components: Advanced components like RecyclerView often rely on data lists fetched from a local or remote database. By mastering CRUD, you can manage and display these lists effectively.

  3. Understand Data Binding and Persistence: CRUD teaches you how to link UI elements like EditText or TextView to underlying data, making it easier to work with more complex architectures like MVVM (Model-View-ViewModel).

  4. Prepare for Networking: In the future, you'll deal with APIs and remote data where CRUD is central to managing the requests and responses.

By learning StringBuilder, you can manage input data (like name and surname) more efficiently when performing CRUD operations in Android. It helps when formatting strings, for example, combining first name and last name before storing them in a database or displaying them.


Simple Example: Add Name and Surname Using StringBuilder in Android

Here’s a basic example using StringBuilder to concatenate a name and surname. The example will include a layout with two EditText fields for input and a Button to trigger the concatenation.

1. Layout (activity_main.xml): Create a LinearLayout with EditText and Button

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <!-- EditText for Name -->
    <EditText
        android:id="@+id/etFirstName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter First Name"
        android:inputType="textPersonName"/>

    <!-- EditText for Surname -->
    <EditText
        android:id="@+id/etLastName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter Last Name"
        android:inputType="textPersonName"/>

    <!-- Button to Concatenate Name and Surname -->
    <Button
        android:id="@+id/btnConcatenate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Submit"/>

</LinearLayout>

2. Activity (MainActivity.java): Use StringBuilder for String Concatenation

package com.thirdygayares.android_java_string_builder;

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 {

    private EditText etFirstName, etLastName;
    private Button btnConcatenate;

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

        // Initialize EditText and Button
        etFirstName = findViewById(R.id.etFirstName);
        etLastName = findViewById(R.id.etLastName);
        btnConcatenate = findViewById(R.id.btnConcatenate);

        btnConcatenate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                // Get user input
                String firstName = etFirstName.getText().toString();
                String lastName = etLastName.getText().toString();

                // Use StringBuilder to add first name and last name
                StringBuilder fullName = new StringBuilder();
                fullName.append(firstName).append(" ").append(lastName);

                // Display the full name in a Toast
                Toast.makeText(MainActivity.this, "Full Name: " + fullName.toString(), Toast.LENGTH_SHORT).show();

            }
        });
    }
}

next example is StudentList. Apply CRUD on list

JAVA CODE:

package com.thirdygayares.android_java_string_builder;

import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;

public class StudentList extends AppCompatActivity {

    private EditText editTextIndex, editTextStudentName;
    private TextView textViewStudents;
    private Button buttonAdd, buttonUpdate, buttonDelete;

    private ArrayList<String> studentList = new ArrayList<>();
    private StringBuilder stringBuilder = new StringBuilder();

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

        editTextIndex = findViewById(R.id.editTextIndex);
        editTextStudentName = findViewById(R.id.editTextStudentName);
        textViewStudents = findViewById(R.id.textViewStudents);
        buttonAdd = findViewById(R.id.buttonAdd);
        buttonUpdate = findViewById(R.id.buttonUpdate);
        buttonDelete = findViewById(R.id.buttonDelete);

        buttonAdd.setOnClickListener(v -> addStudent());
        buttonUpdate.setOnClickListener(v -> updateStudent());
        buttonDelete.setOnClickListener(v -> deleteStudent());
    }

    private void addStudent() {
        String studentName = editTextStudentName.getText().toString().trim();
        if (!studentName.isEmpty()) {
            studentList.add(studentName);
            displayStudents();
            editTextStudentName.setText("");
        }
    }

    private void updateStudent() {
        String indexStr = editTextIndex.getText().toString().trim();
        String studentName = editTextStudentName.getText().toString().trim();

        if (!indexStr.isEmpty() && !studentName.isEmpty()) {
            int index = Integer.parseInt(indexStr) - 1; // Convert to zero-based index
            if (index >= 0 && index < studentList.size()) {
                studentList.set(index, studentName);
                displayStudents();
                editTextIndex.setText("");
                editTextStudentName.setText("");
            }
        }
    }

    private void deleteStudent() {
        String indexStr = editTextIndex.getText().toString().trim();
        if (!indexStr.isEmpty()) {
            int index = Integer.parseInt(indexStr) - 1; // Convert to zero-based index
            if (index >= 0 && index < studentList.size()) {
                studentList.remove(index);
                displayStudents();
                editTextIndex.setText("");
                editTextStudentName.setText("");
            }
        }
    }

    private void displayStudents() {
        stringBuilder.setLength(0); // Clear the StringBuilder
        for (int i = 0; i < studentList.size(); i++) {
            stringBuilder.append(i + 1).append(". ").append(studentList.get(i)).append("\n");
        }
        textViewStudents.setText(stringBuilder.toString());
    }
}

XML code:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/textViewStudents"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:padding="8dp"/>

    <EditText
        android:id="@+id/editTextIndex"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter index" />

    <EditText
        android:id="@+id/editTextStudentName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter student name" />

    <Button
        android:id="@+id/buttonAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add" />

    <Button
        android:id="@+id/buttonUpdate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Update" />

    <Button
        android:id="@+id/buttonDelete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Delete" />
</LinearLayout>

  • Again:

  • Before moving to more complex topics like RecyclerView or data binding in Android, mastering the basics such as CRUD operations is essential. Tools like StringBuilder make it easier to manage and format string data, which is an important aspect of developing applications that deal with dynamic data.

    Mastering these concepts will provide you with a strong foundation for handling user input, managing data, and displaying it through advanced components like RecyclerView​(FavTutor)​(appInvento).

About

By learning StringBuilder, you can manage input data (like name and surname) more efficiently when performing CRUD operations in Android. It helps when formatting strings, for example, combining first name and last name before storing them in a database or displaying them.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages