2015-09-25 31 views
1

我需要通過JSON接收一些數據,並且我使用的是Volley,其中CallbackJava/Android:如何重寫這個接口更高效?

數據可能是一個簡單的字符串或JSONArray

是否可能只用一種通用方法重寫?

public interface BaseMapper { 

    final static String API_URL_LOGIN = "/apiv2/account"; 
    final static String API_URL_CAMPAIGN = "/apiv2/campaign"; 
    final static String API_URL_SEARCH_CARD ="/apiv2/member-card?card="; 

    public interface VolleyCallbackArray { 

     void onSuccess(JSONArray array); 

    } 

    public interface VolleyCallbackString { 

     void onSuccess(String string); 

    } 
} 

回答

1

VolleyCallbackString可以通過一個單一的通用替代:

public class A implements BaseMapper.VolleyCallback<JSONArray> { 
    public void onSuccess(JSONArray result){ 
    } 
} 

public class B implements BaseMapper.VolleyCallback<String> { 
    public void onSuccess(String result){ 
    } 
} 

public interface VolleyCallback<T> { 
    void onSuccess(T result); 
} 

然後你在實施時註明T