Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>alanturing2New to Visual Studio Code? Get it now.
alanturing2

alanturing2

alanturing

| (0) | Free
7 - 11
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Practical 7 — Implicit Intents

Java Code — MainActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button browseButton, dialButton, smsButton, shareButton, emailButton, shareDataButton, buttonOpenSecond;

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

        browseButton = findViewById(R.id.browseButton);
        dialButton = findViewById(R.id.dialButton);
        smsButton = findViewById(R.id.smsButton);
        shareButton = findViewById(R.id.shareButton);
        emailButton = findViewById(R.id.emailButton);
        shareDataButton = findViewById(R.id.shareDataButton);
        buttonOpenSecond = findViewById(R.id.buttonOpenSecond);

        browseButton.setOnClickListener(v -> {
            String url = "https://www.google.com";
            Intent browseIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(browseIntent);
        });

        dialButton.setOnClickListener(v -> {
            Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:+913979484100"));
            startActivity(dialIntent);
        });

        smsButton.setOnClickListener(v -> {
            Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
            smsIntent.setData(Uri.parse("smsto:" + Uri.encode("+913979484100")));
            smsIntent.putExtra("sms_body", "Lalalalalala");
            startActivity(smsIntent);
        });

        shareButton.setOnClickListener(v -> {
            Intent shareIntent = new Intent(Intent.ACTION_SEND);
            shareIntent.setType("text/plain");
            shareIntent.putExtra(Intent.EXTRA_TEXT, "hjejkhekjh");
            startActivity(Intent.createChooser(shareIntent, "Share via"));
        });

        emailButton.setOnClickListener(v -> {
            Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
            emailIntent.setData(Uri.parse("mailto:hehaho@gmail.com"));
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, "give placement");
            emailIntent.putExtra(Intent.EXTRA_TEXT, "10lpa minimum needed!!!!!!!");
            startActivity(emailIntent);
        });

        shareDataButton.setOnClickListener(v -> {
            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("text/plain");
            intent.putExtra(Intent.EXTRA_TEXT, "This is the text data to share with other apps!");
            startActivity(Intent.createChooser(intent, "Share text via"));
        });

        buttonOpenSecond.setOnClickListener(v -> {
            Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            startActivity(intent);
        });
    }
}

Java Code — SecondActivity.java

package com.example.receiverapp;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity {

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

        TextView txtreceive = findViewById(R.id.txtreceive);

        Intent getIntent = getIntent();
        String val = getIntent.getStringExtra(Intent.EXTRA_TEXT);

        txtreceive.setText(val);
    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:allowBackup="true"
        android:theme="@style/Theme.ReceiverApp">

        <activity android:name=".MainActivity" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>

            <intent-filter>
                <action android:name="android.intent.action.SEND"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="text/plain"/>
            </intent-filter>
        </activity>

    </application>
</manifest>

activity_main.xml

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

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal">

        <Button
            android:id="@+id/browseButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Open Website" />

        <Button
            android:id="@+id/dialButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Dial Number"
            android:layout_marginTop="12dp" />

        <Button
            android:id="@+id/smsButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Send SMS"
            android:layout_marginTop="12dp" />

        <Button
            android:id="@+id/shareButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Share Text"
            android:layout_marginTop="12dp" />

        <Button
            android:id="@+id/emailButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Send Email"
            android:layout_marginTop="12dp" />

        <Button
            android:id="@+id/shareDataButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Share Data to Another App"
            android:layout_marginTop="12dp" />

        <Button
            android:id="@+id/buttonOpenSecond"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Open Second Activity"
            android:layout_marginTop="12dp" />

        <TextView
            android:id="@+id/txtreceive"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text=""
            android:padding="10dp"
            android:textSize="18sp"
            android:layout_marginTop="20dp" />

    </LinearLayout>

</ScrollView>

activity_second.xml

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

    <TextView
        android:id="@+id/txtreceive"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Received Data:"
        android:textSize="20sp"
        android:gravity="center" />

</LinearLayout>

Practical 8 — SharedPreferences Login + Splash Screen

Java — SplashActivity.java

package com.example.myapplication;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import androidx.appcompat.app.AppCompatActivity;

public class SplashActivity extends AppCompatActivity {

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

        SharedPreferences prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);
        boolean loggedIn = prefs.getBoolean("isLoggedIn", false);

        new Handler().postDelayed(() -> {
            if (loggedIn) {
                startActivity(new Intent(SplashActivity.this, HomeActivity.class));
            } else {
                startActivity(new Intent(SplashActivity.this, LoginActivity.class));
            }
            finish();
        }, 1500);
    }
}

