欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android利用剪切板傳遞數(shù)據(jù)

 更新時(shí)間:2020年03月27日 15:23:12   作者:勤勞的螞蟻88  
這篇文章主要為大家詳細(xì)介紹了android利用剪切板傳遞數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文主要介紹android應(yīng)用android系統(tǒng)中剪切板進(jìn)行數(shù)據(jù)的傳遞,首先講解的是傳遞簡(jiǎn)單數(shù)據(jù),然后講解傳遞對(duì)象類(lèi)型的數(shù)據(jù)。

所有實(shí)例均在android api 15下測(cè)試通過(guò),所以先新建一個(gè)android應(yīng)用程序。

- 傳遞簡(jiǎn)單類(lèi)型數(shù)據(jù)

步驟一:修改主Activity,增加一個(gè)按鈕,id為button。

<RelativeLayout 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"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 tools:context="com.example.appintent3.MainActivity" >

 <Button
 android:id="@+id/button"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentTop="true"
 android:layout_centerHorizontal="true"
 android:layout_marginTop="34dp"
 android:text="利用OutPutStream進(jìn)行傳遞對(duì)象" />

</RelativeLayout>

步驟二:在MainActivity類(lèi)里面綁定button,以及利用剪切板進(jìn)行數(shù)據(jù)傳遞,代碼如下:

@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 button = (Button)this.findViewById(R.id.button);
 button.setOnClickListener(new View.OnClickListener() {

  @Override
  public void onClick(View v) {
  Intent intent = new Intent(MainActivity.this,OtherActivity.class);
  ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
  clipboardManager.setText("luzongfeng:17");
  startActivity(intent);
  }
 });


 }

步驟三:新建otherActivity,添加TextView控件,id為textView.

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

 <TextView
 android:id="@+id/textView"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:text="" />

</LinearLayout>

步驟四:在OtherActivity里面進(jìn)行textView以及從剪切板中獲取數(shù)據(jù).

private TextView textView;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_other);
 textView=(TextView)this.findViewById(R.id.textView);
 ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
 String myString = (String)clipboardManager.getText();
 textView.setText(myString);
 }

步驟五:別忘了在清單中進(jìn)行OtherActivity注冊(cè)

 <application
 android:allowBackup="true"
 android:icon="@drawable/ic_launcher"
 android:label="@string/app_name"
 android:theme="@style/AppTheme" >
 <activity
  android:name=".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>
 <activity android:name=".OtherActivity"></activity> 
</application>

以上就是主要實(shí)現(xiàn)過(guò)程,具體有些類(lèi)的使用可以參考Android Api。運(yùn)行結(jié)果如下。

- 傳遞對(duì)象類(lèi)型數(shù)據(jù)

傳遞對(duì)象類(lèi)型數(shù)據(jù)無(wú)需再增加任何控件,只是需要增加一個(gè)實(shí)體類(lèi),便于我們進(jìn)行數(shù)據(jù)傳輸。

步驟一:新建實(shí)體類(lèi)MyData,實(shí)現(xiàn)Serializable接口,便于進(jìn)行字節(jié)流的傳輸。

package com.example.appintent3;

import java.io.Serializable;

public class MyData implements Serializable {

 private String name;
 private int age;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getAge() {
 return age;
 }
 public void setAge(int age) {
 this.age = age;
 }
 public MyData(String name, int age) {
 super();
 this.name = name;
 this.age = age;
 }

}

步驟二:在MainActivity里面進(jìn)行對(duì)象類(lèi)型的數(shù)據(jù)封裝以及傳輸。

@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 button = (Button)this.findViewById(R.id.button);
 button.setOnClickListener(new View.OnClickListener() {

  @Override
  public void onClick(View v) {
  Intent intent = new Intent(MainActivity.this,OtherActivity.class);
  MyData myData = new MyData("luzongfeng", 17);
  //將對(duì)象轉(zhuǎn)換成字符串
  ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  String base64String = "";
  try {
   ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
   objectOutputStream.writeObject(myData);
   base64String = Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT);
   objectOutputStream.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
  ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
  clipboardManager.setText(base64String);
  startActivity(intent);
  }
 });
 }

