电话日志194饼状图_第1页
电话日志194饼状图_第2页
电话日志194饼状图_第3页
电话日志194饼状图_第4页
电话日志194饼状图_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训Android电话记录日志项目北京电子科技职业学院1项目准备框架设计通话记录列表统计功能饼状图统计功能柱状图统计功能项目发布23456项目技能点权限控制使用外部类的方式实现监听事件饼状图Activity失去焦点项目依赖创建Fragment屏幕方向Activity重新获得焦点ActivityFragment的生命周期AndroidStudio关闭Activity使用字符串资源Fragment与Activity通信Android虚拟机(AVD)Activity间信使intent使用颜色资源BottomNavigationView运行Android应用程序使用Intent传递数据使用dimen资源ViewPager导航AndroidMonitor利用Intent对象传递简单数据使用drawables(vector)和mipmap资源Bean使用ADB从其他Activity返回数据使用代码创建布局SQLite数据库CURD操作源代码获取Activity返回值RelativeLayout相对布局Cursor、Adapter向界面绑定数据资源AndroidLogCatLinearLayout线性布局访问系统ContentProvider项目管理文件AndroidStudio布局编辑器ImageView图片视图RecyclerViewActivity的生命周期

ListView列表组件柱状图Activity开始

4饼状图统计功能技能点:饼状图插件1、功能实现效果利用MPChartLib实现饼状图表统计2、实现过程:LinearLayout线性布局1、建立MPChartLib项目依赖关系(如已建立依赖关系,省略此步)2、实现过程:LinearLayout线性布局2、布局com.github.mikephil.charting.charts.PieChart:<LinearLayoutxmlns:android="/apk/res/android"

xmlns:tools="/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<com.github.mikephil.charting.charts.PieChart

android:id="@+id/spread_pie_chart"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1"/>

</LinearLayout>2、实现过程:LinearLayout线性布局3、组件关联:@Override

publicvoidonActivityCreated(@NullableBundlesavedInstanceState){

super.onActivityCreated(savedInstanceState);

mChart=(BarChart)getActivity().findViewById(R.id.chart1);

phoneData();

initView();

}2、实现过程:LinearLayout线性布局4、获取电话通讯日志:privatevoidphoneData(){

//获取数据库Phones的Cursor

ContentResolvercr=getActivity().getContentResolver();

Cursorcur=cr.query(CallLog.Calls.CONTENT_URI,null,null,null,null);

while(cur.moveToNext()){

inttypeFieldColumnIndex=cur.getColumnIndex(CallLog.Calls.TYPE);

typeValue=cur.getInt(typeFieldColumnIndex);

if(typeValue==1)

x++;

elseif(typeValue==2)

y++;

elseif(typeValue==3)

z++;

}

}2、实现过程:LinearLayout线性布局5、初始化设置柱状图PieChart:privatevoidshowChart(PieChartpieChart,PieDatapieData){pieChart.setHoleColorTransparent(true);pieChart.setHoleRadius(60f);//半径

pieChart.setTransparentCircleRadius(64f);//半透明圈

//pieChart.setHoleRadius(0)//实心圆

pieChart.setDescription("饼状图");pieChart.setDrawCenterText(true);//饼状图中间可以添加文字

pieChart.setDrawHoleEnabled(true);pieChart.setRotationAngle(90);//初始旋转角度……

}

2、实现过程:LinearLayout线性布局6、柱状图PieChart赋值:

privatePieDatagetPieData(intcount,floatrange){

ArrayList<String>xValues=newArrayList<String>();//xVals用来表示每个饼块上的内容

xValues.add(getString(R.string.DialCall)+x);//饼块上显示成Quarterly1,Quarterly2,Quarterly3,Quarterly4

xValues.add(getString(R.string.ReCall)+y);//饼块上显示成Quarterly1,Quarterly2,Quarterly3,Quarterly4

xValues.add(getString(R.string.MissCall)+z);//饼块上显示成Quarterly1,Quarterly2,Quarterly3,Quarterly4

ArrayList<Entry>yValues=newArrayList<Entry>();//yVals用来表示封装每个饼块的实际数据

……

}2、实现过程:LinearLayout线性布局6、柱状图PieChart赋值:

privatePieDatagetPieData(intcount,floatrange){

…….

intallCount=x+y+z;

if(allCount==0){

allCount=1;

}

floatquarterly1=x*100/allCount;;

floatquarterly2=y*100/allCount;

floatquarterly3=z*100/allCount;

yValues.add(newEntry(quarterly1,0));

yValues.add(newEntry(quarterly2,1));

yValues.add(newEntry(quarterly3,2));

……

returnpieData;

}2、实现过程:LinearLayout线性布局6、柱状图BarChart赋值:privatevoidsetData(intcount,floatrange){

……

BarDataSetset1=newBarDataSet(yVals1,"DataSet");

set1.setBarSpacePercent(35f);

ArrayList<BarDataSet>dataSets=newArrayList<BarDa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论