Java — LoginActivity.java

package com.example.myapplication;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.*;

import androidx.appcompat.app.AppCompatActivity;

public class LoginActivity extends AppCompatActivity {

    EditText etUser, etPass;
    CheckBox chkRemember;
    Button btnLogin;

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

        etUser = findViewById(R.id.etUser);
        etPass = findViewById(R.id.etPass);
        chkRemember = findViewById(R.id.chkRemember);
        btnLogin = findViewById(R.id.btnLogin);

        btnLogin.setOnClickListener(v -> {
            String username = etUser.getText().toString().trim();
            String password = etPass.getText().toString().trim();

            if (username.equals("admin") && password.equals("1234")) {

                if (chkRemember.isChecked()) {
                    SharedPreferences prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);
                    SharedPreferences.Editor editor = prefs.edit();
                    editor.putBoolean("isLoggedIn", true);
                    editor.apply();
                }

                startActivity(new Intent(LoginActivity.this, HomeActivity.class));
                finish();
            } else {
                Toast.makeText(LoginActivity.this, "Invalid Username or Password", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Java — HomeActivity.java

package com.example.myapplication;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class HomeActivity extends AppCompatActivity {

    Button btnLogout;

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

        btnLogout = findViewById(R.id.btnLogout);

        btnLogout.setOnClickListener(v -> {
            SharedPreferences prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);
            SharedPreferences.Editor editor = prefs.edit();
            editor.clear();
            editor.apply();

            startActivity(new Intent(HomeActivity.this, LoginActivity.class));
            finish();
        });
    }
}

activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF">

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:indeterminate="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Loading..."
        android:textSize="20sp"
        android:layout_marginTop="16dp" />

</LinearLayout>

activity_login.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="24dp"
    android:background="#FAFAFA">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal">

        <TextView
            android:text="Login"
            android:textSize="28sp"
            android:textStyle="bold"
            android:layout_marginBottom="24dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <EditText
            android:id="@+id/etUser"
            android:hint="Enter Username"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:inputType="text"
            android:padding="12dp" />

        <EditText
            android:id="@+id/etPass"
            android:hint="Enter Password"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:inputType="textPassword"
            android:layout_marginTop="16dp"
            android:padding="12dp" />

        <CheckBox
            android:id="@+id/chkRemember"
            android:text="Remember Me"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp" />

        <Button
            android:id="@+id/btnLogin"
            android:text="Login"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_marginTop="24dp"
            android:textAllCaps="false"
            android:backgroundTint="#3F51B5"
            android:textColor="#FFFFFF" />

    </LinearLayout>

</ScrollView>

activity_home.xml

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

    <TextView
        android:text="Welcome Home!"
        android:textSize="26sp"
        android:textStyle="bold"
        android:layout_marginBottom="24dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btnLogout"
        android:text="Logout"
        android:layout_width="200dp"
        android:layout_height="48dp"
        android:backgroundTint="#E53935"
        android:textColor="#FFFFFF" />

</LinearLayout>

Practical 9 — AlertDialog + SharedPreferences

Java — MainActivity.java

package com.example.myapplication;

import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.*;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    EditText etUser, etPass;
    Button btnLogin;
    SharedPreferences prefs;

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

        etUser = findViewById(R.id.etUser);
        etPass = findViewById(R.id.etPass);
        btnLogin = findViewById(R.id.btnLogin);

        prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);

