Hands-on-Lab Practice: Please follow the steps bellow:-
First, create a new Android Studio project and choose "Empty Activity". Click "Next"
Name it “CopyPasteApplication” with the company domain of "com.example.copypasteapplication" and click on Next
Copy and paste all the following code in the specified file
//Copy and paste the following code into “MainActivity.java”.
//MainActivity.java
package com.example.copypasteapplication;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Build;
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
{
EditText usrCopyText;
Button btnCopy;
Button btnPaste;
private ClipboardManager myClipboard;
private ClipData myClip;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myClipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
}
public void OnClickCopy(View view)
{
usrCopyText = (EditText)(findViewById(R.id.editUserText));
String copyText = usrCopyText.getText().toString();
// encode the text to change the cache
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
myClip = ClipData.newPlainText("", copyText);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
myClipboard.setPrimaryClip(myClip);
}
Toast.makeText(getApplicationContext(), "Text Copied",
Toast.LENGTH_SHORT).show();
}
public void OnClickPaste(View view)
{
ClipData abc = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
abc = myClipboard.getPrimaryClip();
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
ClipData.Item item = abc.getItemAt(0);
String text = item.getText().toString();
Toast.makeText(getApplicationContext(), "Text Pasted: " + text,
Toast.LENGTH_SHORT).show();
}
}
}
//Copy the following code into “AndroidManifest.xml”.
//AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.copypasteapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.CopyPasteApplication">
<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>
//Copy the following code into “activity_main.xml”.
//activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingTop="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp">
<Button
android:id="@+id/btnPaste"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnCopy"
android:layout_alignBottom="@+id/btnCopy"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:onClick="OnClickPaste"
android:text="Paste"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/textView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editUserText" />
<Button
android:id="@+id/btnCopy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:onClick="OnClickCopy"
android:text="Copy"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnPaste"
app:layout_constraintTop_toBottomOf="@+id/editUserText" />
<EditText
android:id="@+id/editUserText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnCopy"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:ems="10"
android:hint="Password"
android:inputType="textPersonName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/textView"
app:layout_constraintStart_toStartOf="@+id/textView"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Enter Text to Copy:"
app:layout_constraintBottom_toTopOf="@+id/editUserText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Save the project and run it on the AVD that shall show this interface.
First, create a new Android Studio project and choose "Empty Activity". Click "Next"
Name it “AccessCopyPasteApplication” with the company domain of "com.example.accesscopypasteapplication" and click on Next
Copy and paste all the following code in the specified file
//Copy and paste the following code into “MainActivity.java”.
//MainActivity
package com.example.accesscopypasteapplication;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onPasteClick(View view)
{
ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
ClipData.Item data = clipboard.getPrimaryClip().getItemAt(0);
TextView tv = (TextView)findViewById(R.id.txtView1);
tv.setText(data.getText());
}
}
}
//Copy and paste the following code into “activity_main.xml".
//activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingTop="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars = "vertical"
android:id="@+id/txtView1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:text="Paste"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnPaste"
android:onClick="onPasteClick"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Save the project and run it on the AVD that shall show this interface.
Now let's choose the CopyPasteApplication app we built previously, in the same AVD, and input 'Access Test' and click 'copy' button
Then jump to 'AccessCopyPasteApplication' and click on 'Paste' button. Here you would see the Pasted Text as what you entered