AIDL引用报错
这是bean对象 实现了parcelable
package com.example.stepcountapp.beans; import android.os.Parcel; import android.os.Parcelable; public class ChartViewBean implements android.os.Parcelable { private int[] arrayData = new int[1440]; private int index = 0; protected ChartViewBean(Parcel in) { arrayData = in.createIntArray(); index = in.readInt(); } public static final Creator<ChartViewBean> CREATOR = new Creator<ChartViewBean>() { @Override public ChartViewBean createFromParcel(Parcel in) { return new ChartViewBean(in); } @Override public ChartViewBean[] newArray(int size) { return new ChartViewBean[size]; } }; public int[] getArrayData() { return arrayData; } public void setArrayData(int[] arrayData) { this.arrayData = arrayData; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int i) { parcel.writeIntArray(arrayData); parcel.writeInt(index); //写入的顺序和构造方法里读取的顺序必须一致 } }
这是与bean对象同名的aidl文件
这是aidl文件位置及代码
// IMyAidlInterface.aidl package com.example.stepcountapp.service; import com.example.stepcountapp.beans.ChartViewBean; // Declare any non-default types here with import statements interface IMyAidlInterface { //获取计步器步数 int getStepCount(); //重置计步器步数 void resetCount(); //开始计步 void startStepCount(); //停止计步 void stopStepCount(); //获取消耗的卡路里 double getCalorie(); //获取走路的距离 double getDistance(); //保存数据 void saveData(); //设置传感器敏感度 void setSensitivity(float sensitivity); //获取传感器敏感度 double getSensitivity(); //获取采样时间 int getInterval(); //设置采样时间 void setInterval(int interval); //获取时间戳 long getStartTimeStamp(); //获取服务运行状态 int getServiceStatus(); //获取图表数据 ChartViewBean getChartData(); }
这是报的错
不添加 ChartViewBean getChartData(); 这一行代码便没有问题 添加了之后 在service中引用的时候也不会实现getChartData()方法 并且rebuild就会报错
8
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕雪
2019-09-29 14:06:05
你得放在aidl目录下哦。
同学也可以参见,上一节课中的教辅 《Android之AIDL定义规则.pdf》
祝:学习愉快
3.Android 高级应用与Kotlin综合实战
- 参与学习 人
- 提交作业 116 份
- 解答问题 1012 个
本阶段是提升项目经验的必备,除Android开发的高级控件,还有Android官方大力推荐的开发语言Kotlin,未来Android发展的方向,最后使用Kotlin来开发热门电商项目。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星