Học lập trình Android cung cấp khung clipboard để sao chép và dán các loại dữ liệu khác nhau. Dữ liệu có thể là văn bản, hình ảnh, dữ liệu luồng nhị phân hoặc các loại dữ liệu phức tạp khác.
Android cung cấp thư viện ClipboardManager và ClipData và ClipData.item để sử dụng khung sao chép và dán. Để sử dụng khung clipboard, bạn cần đặt dữ liệu vào đối tượng clip, sau đó đặt đối tượng đó vào bảng tạm trên toàn hệ thống.
Để sử dụng clipboard, bạn cần khởi tạo một đối tượng của ClipboardManager bằng cách gọi phương thức getSystemService () . Cú pháp của nó được đưa ra dưới đây
Trong trường hợp dữ liệu văn bản, Học lập trình Android phương thức newPlainText sẽ được gọi. Sau đó, bạn phải đặt dữ liệu đó làm clip của đối tượng Clipboard Manager. Cú pháp được đưa ra dưới đây
Dưới đây là một ví dụ minh họa việc sử dụng lớp ClipboardManager. Nó tạo ra một ứng dụng sao chép cơ bản cho phép bạn sao chép văn bản và sau đó dán nó qua clipboard.
Để thử nghiệm với ví dụ này, Học lập trình Android có thể chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / MainActivity.java .
Để chạy ứng dụng từ studio Học lập trình Android , hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ. Trình cài đặt studio Android sẽ hiển thị hình ảnh sau
Bây giờ chỉ cần nhập bất kỳ văn bản nào trong trường Văn bản để sao chép và sau đó chọn nút sao chép văn bản. Học lập trình Android Thông báo sau sẽ được hiển thị bên dưới
Bây giờ chỉ cần nhấn nút dán, và bạn sẽ thấy văn bản được sao chép hiện được dán trong trường Văn bản sao chép. Nó được hiển thị dưới đây
Android cung cấp thư viện ClipboardManager và ClipData và ClipData.item để sử dụng khung sao chép và dán. Để sử dụng khung clipboard, bạn cần đặt dữ liệu vào đối tượng clip, sau đó đặt đối tượng đó vào bảng tạm trên toàn hệ thống.
![]() |
| Học lập trình Android chuyên nghiệp |
Để sử dụng clipboard, bạn cần khởi tạo một đối tượng của ClipboardManager bằng cách gọi phương thức getSystemService () . Cú pháp của nó được đưa ra dưới đây
ClipboardManager myClipboard; myClipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
Sao chép dữ liệu
Điều tiếp theo bạn cần làm là khởi tạo đối tượng ClipData bằng cách gọi loại phương thức dữ liệu tương ứng của lớp ClipData.Trong trường hợp dữ liệu văn bản, Học lập trình Android phương thức newPlainText sẽ được gọi. Sau đó, bạn phải đặt dữ liệu đó làm clip của đối tượng Clipboard Manager. Cú pháp được đưa ra dưới đây
ClipData myClip; String text = "hello world"; myClip = ClipData.newPlainText("text", text); myClipboard.setPrimaryClip(myClip);Đối tượng ClipData có thể có ba biểu mẫu này và các hàm sau được sử dụng để tạo các biểu mẫu đó.
| Không. | Hình thức & Phương pháp ClipData |
|---|---|
| 1 | Bản văn newPlainText (nhãn, văn bản) Trả về một đối tượng ClipData có đối tượng ClipData.Item chứa một chuỗi văn bản. |
| 2 | URI newUri (trình phân giải, nhãn, URI) Trả về một đối tượng ClipData có đối tượng ClipData.Item chứa URI. |
| 3 | Ý định newIntent (nhãn, ý định) Trả về một đối tượng ClipData có đối tượng ClipData.Item chứa Intent. |
Dán dữ liệu
Để dán dữ liệu, trước tiên chúng tôi sẽ lấy clip bằng cách gọi phương thức getPrimaryClip () . Và từ lần nhấp đó, Học lập trình Android chúng ta sẽ nhận được mục trong đối tượng ClipData.Item. Và từ đối tượng chúng ta sẽ nhận được dữ liệu. Cú pháp của nó được đưa ra dưới đâyClipData abc = myClipboard.getPrimaryClip(); ClipData.Item item = abc.getItemAt(0); String text = item.getText().toString();Ngoài các phương thức này, còn có các phương thức khác được cung cấp bởi lớp ClipboardManager để quản lý khung clipboard. Các phương pháp này được liệt kê dưới đây
| Không. | Phương pháp & mô tả |
|---|---|
| 1 | getPrimaryClip () Phương pháp này chỉ trả về clip chính hiện tại trên bảng tạm |
| 2 | getPrimaryClipDescrip () Phương pháp này trả về một mô tả của clip chính hiện tại trên bảng tạm nhưng không phải là bản sao dữ liệu của nó. |
| 3 | hasPrimaryClip () Phương thức này trả về true nếu hiện tại có clip chính trên clipboard |
| 4 | setPrimaryClip (clip ClipData) Phương pháp này đặt clip chính hiện tại trên bảng tạm |
| 5 | setText (văn bản CharSequence) Phương pháp này có thể được sử dụng trực tiếp để sao chép văn bản vào clipboard |
| 6 | lấy văn bản () Phương pháp này có thể được sử dụng trực tiếp để lấy văn bản sao chép từ bảng ghi tạm |
Để thử nghiệm với ví dụ này, Học lập trình Android có thể chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.
| Các bước | Sự miêu tả |
|---|---|
| 1 | Bạn sẽ sử dụng IDE studio Android để tạo một ứng dụng Android và theo gói com.example.sairamkrishna.myapplication. |
| 2 | Sửa đổi tệp src / MainActivity.java để thêm mã cần thiết. |
| 3 | Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng |
| 4 | Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả |
package com.example.sairamkrishna.myapplication; import android.content.ClipData; import android.content.ClipboardManager; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends ActionBarActivity { EditText ed1, ed2; Button b1, b2; private ClipboardManager myClipboard; private ClipData myClip; @Override protected 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(new View.OnClickListener() { @Override public void onClick(View v) { String text; text = ed1.getText().toString(); myClip = ClipData.newPlainText("text", text); myClipboard.setPrimaryClip(myClip); Toast.makeText(getApplicationContext(), "Text Copied", Toast.LENGTH_SHORT).show(); } }); b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ClipData abc = myClipboard.getPrimaryClip(); ClipData.Item item = abc.getItemAt(0); String text = item.getText().toString(); ed2.setText(text); Toast.makeText(getApplicationContext(), "Text Pasted", Toast.LENGTH_SHORT).show(); } }); } }Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.Sau đây là nội dung của res / value / string.xml .
<resources> <string name="app_name">My Application</string> </resources>Sau đây là nội dung của tệp Học lập trình Android Manifest.xml .
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.sairamkrishna.myapplication.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>Hãy thử chạy một ứng dụng mà chúng tôi vừa sửa đổi. Tôi giả sử bạn đã tạo AVD của mình trong khi thực hiện thiết lập môi trường.
Để chạy ứng dụng từ studio Học lập trình Android , hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ. Trình cài đặt studio Android sẽ hiển thị hình ảnh sau
Bây giờ chỉ cần nhập bất kỳ văn bản nào trong trường Văn bản để sao chép và sau đó chọn nút sao chép văn bản. Học lập trình Android Thông báo sau sẽ được hiển thị bên dưới
Bây giờ chỉ cần nhấn nút dán, và bạn sẽ thấy văn bản được sao chép hiện được dán trong trường Văn bản sao chép. Nó được hiển thị dưới đây

Không có nhận xét nào:
Đăng nhận xét