Android Studio 優秀插件(二): Parcelable Code Generator

来源:http://www.cnblogs.com/xqxacm/archive/2016/03/04/5242910.html
-Advertisement-
Play Games

Android Studio 優秀插件系列: Android Studio 優秀插件(一):GsonFormat Android Studio 優秀插件(二): Parcelable Code Generator -------------------------------------------


Android Studio 優秀插件系列:

                      Android Studio 優秀插件(一):GsonFormat

                      Android Studio 優秀插件(二): Parcelable Code Generator

 

-----------------------------------------------------------------------------

Parcelable  , 這個詞大家應該不陌生吧,用於序列化對象的一個介面

不清楚的可以看一下這篇博客:Intent傳遞對象的兩種方法

-----------------------------------------------------------------------------

這裡假設我們已經會使用 Parcelable 序列化一個對象了~~

那麼大家會發現 Parcelable 使用起來有些複雜,因為我們要自己覆寫 幾個方法,而且當類的屬性比較多的時候,我們就會難受了,又要註意不寫錯屬性名,又要註意寫對屬性的類型,又要花不少的時間做重覆的事情。

 

那麼因為 Parcelable 有使用它的優勢,我們又不能放棄,那該怎麼辦麽?

Android Studio 提供給了我們 一個插件用來簡化 給一個類 實現 Parcelable 介面的流程。

 

-----------------------------------------------------------------------------

現在學習下如何使用這個插件:

 

1、Android Studio 打開一個項目,點擊左上角 File -->Settings... 進行設置

 

 

 

 

2、選擇插件Plugins , 搜索Parcel,如果你沒有下載過這個插件,那麼搜索框下麵會顯示“Nothing to show.Click Browse to....”

 

 

 

 

 

3、那就點擊藍色字體的 Browse 吧  ,這個時候會出現如下圖的界面,我們只需要在左邊選中arcel然後點擊右面 綠色按鈕 "Install plugin" 就可以了

 

 

 

 

4、完成了上面三個步驟,就可以使用Parcelable Code Generator插件了

怎麼用呢,

(1)創建一個類文件,類名是看你需求自定義寫的,添加上你需要的屬性

(2)快捷鍵 alt+insert ,會出現如下選擇框,選擇Parcelable 即可

 

然後我們就看到代碼,是不是比我們手動寫要快的許多

public class People implements Parcelable {


    private int id;
    private String url;
    private int width;
    private int height;
    private int likeCount;
    private String description;
    private int time;
    private int replyCount;
    private int floorCount;
    private int likeUserCount;
    private int age;
    private String name;
    private String school;
    private int type;
    private String sax;
    private int userid;


    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(this.id);
        dest.writeString(this.url);
        dest.writeInt(this.width);
        dest.writeInt(this.height);
        dest.writeInt(this.likeCount);
        dest.writeString(this.description);
        dest.writeInt(this.time);
        dest.writeInt(this.replyCount);
        dest.writeInt(this.floorCount);
        dest.writeInt(this.likeUserCount);
        dest.writeInt(this.age);
        dest.writeString(this.name);
        dest.writeString(this.school);
        dest.writeInt(this.type);
        dest.writeString(this.sax);
        dest.writeInt(this.userid);
    }

    public People() {
    }

    protected People(Parcel in) {
        this.id = in.readInt();
        this.url = in.readString();
        this.width = in.readInt();
        this.height = in.readInt();
        this.likeCount = in.readInt();
        this.description = in.readString();
        this.time = in.readInt();
        this.replyCount = in.readInt();
        this.floorCount = in.readInt();
        this.likeUserCount = in.readInt();
        this.age = in.readInt();
        this.name = in.readString();
        this.school = in.readString();
        this.type = in.readInt();
        this.sax = in.readString();
        this.userid = in.readInt();
    }

    public static final Parcelable.Creator<People> CREATOR = new Parcelable.Creator<People>() {
        public People createFromParcel(Parcel source) {
            return new People(source);
        }

        public People[] newArray(int size) {
            return new People[size];
        }
    };
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 標簽:HTML+CSS 什麼是選擇器? 每一條css樣式聲明(定義)由兩部分組成,形式如下: 在{}之前的部分就是“選擇器”,“選擇器”指明瞭{}中的“樣式”的作用對象,也就是“樣式”作用於網頁中的哪些元素 標簽選擇器 標簽選擇器其實就是html代碼中的標簽。如下麵代碼中的 、``、 。例如下麵代碼
  • 1 js: 2 var s;//經度 3 var w;//緯度 4 map.addEventListener("rightclick",function(e){ 5 if(e.overlay){//判斷右鍵單擊的是否是marker 6 7 }else{ 8 s = e.point.lng;//經度
  • 一. 以“字元串”開頭 兩種用法的區別是: a. 以字元串開頭,需要用"-"分割開, b. 以字元串開頭,不需要任何分隔符 1. 資料 a) b) 2. html代碼 <div class="dot-4">橫線分割</div> <div class="dot">字元串本身</div> <div cl
  • <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> body,div,ul,li,iframe{ margin: 0; padding: 0; fon
  • <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>錨點定位</title> <style type="text/css"> *{ margin: 0; padding: 0; } html,body{ width:
  • 轉載博客:http://blog.csdn.net/i_lovefish/article/details/17719081 以下為異常捕捉處理代碼: import java.io.BufferedReader; import java.io.File; import java.io.FileInpu
  • 分類:C#、Android、VS2015; 創建日期:2016-03-04 一、簡介 目前,基於位置的服務發展迅速,已涉及到商務、醫療、定位、追蹤、敏感區域警告、工作和生活等各個方面。定位服務融合了GPS定位、移動通信、導航等多種技術,從而獲取用戶終端設備的位置信息,為移動用戶提供了與空間位置相關的...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...