前言

现在几乎每个it公司都在开发移动产品,我最早知道Android还是在13年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注。

到2014年毕业的时候,Android已经发展到了4.4 版本,百度了一下Android,知道了(应用)开发采用的是Java语言。我当时学过 C,C++,对java有些了解,从成都辗转来到北京,找到的工作正是开发一款Android应用(生活服务类)。这时我有了一个HTC的安卓最新版手 机。

现在做Android移动开发已经有六年时间,从一个什么都不懂的小程序员到现在的项目经理,其中甘苦自知,对Android开发和对Android程序员的职业发展有一些自己的感悟,在这里愿与大家分享和讨论。

// pie_chart.invalidate();

// pie_chart.getLegend().setEnabled(false);//设置比例图

// pie_chart.animateX(1400);

4.2 设置数据的大小和颜色

private void setPieData1(MyPieChart chart,Map<String, Object> formatDatas)

{

ArrayList entries = new ArrayList();

for (Map.Entry<String,Object> entry:formatDatas.entrySet())

{

String s = entry.getValue().toString();

double x = Integer.valueOf(s).intValue();

i = i + x;

}

for (Map.Entry<String,Object> entry:formatDatas.entrySet())

{

String s = entry.getValue().toString();

double y = Integer.valueOf(s).intValue();

double f = y/i;

BigDecimal b = new BigDecimal(f);

double f1 = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();

double result = Math.round(f1 * 100) / 100d; // 12345.68

entries.add(new PieEntry((float) f1,entry.getKey().toString() + “:” + entry.getValue().toString() + “人” + “,” + “占比” + “:” + result + “%”));

}

//^^^

PieDataSet dataSet = new PieDataSet(entries, “Election Results”);

dataSet.setSliceSpace(1f); //不同块之间的间距

dataSet.setSelectionShift(7f);//选中时候突出的间距

//dataSet.setValueLineWidth(10f);

ArrayList colors = new ArrayList();

colors.add(getResources().getColor(R.color.mintcream));

colors.add(getResources().getColor(R.color.bai));

colors.add(getResources().getColor(R.color.black_blue));

colors.add(getResources().getColor(R.color.colorAccent));

colors.add(getResources().getColor(R.color.colorPrimary));

colors.add(getResources().getColor(R.color.orange));

dataSet.setColors(colors);

//dataSet.setValueLinePart1OffsetPercentage(100f);//Part:部分,Percentage:百分比

//dataSet.setValueLineVariableLength(true);//Variable:变量,Length:长度

dataSet.setValueLinePart1Length(0.6f);

dataSet.setValueLinePart2Length(0.2f);

dataSet.setHighlightEnabled(true);

//dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);

dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);//标签显示在外面,关闭显示在饼图里面

//dataSet.setValueLineColor(0xff000000); //设置指示线条颜色,必须设置成这样,才能和饼图区域颜色一致

dataSet.setValueLineColor(Color.BLACK);

PieData data = new PieData(dataSet);

data.setValueFormatter(new PercentFormatter());//Formatter:格式化程序,Percent,百分比

data.setValueTextSize(12f);

data.setHighlightEnabled(true);

chart.setData(data);

chart.highlightValues(null);

chart.invalidate();

//^^^

// for (IDataSet<?> set : chart.getData().getDataSets())

// set.setDrawValues(!set.isDrawValuesEnabled());

// chart.invalidate();

chart.getLegend().setEnabled(false);//设置比例图

chart.animateX(1400);

//^^^

}

4.3 性别如下:

case R.id.button1:

Map<String, Object> formatDatas1 = new HashMap<>();

StringBuilder key1=new StringBuilder();

key1.setLength(0);

key1.append(“男人”);

formatDatas1.put(key1.toString(),“675137”);

key1.setLength(0);

key1.append(“女人”);

formatDatas1.put(key1.toString(),“564781”);

setPieData1(pie_chart,formatDatas1);

break;

4.4 属性如下:

case R.id.button2:

Map<String, Object> formatDatas2 = new HashMap<>();

StringBuilder key2=new StringBuilder();

key2.setLength(0);

key2.append(“无”);

formatDatas2.put(key2.toString(),“0”);

key2.setLength(0);

key2.append(“学生1”);

formatDatas2.put(key2.toString(),“82429”);

key2.setLength(0);

key2.append(“学生2”);

formatDatas2.put(key2.toString(),“10201”);

key2.setLength(0);

key2.append(“学生2”);

formatDatas2.put(key2.toString(),“121606”);

key2.setLength(0);

key2.append(“学生3”);

formatDatas2.put(key2.toString(),“159966”);

key2.setLength(0);

key2.append(“学生4”);

formatDatas2.put(key2.toString(),“12892”);

key2.setLength(0);

key2.append(“学生5”);

