电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:101日期:2022-09-25 11:12:02

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

所有實例均在android api 15下測試通過,所以先新建一個android應用程序。

- 傳遞簡單類型數(shù)據(jù)

步驟一:修改主Activity,增加一個按鈕,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: 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進行傳遞對象' /></RelativeLayout>

步驟二:在MainActivity類里面綁定button,以及利用剪切板進行數(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: android:layout_width='fill_parent' android:layout_height='fill_parent' android:text='' /></LinearLayout>

步驟四:在OtherActivity里面進行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); }

步驟五:別忘了在清單中進行OtherActivity注冊

<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>

以上就是主要實現(xiàn)過程,具體有些類的使用可以參考Android Api。運行結果如下。

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

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

- 傳遞對象類型數(shù)據(jù)

傳遞對象類型數(shù)據(jù)無需再增加任何控件,只是需要增加一個實體類,便于我們進行數(shù)據(jù)傳輸。

步驟一:新建實體類MyData,實現(xiàn)Serializable接口,便于進行字節(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里面進行對象類型的數(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); //將對象轉換成字符串 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類里面進行數(shù)據(jù)接收及顯示。

@Overrideprotected 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(); } }

運行結果如下:

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

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

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

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

標簽: Android
相關文章:
主站蜘蛛池模板: 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 明渠式紫外线杀菌器-紫外线消毒器厂家-定州市优威环保 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 真空上料机(一种真空输送机)-百科 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | 搪瓷反应釜厂家,淄博搪瓷反应釜-淄博卓耀| 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 澳威全屋定制官网|极简衣柜十大品牌|衣柜加盟代理|全屋定制招商 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 深圳湾1号房价_深圳湾1号二手房源| 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 涂层测厚仪_漆膜仪_光学透过率仪_十大创新厂家-果欧电子科技公司 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 |