日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android使用剪切板傳遞數據

瀏覽:191日期:2022-09-25 11:02:30

在Activity之間傳遞數據還可以利用一些技巧,不管windows還是Linux操作系統,都會支持一種叫剪切板的技術,也就是某一個程序將一些數據復制到剪切板上,然后其他的任何程序都可以從剪切板中獲取數據,在Android系統中也存在此技術。

使用剪切板會用到,ClipboardManager對象,這個對用剪切板會用到,ClipboardManager象用來操作剪切板,但是沒有提供public的構造函數(單例模式),需要使用Activity.getSystemService(Context.CLIPBOARD_SERVICE)獲取該對象。

在Android-11(Android 3.0)版本之前,利用剪切板傳遞數據使用setText()和getText()方法,但是在此版本之后,這兩個方法就被棄用,轉而使用傳遞ClipData對象來代替。相對于getText和setText而言,利用ClipData對象來傳遞數據,更符合面向對象的思想,而且所能傳遞的數據類型也多樣化了。 

主要步驟:

通過getSystemService獲取ClipboardManager對象cm。

使用cm.setPrimaryClip()方法設置ClipData數據對象。

在新Activity中獲取ClipboardManager對象cm。

使用cm.getPrimaryClip()方法獲取剪切板的ClipData數據對象,cd。

通過cd.getItemAt(0)獲取到傳遞進來的數據。

示例代碼

保存數據:

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @SuppressLint('NewApi') @Override public void onClick(View v) { //獲取剪切板 ClipboardManager cm=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); cm.setPrimaryClip(ClipData.newPlainText('data', 'Jack')); // 或分2步寫 ClipData cd = ClipData.newPlain('label','Jack');cm.setPrimaryClip(cd);Intent intent=new Intent(MainActivity.this,otherActivity.class); startActivity(intent); } }); }

讀取數據:

protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); ClipboardManager cm=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); ClipData cd=cm.getPrimaryClip(); String msg=cd.getItemAt(0).getText().toString(); TextView tv=(TextView)findViewById(R.id.msg); tv.setText(msg); }

以上方式使用剪切板傳遞的為String類型的數據,如果需要傳遞一個對象,那么被傳遞的對象必須可序列化,序列化通過實現Serializable接口來標記。

主要步驟:

創建一個實現了Serializable接口的類MyData。 存入數據:獲取ClipboardManager,并對通過Base64類對MyData對象進行序列化,再存入剪切板中。 取出數據:在新Activity中,獲取ClipboardManager,對被序列化的數據進行反序列化,同樣使用Base64類。然后對反序列化的數據進行處理。

示例代碼:

步驟一:

public class MyData implements Serializable { private String name; private int age; public MyData(String name, int age) { super(); this.name = name; this.age = 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; } }