步驟三:在OtherActivity類(lèi)里面進(jìn)行數(shù)據(jù)接收及顯示。

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_other);
 textView=(TextView)this.findViewById(R.id.textView);
 ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
 String myString = (String)clipboardManager.getText();
 byte[] base64_byte = Base64.decode(myString, Base64.DEFAULT);
 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(base64_byte);
 try {
  ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
  MyData myData = (MyData)objectInputStream.readObject();
  textView.setText(myData.getName()+":"+myData.getAge());
 } catch (Exception e) {
  e.printStackTrace();
 }  
 }

運(yùn)行結(jié)果如下:

代碼部分就算實(shí)現(xiàn)完了,相關(guān)涉及數(shù)據(jù)流轉(zhuǎn)換的部分如有不清楚的可以百度看看類(lèi)的使用,反正就是字節(jié)流寫(xiě)進(jìn)去,字節(jié)流再讀出來(lái),Base64這個(gè)是android框架中工具類(lèi),可以進(jìn)行加密解密。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android 6.0開(kāi)發(fā)實(shí)現(xiàn)關(guān)機(jī)菜單添加重啟按鈕的方法

    Android 6.0開(kāi)發(fā)實(shí)現(xiàn)關(guān)機(jī)菜單添加重啟按鈕的方法

    這篇文章主要介紹了Android 6.0開(kāi)發(fā)實(shí)現(xiàn)關(guān)機(jī)菜單添加重啟按鈕的方法,涉及Android6.0針對(duì)相關(guān)源碼的修改與功能添加操作技巧,需要的朋友可以參考下
    2017-09-09
  • android中實(shí)現(xiàn)editext搜索完成自動(dòng)關(guān)閉軟鍵盤(pán)

    android中實(shí)現(xiàn)editext搜索完成自動(dòng)關(guān)閉軟鍵盤(pán)

    在Android應(yīng)用開(kāi)發(fā)中,經(jīng)常會(huì)遇到需要在EditText中輸入內(nèi)容,并通過(guò)搜索按鈕進(jìn)行搜索的場(chǎng)景,通常情況下,當(dāng)用戶(hù)點(diǎn)擊搜索按鈕后,我們希望關(guān)閉軟鍵盤(pán)以提供更好的用戶(hù)體驗(yàn),本文將介紹如何在Android中實(shí)現(xiàn)EditText搜索完成后自動(dòng)關(guān)閉軟鍵盤(pán)的功能
    2023-10-10
  • Android Studio搜索功能(查找功能)及快捷鍵圖文詳解

    Android Studio搜索功能(查找功能)及快捷鍵圖文詳解

    這篇文章主要介紹了Android Studio搜索功能(查找功能)及快捷鍵圖文詳解,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2017-12-12
  • Cocos2d-x的內(nèi)存管理總結(jié)

    Cocos2d-x的內(nèi)存管理總結(jié)

    這篇文章主要介紹了Cocos2d-x的內(nèi)存管理總結(jié),詳解探討了手工對(duì)象內(nèi)存管理、自動(dòng)對(duì)象內(nèi)存管理、自動(dòng)釋放的時(shí)機(jī)等問(wèn)題,需要的朋友可以參考下
    2014-04-04
  • android和js的交互之jsbridge使用教程

    android和js的交互之jsbridge使用教程

    這篇文章主要給大家介紹了關(guān)于android和js的交互之jsbridge使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Android內(nèi)存泄漏排查利器LeakCanary

    Android內(nèi)存泄漏排查利器LeakCanary

    這篇文章主要為大家詳細(xì)介紹了Android內(nèi)存泄漏排查利器LeakCanary的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android實(shí)現(xiàn)簡(jiǎn)單的下拉刷新控件

    Android實(shí)現(xiàn)簡(jiǎn)單的下拉刷新控件

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單的下拉刷新控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 簡(jiǎn)單好用的Adapter---ArrayAdapter詳解

    簡(jiǎn)單好用的Adapter---ArrayAdapter詳解

    這篇文章主要介紹了簡(jiǎn)單好用的Adapter---ArrayAdapter詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Android 雙擊Back鍵退出應(yīng)用的實(shí)現(xiàn)方法

    Android 雙擊Back鍵退出應(yīng)用的實(shí)現(xiàn)方法

    這篇文章主要介紹了Android 雙擊Back鍵退出應(yīng)用的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • Android Studio打包APK文件具體實(shí)現(xiàn)步驟解析

    Android Studio打包APK文件具體實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Android Studio打包APK文件具體實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論