麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)之針對聯(lián)系人的封裝

2020-01-02 07:03:43
字體:
供稿:網(wǎng)友

大家可能在做app的時候,或多或少需要使用聯(lián)系人,而根據(jù)google提供的api,你需要編寫大量的代碼,例如首先需要查詢數(shù)據(jù)庫,涉及到數(shù)據(jù)庫表和字段以及對應(yīng)的SQL語句。

那么我們是否可以在我們的項目中添加聯(lián)系人模塊,這樣能夠更方便的使用手機聯(lián)系人呢,答案是肯定的,并將其作為一個獨立的模塊,這樣在你的其他app中,你都可以引入該模塊,或者你能夠?qū)⒃撃K上傳到maven庫,方便大家的使用。

那么先來看看效果吧:

首先是將來涉及到的各個模塊的item。

然后是單個模塊中的各個測試:

比如我們現(xiàn)在需要的是原生app中內(nèi)置的應(yīng)用,你需要點擊聯(lián)系人按鈕,或者是你需要自定義界面,你點擊聯(lián)系人自定義UI按鈕。

這是當(dāng)你選擇的是自定義聯(lián)系人,然后選擇的聯(lián)系人有多個電話的時候,你需要選擇:

返回結(jié)果是:

是不是很簡單,那么我們是怎么實現(xiàn)的呢:

封裝后的代碼調(diào)用

在此,我展現(xiàn)下我的代碼編寫風(fēng)格,你需要為按鈕添加點擊事件,比如聯(lián)系人按鈕,當(dāng)點擊聯(lián)系人按鈕:

  ContactFactory.newContact(this).getContacts();

調(diào)用工廠類ContactFactory中的靜態(tài)newContact方法,然后調(diào)用getContacts方法,就可以實現(xiàn)針對系統(tǒng)原生app中的內(nèi)置聯(lián)系人的操作。

大家都應(yīng)該知道,當(dāng)你在聯(lián)系人中操作完,比如選擇聯(lián)系人完成后,你需要針對當(dāng)前選擇的id進(jìn)行第二次查詢操作,這個時候,我們接收數(shù)據(jù)是重寫onActivityResult方法。

而如果你在fragment中調(diào)用了startActivityForResult方法,你需要在你的該fragment類中重寫onActivityResult,這樣才能正確的接收數(shù)據(jù)。

因此,在封裝完成后,你僅僅需要在你調(diào)用getContacts后,重寫該類的onActivityResult方法,然后在該類中調(diào)用:

ContactFactory.newContact(this).onActivityResult(requestCode, resultCode, data, new ContactCallback() {      @Override      public void onSuccess(@NonNull String contactNumber, @NonNull String contactName) {        mText.setText(contactName + contactNumber);      }      @Override      public void onFailed(@NonNull int errCode, @NonNull String message) {        mText.setText(errCode + message);      }    });

你需要有一個匿名內(nèi)部類,其會返回onSuccess和onFailed方法,然后針對聯(lián)系人和電話號碼,你可以做相關(guān)的展示。

封裝后總結(jié)

在你某個activity類或者fragment中調(diào)用:

 ContactFactory.newContact(this).getContacts(); 

在該類中重寫方法:

ContactFactory.newContact(this).onActivityResult(requestCode, resultCode, data, null);

總結(jié)

我覺得針對聯(lián)系人的封裝還是很有必要的,然后大家也可以通過https://github.com/neuyu/android-best-practices/tree/master/app 查看相關(guān)源碼,歡迎star和fork,后期會將單獨的模塊上傳到maven庫,方便大家使用,同時也希望大家能夠給相關(guān)模塊的開發(fā)提供寶貴的建議,謝謝大家指正。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: av在线高清观看 | 色阁阁69婷婷 | 国产一区二区欧美 | 国产流白浆高潮在线观看 | 亚洲第一男人天堂 | 国产成人av免费看 | 国产精品成人一区二区三区吃奶 | 亚洲国产高清视频 | 午夜亚洲视频 | 免费在线观看成人av | 免费在线观看毛片 | 羞羞答答影院 | 国产精品久久久久久影视 | 色播视频在线播放 | 中国av免费在线观看 | 日韩av日韩 | 黄色网址进入 | 成人网在线观看 | 一区二区三区在线观看视频 | 国产91九色 | 久久久久99999 | 成年免费视频黄网站在线观看 | 成人性生活视频 | 一级国产精品一级国产精品片 | 久久视频精品 | 久久久成人动漫 | 成人免费观看49www在线观看 | 亚洲四播房 | 久夜tv| 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 午夜九九九 | 在线播放免费人成毛片乱码 | 精品国产一区二区三区四 | 羞羞视频在线免费 | 涩涩屋av| 成人在线视频免费 | av免费在线观看不卡 | 久久国产免费 | 亚洲99 | av在线中文 | 久久国精品 |