formatDatas2.put(key2.toString(),“246117”);

setPieData1(pie_chart,formatDatas2);

break;

4.5 原因如下:

case R.id.button3:

Map<String, Object> formatDatas3 = new HashMap<>();

面试复习笔记:

这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

《960页Android开发笔记》

《1307页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
》**

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

[外链图片转存中…(img-hC4ESZkm-1649748563324)]

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
Android开发不会这些?如何面试拿高薪!

Android PieChart(饼形图),你的技术真的到天花板了吗相关推荐

  1. 厉害了!你的技术真的到天花板了吗?年薪50W

    这篇文章最近很火,我也有一些自己的看法:现在去很多公司面试,除了你具备基本的能够写一个高性能app的能力后,一般都会在自己的app里面加一些现有的相对较666的技术,这些技术我们称之为开源框架. 比如 ...

  2. 2021年Java开发突破20k有哪些有效的路径,你的技术真的到天花板了吗

    引言 众所周知,软件系统有三高:**高并发.高性能.高可用.**三者既有区别也有联系,门门道道很多,全面讨论可以大战三天三夜. 高并发对于Java开发者来说都不陌生,每年天猫双十一,秒杀大促等场景阿里 ...

  3. docker与gosu,你的技术真的到天花板了吗

    执行命令ps -ef查看redis服务,结果如下: root@122c2df16bbb:/data# ps -ef UID PID PPID C STIME TTY TIME CMD redis 1 ...

  4. 【转载】Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?

    [转载]Android提醒微技巧,你真的了解Dialog.Toast和Snackbar吗? 转载请注明出处:http://blog.csdn.net/guolin_blog/article/detai ...

  5. Android热补丁动态修复技术

    Android热补丁动态修复技术(一):从Dex分包原理到热补丁 一.参考 博文:安卓App热补丁动态修复技术介绍--by QQ空间终端开发团队  博文:Android dex分包方案--by 猫的午 ...

  6. Android类动态加载技术

    Android类动态加载技术 Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求.但是有些特殊问题,常常引发我们进一步的沉思.我们从沉思中产生顿悟,从而产生新的技术形式 ...

  7. 【Android APT】编译时技术 ( 开发编译时注解 )

    文章目录 一.编译时注解 二.编译时注解 使用 三.注解的保留时间 四.博客资源 一.编译时注解 上一篇博客 [Android APT]编译时技术 ( 编译时注解 和 注解处理器 依赖库 ) 中创建并 ...

  8. 【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )

    文章目录 一.编译时注解和注解处理器 二.创建 编译时注解 和 注解处理器 三.添加 编译时注解 和 注解处理器 依赖库依赖 四.博客资源 一.编译时注解和注解处理器 上一篇博客 [Android A ...

  9. 技术真的就不是那么重要了

    看得我泪流满面,想想也是,那些有钱的,哪个是懂技术的啊. 今天感慨颇多,作为一个coder,干了8年多,确实可以谈谈了.除非你进入微软.google等之类的,那个LZ就不谈了.大部分coder,如LZ ...

最新文章

  1. 简书 java jvm_JVM介绍
  2. CString转换成char*
  3. cocosStudio制作ScrollView并在cocos2dx 3.0中使用。
  4. 第二章 搭建Android开发环境 读书笔记
  5. C#多线程与并行编程方面的电子书,中英文版本
  6. 阿里云SLB负载均衡与使用SSL域名证书
  7. Java8————日期时间 API
  8. linux自启动配置文件,Linux中如何设置服务自启动?
  9. redis DB操作
  10. 使用bat向文件的第一行中写入内容
  11. python代理ip连接失败_遇到问题--python--爬虫--使用代理ip第二次获取代理ip失败
  12. 苹果4s怎么越狱_越狱软件续签教程
  13. tekla钢结构算量_钢结构、Tekla及建筑工业化厂商对Tekla软件的开发和应用
  14. Guava的两种本地缓存策略
  15. Linux 添加网卡
  16. AUTOSAR MCAL详解:FLS
  17. upc 去除干员 (delete)
  18. SQL语句中,有了别名不能再用原名,需要使用别名
  19. 第一章 huggingface简介
  20. ePartsize 过程全记录

热门文章

  1. 智慧园区安防技术解决方案
  2. 2024年浙大MBA提前批面试申请“四步曲”,凡事预则立,不预则废
  3. 如何记住使用Google Assistant停在哪里
  4. 共阴数码管与共阳数码管工作原理有什么不同
  5. php么好学,php好学么,
  6. 421. Maximum XOR of Two Numbers in an Array详解
  7. AD软件制手工板导出元器件流水号
  8. 查看Linux磁盘及内存占用情况
  9. spark入门及一些demo
  10. G1 获得 root 权限 (越狱?)