Android Clipboard Tutorial

Android gir utklippstavlen rammeverk for å kopiere og lime ulike typer data. Dataene kan være tekst, bilder, binære strømdata eller andre komplekse datatyper.

Android gir biblioteket av ClipboardManager og ClipData og ClipData.item å bruke kopiere og lime framework.In for å bruke utklippstavlen rammeverk, du trenger for å sette data inn i klippet objekt, og deretter sette dette objektet inn i systemet bredt utklippstavlen.

For å bruke utklippstavlen, trenger du på å bruke et objekt av ClipboardManager ved å ringe getSystemService ()
metoden. Syntaksen er gitt nedenfor −
ClipboardManager myClipboard; myClipboard = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE);
Kopiere data

Den neste tingen du trenger å gjøre er å instantiate ClipData objekt ved å ringe respektive type data metoden i ClipData klassen. I tilfelle av tekstdata, vil newPlainText
metoden kalles. Etter at du må sette at data som klippet av Clipbaoard manager object.Its syntaks er gitt nedenfor −
ClipData myClip; String tekst = "hello world"; myClip = ClipData.newPlainText ("tekst", tekst); myClipboard.setPrimaryClip (myClip);

ClipData objekt kan ta disse tre form og følgende funksjoner blir brukt til å lage disse skjemaene
Sr.NoClipData Form &.; Method1 Tekst

newPlainText (etikett, tekst)

Returnerer en ClipData objekt som enkelt ClipData.Item objekt inneholder en tekststreng.
2 URI
< p> newUri (resolver, etikett, URI)

Returnerer en ClipData objekt som enkelt ClipData.Item objekt inneholder en URI.
3 Intent

newIntent (etikett, oppsatt)

Returnerer en ClipData objekt som enkelt ClipData.Item objekt inneholder en Intent.

Lime data

For å lime inn data, vil vi først få klippet ved å ringe getPrimaryClip ()
metoden. Og fra den klikk vil vi få varen i ClipData.Item objekt. Og fra objektet vil vi få data. Syntaksen er gitt nedenfor −
ClipData abc = myClipboard.getPrimaryClip (); ClipData.Item element = abc.getItemAt (0);. String tekst = item.getText () toString ();

Bortsett fra disse metodene, det finnes andre metoder som tilbys av ClipboardManager klasse for å administrere utklippstavle rammeverk. Disse metodene er listet nedenfor −
Sr.NoMethod & description1 getPrimaryClip ()

Denne metoden bare returnerer gjeldende primære klipp på utklippstavlen
2 getPrimaryClipDescription ()

Denne metoden returnerer en beskrivelse av dagens primær klippet på utklippstavlen, men ikke en kopi av dataene.
3 hasPrimaryClip ()

Denne metoden returnerer true hvis det er for tiden en primær klipp på utklippstavlen
4 setPrimaryClip ( ClipData klipp)

Denne metoden angir gjeldende primære klipp på utklippstavlen
5 setText (CharSequence tekst)

Denne metoden kan brukes direkte til å kopiere tekst til utklippstavlen
6 GetText ()

Denne metoden kan brukes direkte for å få kopiert tekst fra utklippstavlen

Eksempel

Her er et eksempel som viser bruken av ClipboardManager klasse. Det skaper en grunnleggende kopiere lime program som lar deg kopiere teksten og lim den inn via utklippstavlen.

For å eksperimentere med dette eksempelet, du kan kjøre dette på en faktisk enhet eller i en emulator.
StepsDescription1You vil bruke Android studio IDE å lage en Android-applikasjon og under en pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge nødvendig code.3Modify res /layout /activity_main å legge respektive XML components4Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene

