Passa ai contenuti principali

Android Studio - Copia negli appunti

Quante volte vi sarà capitato di copiare un testo negli appunti per poterlo utilizzare in un'altra app del nostro dispositivo?
Con questo articolo vedremo come realizzare una semplice funzione che permette di copiare del testo negli appunti del sistema operativo del dispositivo.

Prepariamo l'aspetto grafico:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:id="@+id/et2copy"
android:hint="Inserire il testo di prova"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:id="@+id/editText"
android:hint="copiare il testo dopo aver cliccato il pulsante"/>
<Button
android:text="Copia testo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/copyBtn"
android:layout_gravity="center"/>
</LinearLayout>

Ora vediamo la parte codice:
private fun copy2clipboard(text: CharSequence){
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as android.content.ClipboardManager
val clip = ClipData.newPlainText("copy text", text)
clipboard.primaryClip = clip
}
Questo è il codice che permette di copiare un qualsiasi testo all'interno degli appunti.
Vediamo per intero il file MainActivity.kt:
package com.dm.tutorialcopiaappunti2
import android.content.ClipData //importazione della Classe: ClipData
import android.content.Context //importazione della Classe: Context
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.inputmethod.InputMethodManager //importazione della Classe: InputMethodManager
import android.widget.Button //importazione della Classe: Button
import android.widget.EditText //importazione della Classe: EditText
import android.widget.Toast //importazione della Classe: Toast
import android.widget.Toast.* //importazione della Classe: Toast estesa
class MainActivity : AppCompatActivity() {
var testo: EditText? = null
var button: Button? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
testo = findViewById(R.id.et2copy)
button = findViewById(R.id.copyBtn)
button!!.setOnClickListener {
copy2clipboard(testo!!.text.toString()) //chiamata alla funzione copy2clipboard con passaggio
//del testo inserito nella EditText con id=et2copy
//visualizzazione messaggio Toast di copia negli appunti
Toast.makeText(this, "Testo copiato negli appunti", LENGTH_SHORT).show()
//nasconde la tastiera dopo aver cliccato sul pulsante
val imm1 = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm1.hideSoftInputFromWindow(testo!!.getWindowToken(), 0)
}
}
//funzione che copia il testo inserito negli appunti
private fun copy2clipboard(text: CharSequence){
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as android.content.ClipboardManager
val clip = ClipData.newPlainText("copy text", text)
clipboard.primaryClip = clip
}
}


Download Project
Download file APK


Commenti

Post popolari in questo blog

Android Studio - Impostare lingua app

In questo articolo vedremo come poter selezionare la lingua all'interno della nostra app. Nel precedente articolo in cui si parlava del file string.xml , la lingua dell'app veniva selezionata automaticamente in base alle impostazioni del dispositivo, mentre qui vedremo come poter selezionare a proprio piacimento la lingua che dovrà avere la nostra app indipendentemente dall'impostazione del dispositivo. Per prima cosa creare il layout Ecco un esempio do come può essere il file activity_main.xml Ora creare le stringhe di testo all'interno del file string.xml Ora creare la traduzione del file string.xml nelle varie lingua come descritto in questo articolo Il risultato sarà una serie di file string.xml delle varie lingue impostate. Ora queste di seguito sono tre funzioni che servono per: selezione della lingua salvataggio della selezione nelle preferenze dell'app caricamento della lingua quando si avvia l'app Ecco come si presenta il file Main...

Android Studio - Rinominare il progetto

Rinominare il progetto Android Studio ATTENZIONE!: non eseguire questa procedura se l'app è stata pubblicata su Google Play Store Quando si vuole cambiare nome al progetto: nome cartella in cui è contenuto il progetto package name bisogna eseguire questi passaggi: Andare nella cartella dove è contenuto il progetto Creare una copia del progetto in questione Rinominare la cartella copiata con il nome dell'app (non usare spazi tra le parole) Ora è necessario dire ad Android Studio il nome del nuovo progetto  Aprire Android Studio Aprire il progetto creato in precedenza Una volta caricato il progetto cliccare Build Cliccare Clean Project Attendere che venga eseguito il processo di "pulitura" Cliccare ancora su Build Cliccare su Rebuild Project Attendere che venga ricostruito il progetto Ora aprire la cartella app fino a visualizzare la cartella java Cliccare sull'ingranaggio  Deselezionare la voce Compact Middle Packa...

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.