android在aidl文件导入自己创建的类
来源:互联网 发布:js如何遍历object对象 编辑:程序博客网 时间:2024/06/03 21:13
参考链接:
http://www.cnblogs.com/windboy03/archive/2011/04/08/2009445.html
http://my.oschina.net/zhangqingcai/blog/29082
(1)例如你有一个文件musicController.aidl,内容如下,其中Mp3InfoBean为你自己创建的类,这是要导入这个类的方法如下。
musicController.aidl
package com.lau.music.aidl;import com.lau.music.aidl.srvCallBack;import com.lau.music.aidl.Mp3InfoBean;interface musicController { boolean playNext(in Mp3InfoBean mp3); boolean playPre(in Mp3InfoBean mp3); void pause(); boolean start(in Mp3InfoBean mp3); void play(); double getMp3Length(); double getMp3CurrPos(); void setProgress(int prog); boolean isPlaying(); void registCallBack(srvCallBack cb); }
(2)第一步,首先创建一个文件Mp3InfoBean.aidl,代码如下
Mp3InfoBean.aidl
package com.lau.music.aidl;parcelable Mp3InfoBean;
同时需要把他们放在同一个包名下面,如下所示。
(3)同时,Mp3InfoBean.java需要实现Parcelable接口,这样就需要重写方法,同时需要定义成员变量CREATOR,如下所示,要注意函数writeToParcel中writeString的顺序得跟你读出来的顺序是一致的。
@Overridepublic int describeContents() { return 0;} @Overridepublic void writeToParcel(Parcel dest, int flags) { dest.writeString(name); dest.writeString(path);}
public static final Parcelable.Creator<Mp3InfoBean> CREATOR = new Parcelable.Creator<Mp3InfoBean>() { @Override public Mp3InfoBean createFromParcel(Parcel source) { return new Mp3InfoBean(source); } @Override public Mp3InfoBean[] newArray(int size) { return new Mp3InfoBean[size]; } };public Mp3InfoBean(Parcel source) { name = source.readString(); path = source.readString();}
Mp3InfoBean.java
public class Mp3InfoBean implements Parcelable{ private String name; private String path; public static final Parcelable.Creator<Mp3InfoBean> CREATOR = new Parcelable.Creator<Mp3InfoBean>() { @Override public Mp3InfoBean createFromParcel(Parcel source) { return new Mp3InfoBean(source); } @Override public Mp3InfoBean[] newArray(int size) { return new Mp3InfoBean[size]; } }; public Mp3InfoBean() { } public Mp3InfoBean(String n, String p) { this.name = n; this.path = p; } public Mp3InfoBean(Mp3InfoBean in) { this.name = in.name; this.path = in.path; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } @Override public int describeContents() { return 0; } public Mp3InfoBean(Parcel source) { name = source.readString(); path = source.readString(); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(name); dest.writeString(path); }}
(4)如果在你自己创建的类里面包含着另一个自己创建的类的List,如下,其中LrcSentenceBean为自定义类,这个时候,要这样处理。
public class LrcBean implements Parcelable { private String lrcName = null; private String lrcPath = null; private List<LrcSentenceBean> lrcContent = null;...}
public LrcBean(Parcel source) { lrcName = source.readString(); lrcPath = source.readString(); source.readList(lrcContent, null); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(lrcName); dest.writeString(lrcPath); dest.writeList(lrcContent); }
- android在aidl文件导入自己创建的类
- Android创建.aidl文件
- android studio 的aidl 文件创建步骤
- android studio创建aidl文件
- aidl在android studio中创建的另类方式
- Android初级 R.layout. 无法导入自己创建的XML布局文件
- 在AndroidStudio中创建aidl文件
- 在沙盒中创建自己想要的文件
- Android 使用 aidl 文件创建服务示例
- Android 使用 aidl 文件创建服务示例
- Android studio中创建aidl文件
- Android Studio中创建aidl文件
- Android studio如何创建一个AIDL文件
- Android Studio导入aidl
- AIDL导入Android Studio
- Android studio 导入 aidl
- 关于androidstudio创建aidl文件的疑惑
- Android关于创建AIDL以及调用AIDL的问题
- java加密class
- java加密class和解密class加载运行
- 关于eclipse环境下配置tomcat插件的介绍
- 配置/etc/sysconfig/network-scripts/ifcfg-ethx [ IPV6篇 ]
- POJ 2488 A Knight's Journey
- android在aidl文件导入自己创建的类
- Android 下的自动化测试方法
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连
- maven创建工程
- exceptional C++ item1-3
- oracle 10g-->11g schema级别下游实时捕获stream配置
- spring3.1.1的各个jar作用
- 我的偶像--霍汶希
- HDU 1072 Nightmare