a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

Android開發之針對聯系人的封裝

2020-01-02 07:03:43
字體:
來源:轉載
供稿:網友

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

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

那么先來看看效果吧:

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

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

比如我們現在需要的是原生app中內置的應用,你需要點擊聯系人按鈕,或者是你需要自定義界面,你點擊聯系人自定義UI按鈕。

這是當你選擇的是自定義聯系人,然后選擇的聯系人有多個電話的時候,你需要選擇:

返回結果是:

是不是很簡單,那么我們是怎么實現的呢:

封裝后的代碼調用

在此,我展現下我的代碼編寫風格,你需要為按鈕添加點擊事件,比如聯系人按鈕,當點擊聯系人按鈕:

  ContactFactory.newContact(this).getContacts();

調用工廠類ContactFactory中的靜態newContact方法,然后調用getContacts方法,就可以實現針對系統原生app中的內置聯系人的操作。

大家都應該知道,當你在聯系人中操作完,比如選擇聯系人完成后,你需要針對當前選擇的id進行第二次查詢操作,這個時候,我們接收數據是重寫onActivityResult方法。

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

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

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);      }    });

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

封裝后總結

在你某個activity類或者fragment中調用:

 ContactFactory.newContact(this).getContacts(); 

在該類中重寫方法:

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韩国一区二区视频 | 国产高清一区二区 | 三级亚洲| 在线观看免费av电影 | 久久久精品网站 | 国产欧美在线观看 | 天天草影院 | 久久久国产视频 | 99视频在线| 日本一区二区精品视频 | 中文字幕免费在线 | 久久精品亚洲欧美日韩精品中文字幕 | 色婷婷综合久久久中文字幕 | 欧美二三区 | 亚洲午夜视频在线观看 | 毛片免费在线 | 黄网在线观看 | 能免费看av的网站 | 狠狠亚洲| 欧美精品一区二区三区蜜臀 | 精品免费国产一区二区三区 | 久久久久综合 | 成人午夜视频在线观看 | 国产在线一区二区三区 | 日本黄色大片 | 99久久精品免费看国产免费软件 | 亚洲精品一二区 | 黄网站涩免费蜜桃网站 | 欧美一级爱爱 | 视频一区二区三区在线观看 | 污视频在线观看免费 | 视频成人免费 | 免费亚洲精品 | 欧美国产高清 | 91色视| 久久免费小视频 | 久久er99热精品一区二区 | 九色av| 国产精品自拍av | 国产一级免费看 | www久久久久久 |