        etUser.setText(prefs.getString("username", ""));
        etPass.setText(prefs.getString("password", ""));

        btnLogin.setOnClickListener(v -> showAlert());
    }

    private void showAlert() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Save Login?");
        builder.setMessage("Do you want to save your credentials?");

        builder.setPositiveButton("Yes", (dialog, which) -> {
            SharedPreferences.Editor editor = prefs.edit();
            editor.putString("username", etUser.getText().toString());
            editor.putString("password", etPass.getText().toString());
            editor.apply();
            Toast.makeText(MainActivity.this, "Saved!", Toast.LENGTH_SHORT).show();
        });

        builder.setNegativeButton("No", (dialog, which) -> {
            Toast.makeText(MainActivity.this, "Not Saved", Toast.LENGTH_SHORT).show();
        });

        builder.show();
    }
}

activity_main.xml

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

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Alert & Save Credentials"
            android:textSize="22sp"
            android:textStyle="bold"
            android:layout_marginBottom="16dp"/>

        <EditText
            android:id="@+id/etUser"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:hint="Username"
            android:inputType="textPersonName"
            android:padding="12dp"/>

        <EditText
            android:id="@+id/etPass"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:hint="Password"
            android:inputType="textPassword"
            android:padding="12dp"
            android:layout_marginTop="12dp"/>

        <Button
            android:id="@+id/btnLogin"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:text="Login"
            android:layout_marginTop="18dp"
            android:backgroundTint="#3F51B5"
            android:textColor="#FFFFFF"/>

    </LinearLayout>

</ScrollView>

Practical 10 — Notifications

Java — MainActivity.java

package com.example.myapplication;

import android.app.*;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.*;

public class MainActivity extends AppCompatActivity {

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

        Button btn = findViewById(R.id.btnNotify);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel channel = new NotificationChannel(
                    "myChannel",
                    "MyChannel",
                    NotificationManager.IMPORTANCE_DEFAULT
            );
            NotificationManager manager = getSystemService(NotificationManager.class);
            if (manager != null) manager.createNotificationChannel(channel);
        }

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
            if (checkSelfPermission(android.Manifest.permission.POST_NOTIFICATIONS)
                    != PackageManager.PERMISSION_GRANTED) {
                requestPermissions(new String[]{android.Manifest.permission.POST_NOTIFICATIONS}, 100);
            }
        }

        btn.setOnClickListener(v -> {
            Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

            PendingIntent pi = PendingIntent.getActivity(
                    MainActivity.this, 0, intent,
                    PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE
            );

            NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this, "myChannel")
                    .setSmallIcon(android.R.drawable.ic_dialog_info)
                    .setContentTitle("Simple Notification")
                    .setContentText("Tap to open SecondActivity")
                    .setPriority(NotificationCompat.PRIORITY_DEFAULT)
                    .setContentIntent(pi)
                    .setAutoCancel(true);

            NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            if (manager != null) manager.notify(1, builder.build());
        });
    }
}

Java — SecondActivity.java