步驟二:

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @SuppressLint('NewApi') @Override public void onClick(View v) { //獲取剪切板 ClipboardManager cm=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); MyData mydata=new MyData('jack', 24); String baseToString=''; ByteArrayOutputStream bArr=new ByteArrayOutputStream(); try { ObjectOutputStream oos=new ObjectOutputStream(bArr); oos.writeObject(mydata); baseToString=Base64.encodeToString(bArr.toByteArray(), Base64.DEFAULT); oos.close(); } catch (Exception e) { e.printStackTrace(); } cm.setPrimaryClip(ClipData.newPlainText('data',baseToString)); Intent intent=new Intent(MainActivity.this,otherActivity.class); startActivity(intent); } }); }

步驟三:

protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); ClipboardManager cm=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); ClipData cd=cm.getPrimaryClip(); String msg=cd.getItemAt(0).getText().toString(); byte[] base64_btye=Base64.decode(msg, Base64.DEFAULT); ByteArrayInputStream bais=new ByteArrayInputStream(base64_btye); try { ObjectInputStream ois=new ObjectInputStream(bais); MyData mydata=(MyData)ois.readObject(); TextView tv=(TextView)findViewById(R.id.msg); tv.setText(mydata.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }

總結

綜上所述,使用剪切板傳遞數據有利有弊,剪切板為Android系統管理的,所以在一個地方存入的數據,在這個Android設備上任何應用都可以訪問的到,但是正是因為此設備訪問的都是同一個剪切板,可能會導致當前程序存入的數據,在使用前被其他程序覆蓋掉了,導致無法保證正確獲取數據。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本不良网站在线观看| 久久不射网站| 日韩1区2区| 极品日韩av| 少妇精品久久久一区二区| 精品国产欧美日韩| 日韩精品免费一区二区在线观看| 美女国产一区| 精品视频自拍| 免费在线视频一区| 欧美aⅴ一区二区三区视频| 国产传媒在线| 亚洲伊人精品酒店| 色天使综合视频| 日本不卡视频在线观看| 亚洲女同av| 亚洲精品系列| 日韩欧美网址| 久久狠狠久久| 亚洲一级黄色| 久久99蜜桃| 国产农村妇女精品一二区| 精品中国亚洲| 美国三级日本三级久久99| 国产在线看片免费视频在线观看| 四虎在线精品| 激情偷拍久久| 美腿丝袜亚洲三区| 麻豆91精品| 麻豆精品蜜桃| 国产精品qvod| 国产美女精品| 国产成人精品福利| 日韩国产在线观看一区| 午夜国产欧美理论在线播放| 久久精品系列| 日韩精品导航| av不卡免费看| 秋霞影院一区二区三区| 精品一区二区三区中文字幕在线| 亚洲综合日本| 午夜精品成人av| 精品中文字幕一区二区三区四区| 日本a级不卡| 国产亚洲精品v| 色爱综合av| yellow在线观看网址| 国产色99精品9i| 亚洲另类黄色| 欧美 日韩 国产精品免费观看| 欧美aa在线视频| 国产日韩欧美一区二区三区| 蜜芽一区二区三区| 激情婷婷综合| 欧美.日韩.国产.一区.二区 | 免费在线小视频| 国产精品毛片aⅴ一区二区三区| 国产一级一区二区| 久久久久久久久久久9不雅视频| 欧美激情福利| 国产精品一区毛片| 日韩欧乱色一区二区三区在线| 中文日韩在线| 夜夜精品视频| 狠狠干成人综合网| 在线一区免费| 亚洲大片在线| 精品丝袜在线| 色老板在线视频一区二区| 极品av在线| www.51av欧美视频| 国产成人免费视频网站视频社区| 老司机精品在线| 国产精品成人3p一区二区三区| 日韩精彩视频在线观看| 综合一区av| 亚洲精品自拍| 日韩精品视频在线看| 69堂免费精品视频在线播放| 日本不卡视频在线| 欧美在线91| 国产精品一线| 精品久久91| 日韩欧美一区二区三区在线观看 | 欧美好骚综合网| 国产一区国产二区国产三区| 风间由美中文字幕在线看视频国产欧美| 美女免费视频一区| 日韩1区2区| 久久网站免费观看| 美女久久一区| 日韩综合小视频| 欧美日韩亚洲一区| 久草精品视频| 欧美日韩免费看片| 伊人久久亚洲热| 亚洲精品精选| 国产极品久久久久久久久波多结野 | 丝袜美腿亚洲色图| 亚洲一二av| 国产精品一国产精品| 久久精品亚洲| 欧美日韩色图| 久久亚洲国产精品一区二区| 亚洲有吗中文字幕| 欧美日本不卡| 捆绑调教日本一区二区三区| 亚洲精品888| 亚久久调教视频| 国产精品66| 久久精品动漫| 蜜臀国产一区二区三区在线播放| 欧美在线黄色| 国产一区日韩| 激情婷婷综合| 日韩av中文在线观看| 精品久久精品| 99日韩精品| 欧美一级二区| 波多视频一区| 亚洲狼人精品一区二区三区| 久久精品国内一区二区三区| 欧美99久久| 日韩黄色av| 高清一区二区三区| 免费美女久久99| 欧美激情福利| 午夜日韩在线| 久久国产精品免费一区二区三区| 成人精品高清在线视频| 在线亚洲观看| 国产精品magnet| 亚洲香蕉网站| 日韩国产欧美在线播放| 正在播放日韩精品| 蜜臀va亚洲va欧美va天堂| 成人污污视频| 中文字幕av一区二区三区四区| 美女视频黄 久久| 亚洲免费影视| av高清不卡| 蜜桃免费网站一区二区三区| 国产精品xvideos88| 国产一区亚洲| 国产精品欧美三级在线观看 | 性一交一乱一区二区洋洋av| 老司机精品视频网| 免费不卡在线观看| 日韩伦理一区| 久久精品超碰| 亚洲黄页一区| 国产va免费精品观看精品视频| 蜜臀av一区二区三区| 国产一区二区三区天码| 亚洲毛片网站| 欧美日韩精品一本二本三本| 精品国产亚洲日本| 亚洲精品一级| 亚洲激情中文在线| 日韩成人精品一区二区| 丝瓜av网站精品一区二区| 亚洲区欧美区| 国产一区二区三区日韩精品| 亚洲特级毛片| 亚洲精品88| 福利欧美精品在线| 国产福利亚洲| 欧美精品影院| 亚洲手机视频| 国产成人精选| 国产精品传媒麻豆hd| 亚洲高清影视| 亚洲美女久久精品| 日韩精品亚洲aⅴ在线影院| 日本少妇一区二区| 日韩国产网站| 麻豆传媒一区二区三区| 欧美精品一区二区三区精品| 欧美一区91| 国产日韩免费| 蜜桃伊人久久| 久久久久免费av| 日韩av二区| 麻豆一区在线| 欧美有码在线| 日韩精品一区二区三区中文字幕| 一本色道久久精品| 欧美+日本+国产+在线a∨观看| 在线手机中文字幕| 久久中文欧美| 国产精品nxnn| 国产欧美成人| 日韩国产欧美一区二区三区| 亚洲视频二区| 三级欧美在线一区| 日韩精品一二区| 中文在线一区| 尤物网精品视频| 日韩一级网站| 1000部精品久久久久久久久|