Følgende er innholdet av den modifiserte hovedaktivitet filen src /MainActivity.java
.
emballasjen. example.sairamkrishna.myapplication, import android.bluetooth.BluetoothAdapter, import android.bluetooth.BluetoothDevice, import android.content.ClipData, importere android.content.ClipboardManager, importere android.content.DialogInterface, importere android.content.Intent, importere android .content.IntentFilter, import android.os.BatteryManager, import android.support.v7.app.ActionBarActivity, import android.os.Bundle, import android.view.Menu, import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter, import android.widget.Button, import android.widget.EditText, import android.widget.ListView, import android.widget.TextView, import android.widget.Toast, import java.util.ArrayList; import java.util.Set; public class MainActivity strekker ActionBarActivity {EditText ed1, ED2; Button b1, b2; private ClipboardManager myClipboard; privat ClipData myClip;. Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); ed1 = (EditText) findViewById (R.id.editText); ED2 = (EditText) findViewById (R.id.editText2); b1 = (Button) findViewById (R.id.button); b2 = (Button) findViewById (R.id.button2); myClipboard = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {String tekst;. text = ed1.getText () toString (); myClip = ClipData.newPlainText ("tekst", tekst); myClipboard .setPrimaryClip (myClip); Toast.makeText (getApplicationContext (), "Tekst kopiert", Toast.LENGTH_SHORT) .vis ();}}); b2.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {ClipData abc = myClipboard.getPrimaryClip (); ClipData.Item element = abc.getItemAt (0); String tekst = item.getText () .toString (); ed2.setText (tekst); Toast.makeText (getApplicationContext (), "Tekst som er limt", Toast.LENGTH_SHORT) .vis ();}}); }Override Beskyttet void onDestroy () {super.onDestroy (); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Følgende er endret innholdet i xml res /layout /activity_main.xml
< RelativeLayout xmlns:. android = "http://schemas.android.com/apk/res /Android "xmlns: verktøy =" http://schemas.android.com/tools "android: layout_width =" match_parent "android: layout_height =" match_parent "android: paddingLeft =" @ dimen /activity_horizontal_margin "android: paddingRight =" @ dimen /activity_horizontal_margin "android: paddingTop =" @ dimen /activity_vertical_margin "android: paddingBottom =" @ dimen /activity_vertical_margin "verktøy: kontekst =" MainActivity ">. < TextView android: text = "Eksempel" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /textview" android: Tekststørrelse = "35dp" android: layout_alignParentTop = "true" android : layout_centerHorizontal = "true" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorials point" android: id = "+ id /textView" android: layout_below = "+ id /textview" android: layout_centerHorizontal = "true" android: textcolor = "# ff7aff24" android: Tekststørrelse = "35dp" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /abc" android: layout_below = "+ id /textView" android : layout_centerHorizontal = "true" /> < EditText android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /EditText" android: layout_alignParentRight = "true" android: layout_alignParentEnd = "true" android: hint = "Kopier teksten" android: layout_below = "+ id /bildeVis" android: layout_alignLeft = "+ id /bildeVis" android: layout_alignStart = "+ id /bildeVis" /> < EditText android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /editText2" android: layout_alignLeft = "+ id /EditText" android: layout_alignStart = "+ id /EditText" android: hint = "lime inn tekst" android: layout_below = "+ id /EditText" android: layout_alignRight = "+ id /EditText" android: layout_alignEnd = "+ id /EditText" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Kopier teksten" android: id = "+ id /knapp" android: layout_below = "+ id /editText2" android: layout_alignLeft = "+ id /editText2" android: layout_alignStart = "+ id /editText2" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Lime inn tekst" android: id = "+ id /knappen2" android: layout_below = "+ id /editText2" android: layout_alignRight = "+ id /editText2" android: layout_alignEnd = "+ id /editText2" /> < /RelativeLayout >

Følgende er innholdet i res /verdier /string.xml
. < resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Følgende er innholdet av AndroidManifest.xml
fil
. <? xml version = "1.0 "encoding =" utf-8 "> < manifest xmlns:? android =" http://schemas.android.com/apk/res/android "pakken =" com.example.clipboard "android: version =" 1 "android: versjon =" 1.0 "> < søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: name = "com.example.sairamkrishna.myapplication.MainActivity" android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre vår en søknad vi bare endret. Jeg antar at du hadde laget ditt AVD
mens du gjør oppsett miljø. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Android studio Installasjonsprogrammet vil vise disse bildene og minus;

Nå bare taster inn tekst i tekst å kopiere feltet, og velg deretter kopiere tekst knappen. Følgende melding vil vises som vist nedenfor −

Nå trykker du bare på lim-knappen, og du vil se teksten som blir kopiert er nå limt inn i feltet av kopierte teksten. Det er vist nedenfor −