It looks like you didn't create an aidl file for your File class.

Look at the documentation at:
http://developer.android.com/guide/developing/tools/aidl.html#parcelable

Xav

On Wed, May 27, 2009 at 11:14 AM, Henrique Machado <[email protected]> wrote:
>
> I got this error when I try to create a aidl.
> here`s my UploadSInterface.aidl
>
> package br.com.android.pixelhouse.services;
> interface UploadSInterface {
>        void execute(out File file);
>        void cancelUpload();
> }
>
> now File parcelable class
> ---------------------------------------------------------------------------
> package br.com.android.pixelhouse;
>
> import java.io.InputStream;
>
> import android.os.Parcel;
> import android.os.Parcelable;
>
> @SuppressWarnings("unchecked")
> public class File implements Parcelable {
>        public static final int TYPE_IMAGE = 0;
>        public static final int TYPE_VIDEO = 1;
>        public static final int TYPE_MUSIC = 2;
>        public static final int TYPE_OTHERS = 3;
>
>        private InputStream input;
>        private String description;
>        private String name;
>        private int type;
>
>        public static final Parcelable.Creator<File>CREATOR = new
> Parcelable.Creator() {
>                public File createFromParcel(Parcel in) {return new File(in);}
>
>                public Object[] newArray(int size) {
>                        // TODO Auto-generated method stub
>                        return null;
>                }
>        };
>
>
>        public File(InputStream input, String name, String description, int
> type) {
>                setInput(input);
>                setName(name);
>                setDescription(description);
>                setType(type);
>        }
>
>        public File(Parcel in) {
>                // TODO Auto-generated constructor stub
>        }
>
>        public InputStream getInput() {
>                return input;
>        }
>
>        public void setInput(InputStream input) {
>                this.input = input;
>        }
>
>        public String getDescription() {
>                return description;
>        }
>
>        public void setDescription(String description) {
>                this.description = description;
>        }
>
>        public String getName() {
>                return name;
>        }
>
>        public void setName(String name) {
>                this.name = name;
>        }
>
>        public int getType() {
>                return type;
>        }
>
>        public void setType(int type) {
>                this.type = type;
>        }
>
>        public int describeContents() {
>                return 0;
>        }
>
>        public void writeToParcel(Parcel dest, int flags) {
>                dest.writeValue(getInput());
>                dest.writeString(getName());
>                dest.writeString(getName());
>                dest.writeInt(getType());
>        }
> }
>
>
>
> Here`s the thing,
> when I do my aidl class like it`s today I got
> parameter file (1) unknow type
>
> when I do this
>
> import br.com.pixelhouse.mymoto.services.File;
> interface UploadSInterface {
>        void execute(out File file);
>        void cancelUpload();
> }
>
> I got?
> couldn't find import for class br.com.pixelhouse.mymoto.services.File
>
>
> On 14 abr, 22:34, Xavier Ducrohet <[email protected]> wrote:
>> I have just realized something.
>>
>> If you create/edit parcelable type aidl files, this does not trigger a
>> recompilation of the interface aidl files that depends on it. In fact,
>> aidl files are only recompiled when the aidl file is touched.
>>
>> We'll do a quick fix for the final ADT 0.9 (which will most likely be
>> a full recompilation of all aidl files whenever 1 aidl file is
>> changed), and implement true dependency support later to minimize
>> unneeded recompilations.
>>
>> Xav
>>
>>
>>
>> On Tue, Apr 14, 2009 at 2:02 PM, Xavier Ducrohet <[email protected]> wrote:
>> > I just did a quick test following the information in the link I posted
>> > above and it is working for me.
>>
>> > Make sure your aidl file declares the package it's in (like any java 
>> > class).
>>
>> > Xav
>>
>> > On Tue, Apr 14, 2009 at 1:05 PM, Xavier Ducrohet <[email protected]> wrote:
>> >> oh I missed this message :(
>>
>> >> Let me do a quick test...
>>
>> >> On Tue, Apr 14, 2009 at 11:18 AM, Zach Hobbs <[email protected]> 
>> >> wrote:
>>
>> >>> Some more info:
>>
>> >>> - I tried creating an aidl file with the same name as the Parcelable
>> >>> class, and I get an error in the console like: <path to class>/
>> >>> <class>.aidl:1 interface <package>.<class> should be declared in a
>> >>> file called com.aidl. I tried declaring the Parcelable in com.aidl and
>> >>> that didn't work either.
>>
>> >>> - The documentation in 1.5 on AIDL still refers to the "Android Tools
>> >>>> Create Aidl preprocess file for Parcelable classes" which is not
>> >>> available in ADT 0.9.  Should I open a bug for this?
>>
>> >>> Thanks,
>> >>> Zach
>>
>> >>> On Apr 14, 12:52 pm, Zach Hobbs <[email protected]> wrote:
>> >>>> I'm attempting to get build my project with the early preview SDK,
>> >>>> targeting 1.1 and am having problems getting AIDL files to recognize
>> >>>> imports for Parcelables. In the previous ADT you could right click on
>> >>>> your project, hit "Android Tools" and have an option something like
>> >>>> "Generate AIDL for Parcelables".  This would create a file
>> >>>> project.aidl in your project's root containing a line for each
>> >>>> Parceable in your project.
>>
>> >>>> With the new SDK/ADT anytime I try to import a Parcelable in an AIDL
>> >>>> file I get "Couldn't find import for class ... " even though I still
>> >>>> have the project.aidl file in the project's root.  Also, the option to
>> >>>> generate the AIDL for the Parcelables is no longer available.  Anyone
>> >>>> know how to get your Parcelables noticed in the new SDK?
>>
>> >>>> Thanks,
>> >>>> Zach
>>
>> >> --
>> >> Xavier Ducrohet
>> >> Android Engineer, Google.
>>
>> > --
>> > Xavier Ducrohet
>> > Android Engineer, Google.
>>
>> --
>> Xavier Ducrohet
>> Android Engineer, Google.
>
> >
>



-- 
Xavier Ducrohet
Android Developer Tools Engineer
Google Inc.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to