클라이언트에 자바 소스에
String city = service.getCity();
String condition = service.getCondition();
ArrayList<String> data= (ArrayList<String>) service.gettData();

AIDL 소스에는
interface IWeather {
 String getCity();
 String getCondition();
 List<String> getData();
 }

서비스 소스에는
@Override
  public String getCity() throws RemoteException {
      return city;
  }
  @Override
  public String getCondition() throws RemoteException {
      return condition;
  }

  @Override
  public List<String> getData() throws RemoteException {
           data.add(....);
           data.add(....);
           data.add(....);
      return data;
  }

요런식으로 돼있는데 String 으로 된  String city = service.getCity()와  String condition = service.getCondition()는 
제대로 값을 전달 받는데  ArrayList<String> data= (ArrayList<String>) service.gettData() 이게  안되네요.
(List<String> data= (List<String>) service.gettData() 도 마찬가지로 안되구요.)
하나씩 데이타 넘겨받아보면서 다음에  Parcelable 해보려고 했는데...List 형태에서 막히네요.