安卓註解使用,實體類指定須使用欄位, Google Gson 欄位過濾
實體類複用,專案中往往會遇到這樣一些問題,有一個欄位很多的實體類,然後向服務端提交資料的時候卻不需要這個實體類的全部欄位。所以我們通常的方法就是再新建一個只有需要欄位的實體類。還有一種方法就是本文要說到的註解,給某個操作時需要用到的欄位加上註解:
1.新介面SubmitAccept
/**某個時刻需要提交的欄位 * @author * @version 建立時間:2016年3月3日 上午10:52:53 */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface SubmitAccept2.新建類SubmitAcceptStrategy (注:ExclusionStrategy 這個類屬於com.google.gson包){ }
/** * 作者:e430 on 2016/9/26 21:32 * <p> * 郵箱:[email protected] */ public class SubmitAcceptStrategy implements ExclusionStrategy { @Override public boolean shouldSkipField(FieldAttributes f) { Collection<Annotation> annotations = f.getAnnotations();for (Annotation annotation : annotations) { if (annotation.annotationType() == SubmitAccept.class) { return false; } } return true; } @Override public boolean shouldSkipClass(Class<?> clazz) { return false; } }
3.在實體類裡面需要的欄位上面加上註解 如:
@SubmitAccept private String acceptPlace;//驗收地點
4.在用到的地方 程式碼如下:
GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.addSerializationExclusionStrategy(new SubmitAcceptStrategy());//第二步新建的類 String str = gsonBuilder.create().toJson(workSheetPublicInfo);//自己的實體類
這樣str裡面儲存的資料只有你加註解的欄位,完工。
歡迎評論!!!
相關推薦
安卓註解使用,實體類指定須使用欄位, Google Gson 欄位過濾
實體類複用,專案中往往會遇到這樣一些問題,有一個欄位很多的實體類,然後向服務端提交資料的時候卻不需要這個實體類的全部欄位。所以我們通常的方法就是再新建一個只有需要欄位的實體類。還有一種方法就是本文要說到的註解,給某個操作時需要用到的欄位加上註解: 1.新介面Submi
匯入Excel時,根據註解生成實體類
一、環境說明:win10專業版、jdk1.8.0_171、eclipse4.7.3a、Junit5 二、建立maven工程,引入pom依賴 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht
【安卓9】SQLiteDatabase類、ContentValues 類
election use cursor 數據類型 ssa 語言 size 基本 模式 SQLiteDatabase類 android.database.sqlite.SQLiteDatabase類的實例都代表了一個SQLite數據庫的操作,通過SQLiteDatab
【安卓9】SQLiteOpenHelper 類、增刪改操作
and arc 插入 被調用 val etc left nts ces SQLiteOpenHelper 類 SQLiteOpenHelper類是Android提供的用於操作SQLite數據庫的工具類,該工具類能方便地創建數據庫、表,以及管理數據庫版本。
明日之後手遊安卓版今日10點上線!來啊,一起來擼狗啊
等了大半年,從T恤等到棉襖,從蘋果等到安卓,明日之後今天上午10點終於上線啦。這款和絕地求生:刺激戰場、王者榮耀都不同型別的末日生存手游到底怎麼樣?畢竟型別和方舟:生存進化差不多,方舟在國外也是大火,還是非常期待的。不管怎麼樣,先牽著你家的狗狗,來跟我一起擼擼,看看各位玩家對明日之後的評價,是否值得
一行程式碼搞定安卓全螢幕適配——簡單粗暴-低入侵,無繼承,簡單高效
話不多說,先上解決方案 方案一(推薦) 1.引用工具類 DensityHelper.java 2.在自定義的 Application onCreate 方法中加入 new Dens
安卓分享手機PDF轉成Excel的方法,操作很簡單的
如何在手機中將PDF檔案格式轉換成Excel格式?因為PDF檔案的不可編輯性,所以很多時候我們收到的檔案都是PDF格式的,但是我們往往不僅僅是閱讀裡面的內容,大多數需要PDF檔案裡的內容,這時我們該怎麼辦呢?不妨試試手機PDF轉換吧。今天先來講一講手機端PDF轉換Exce
後臺date 轉前臺String jsp顯示方法,實體類是date型別 (互轉!)
後轉前 date轉String 先引入fmt標籤<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>,具體的URI請見jstl-*.jar中的fmt.tld。 <fmt:format
mybatis generator為實體類生成自定義註釋(讀取資料庫欄位的註釋新增到實體類,不修改原始碼)
我們都知道mybatis generator自動生成的註釋沒什麼實際作用,而且還增加了程式碼量。如果能將註釋從資料庫中撈取到,不僅能很大程度上增加程式碼的可讀性,而且減少了後期手動加註釋的工作量。 1、首先定義註釋生成外掛 package com.cmbc.datapla
安卓實現任意控制元件view可拖拽,並監聽拖拽和點選事件,可自動拉回螢幕邊緣
因為專案中有需要實現控制元件可任意拖拽的需求,所以簡單寫了個自定義OnTouchListener,以作拋磚引玉,歡迎大家提議反饋。 完整實現類如下,程式碼中有詳細註釋: 使用者可以決定是否開啟自動拖拽邊緣功能,可以監聽控制元件的拖拽和點選事件 public cl
註解配置實體類出現錯誤:Could not determine type for: java.util.Set, at table
org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: bs_merchant, for columns: [org.hibernate.mapping.Co
C# DataReader反射獲取實體類(model) ,實體類集List
public static T FillModel<T>(IDataReader dr) {
安卓檔案管理器開啟指定目錄
File destDir = new File(getApplicationContext().getExternalCacheDir()+"//eml"); Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
安卓APP實戰(二):Activity管理,記憶體回收及LeakCanary監測
每一個Activity元件都是一個單獨的介面,承載著與使用者互動的任務。也是應用最基本的功能之一,在不同介面之間切換,並實現不同的功能。 每一個程式必須要有一個Activity作為入口(Manifest檔案中將其<category>標籤設定為LAUNCHER),然後通過介面控制到
使用Java註解將實體類轉化為sql字串
首先是定義一個實體類,如下 /* * 定義使用者,通過註解對映到資料庫 */ @Table("user") public class User { @Column("id") private int id; @Column("username") privat
安卓開發 做商城類APP遇到的一些坑
一、安卓8.0以上,通知要做 通知渠道(NotificationChannel),不做的話收不到任何通知。 解決方案:要麼更改 targetSdkVersion 到26以下,要麼做通知渠道分類。搜一下安卓8.0通知適配,會有很多方案程式碼。 二、網路請求錯誤的提示:err
安卓開發 類似於扣扣 刪除訊息 時,滑動調出選項的功能實現
package com.example.sjd.danmu; import android.content.Context; import android.graphics.Color; import android.support.v4.view.ViewConfigurationCompat; impo
安卓使用記錄筆記(2)UI介面,按鈕響應事件
首先需要知道的是,在UI介面中新增好對應的button元件後,裡面會有對應id名稱,我們就是根據這個id名稱來查詢到對應的元件機器屬性。 private Button loadFile; private Button startFunc; 然後在init函式中:(init根據不同工程具體分析
安卓--非同步處理工具類(AsyncTask)
.xml程式碼如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schem
安卓註解處理器-processor
最近在學習安卓開源框架發現,很多的開源框架都使用到了註解處理器,例如EventBus3.0。本文通過一個簡單的Demo來介紹如何使用註解處理器。如果喜歡的話,歡迎大家給star。 Demo需求描述 使用者通過執行一個傳入引數為A(類物件)的靜態方法,該方法會最終把引數A中加了特定