package com.example.myapplication;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class SecondActivity extends AppCompatActivity {

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

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

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

    <application
        android:theme="@style/Theme.MyApplication">

        <activity android:name=".SecondActivity" android:exported="false"/>
        <activity android:name=".MainActivity" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

    </application>
</manifest>

activity_main.xml

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Notifications Demo"
        android:textSize="22sp"
        android:textStyle="bold"
        android:layout_marginBottom="20dp"/>

    <Button
        android:id="@+id/btnNotify"
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:text="Show Notification"
        android:backgroundTint="#009688"
        android:textColor="#FFFFFF"/>

</LinearLayout>

activity_second.xml

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

    <TextView
        android:id="@+id/tvSecond"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Opened from Notification"
        android:textSize="20sp"
        android:textStyle="bold"/>
</FrameLayout>

Practical 11 — Internal & External Storage

Java — MainActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.*;

import java.io.*;

public class MainActivity extends AppCompatActivity {

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

        EditText editText = findViewById(R.id.editText);
        TextView textView = findViewById(R.id.textView);

        Button internalStoreBtn = findViewById(R.id.internalStoreBtn);
        Button internalLoadBtn = findViewById(R.id.internalLoadBtn);
        Button externalStoreBtn = findViewById(R.id.externalStoreBtn);
        Button externalLoadBtn = findViewById(R.id.externalLoadBtn);

        String extStorageState = Environment.getExternalStorageState();

        internalStoreBtn.setOnClickListener(v -> {
            String currentText = editText.getText().toString();
            try (FileOutputStream fos = openFileOutput("messagefile", MODE_PRIVATE);
                 OutputStreamWriter writer = new OutputStreamWriter(fos)) {
                writer.write(currentText);
                Toast.makeText(getApplicationContext(), "Message saved", Toast.LENGTH_LONG).show();
                editText.setText("");
            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        internalLoadBtn.setOnClickListener(v -> {
            try (FileInputStream fis = openFileInput("messagefile");
                 InputStreamReader reader = new InputStreamReader(fis)) {

                char[] buffer = new char[250];
                int charRead;
                StringBuilder sb = new StringBuilder();

                while ((charRead = reader.read(buffer)) > 0) {
                    sb.append(String.copyValueOf(buffer, 0, charRead));
                }

                Toast.makeText(getApplicationContext(), "Message read", Toast.LENGTH_LONG).show();
                textView.setText(sb.toString());

            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        externalStoreBtn.setOnClickListener(v -> {
            if (Environment.MEDIA_MOUNTED.equals(extStorageState)) {
                File myFile = new File(getExternalFilesDir("mydir"), "sample.txt");
                String currentText = editText.getText().toString();

                try (FileOutputStream fos = new FileOutputStream(myFile);
                     OutputStreamWriter writer = new OutputStreamWriter(fos)) {
                    writer.write(currentText);
                    Toast.makeText(getApplicationContext(), "Saved to external storage", Toast.LENGTH_LONG).show();
                    editText.setText("");
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });

        externalLoadBtn.setOnClickListener(v -> {
            if (Environment.MEDIA_MOUNTED.equals(extStorageState)
                    || Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) {
                File myFile = new File(getExternalFilesDir("mydir"), "sample.txt");

                try (FileInputStream fis = new FileInputStream(myFile);
                     BufferedReader reader = new BufferedReader(new InputStreamReader(fis))) {

                    StringBuilder sb = new StringBuilder();
                    String line;

                    while ((line = reader.readLine()) != null) {
                        sb.append(line).append("\n");
                    }

                    Toast.makeText(getApplicationContext(), "Read from external storage", Toast.LENGTH_LONG).show();
                    textView.setText(sb.toString());

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }
}

activity_main.xml

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

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Internal & External Storage"
            android:textSize="20sp"
            android:textStyle="bold"
            android:layout_marginBottom="12dp"/>

        <EditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="120dp"
            android:hint="Enter text here (multi-line)"
            android:gravity="top"
            android:inputType="textMultiLine"
            android:padding="12dp"
            android:background="@android:drawable/edit_text"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginTop="12dp"
            android:weightSum="2">

            <Button
                android:id="@+id/internalStoreBtn"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="48dp"
                android:text="Save Internal"/>

            <Button
                android:id="@+id/internalLoadBtn"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="48dp"
                android:text="Load Internal"
                android:layout_marginStart="8dp"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginTop="8dp"
            android:weightSum="2">

            <Button
                android:id="@+id/externalStoreBtn"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="48dp"
                android:text="Save External"/>

            <Button
                android:id="@+id/externalLoadBtn"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="48dp"
                android:text="Load External"
                android:layout_marginStart="8dp"/>
        </LinearLayout>

        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Saved text will appear here"
            android:padding="12dp"
            android:layout_marginTop="16dp"
            android:background="@android:drawable/editbox_background_normal"/>

    </LinearLayout>
</ScrollView>
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft