最后:学习总结——Android框架体系架构知识脑图(纯手绘xmind文档)
学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。
下方即为我手绘的Android框架体系架构知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的Android框架体系架构知识脑图原件(包括上方的面试解析xmind文档)
除此之外,前文所提及的Alibaba珍藏版 Android框架体系架构 手写文档以及一本 《大话数据结构》 书籍等等相关的学习笔记文档,也皆可分享给认可的朋友!
——感谢大家伙的认可支持,请注意:点赞+点赞+点赞!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
}
/**
- 输入字符,得到他的声母,英文字母返回对应的大写字母,其他非简体汉字返回 ‘0’
*/
private static char Char2Initial(char ch) {
// 对英文字母的处理:小写字母转换为大写,大写的直接返回
if (ch >= ‘a’ && ch <= ‘z’) {
return ch;
}
if (ch >= ‘A’ && ch <= ‘Z’) {
return ch;
}
// 对非英文字母的处理:转化为首字母,然后判断是否在码表范围内,
// 若不是,则直接返回。
// 若是,则在码表内的进行判断。
int gb = gbValue(ch);// 汉字转换首字母
if ((gb < BEGIN) || (gb > END))// 在码表区间之前,直接返回
{
return ch;
}
int i;
for (i = 0; i < 26; i++) {// 判断匹配码表区间,匹配到就break,判断区间形如“[,)”
if ((gb >= table[i]) && (gb < table[i + 1])) {
break;
}
}
if (gb == END) {// 补上GB2312区间最右端
i = 25;
}
return initialtable[i]; // 在码表区间中,返回首字母
}
/**
- 取出汉字的编码 cn 汉字
*/
private static int gbValue(char ch) {// 将一个汉字(GB2312)转换为十进制表示。
String str = new String();
str += ch;
try {
byte[] bytes = str.getBytes(“GB2312”);
if (bytes.length < 2) {
return 0;
}
return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff);
} catch (Exception e) {
return 0;
}
}
}
// 搜索的方法,增加简拼搜索
2013-12-31修正
以上代码修正为:
/**
-
按号码-拼音搜索联系人
-
@param str
*/
public static ArrayList search(String str,
ArrayList allContacts, ArrayList contactList) {
contactList.clear();
// 如果搜索条件以0 1 +开头则按号码搜索
if (str.startsWith(“0”) || str.startsWith(“1”) || str.startsWith(“+”)) {
for (Contact contact : allContacts) {
if (contact.getNumber() != null && contact.getName() != null) {
if (contact.getNumber().contains(str)
|| contact.getName().contains(str)) {
contact.setGroup(str);
contactList.add(contact);
}
}
}
return contactList;
}
ChineseSpelling finder = ChineseSpelling.getInstance();
String result = “”;
for (Contact contact : allContacts) {
// 先将输入的字符串转换为拼音
finder.setResource(str);
result = finder.getSpelling();
if (contains(contact, result)) {
contactList.add(contact);
} else if (contact.getNumber().contains(str)) {
contact.setGroup(str);
contactList.add(contact);
}
}
return contactList;
}
/**
-
根据拼音搜索
-
@param str
-
正则表达式
-
@param pyName
-
拼音
-
@param isIncludsive
-
搜索条件是否大于6个字符
-
@return
*/
public static boolean contains(Contact contact, String search) {
if (TextUtils.isEmpty(contact.getName())) {
return false;
}
boolean flag = false;
// 简拼匹配,如果输入在字符串长度大于6就不按首字母匹配了
if (search.length() < 6) {
String firstLetters = FirstLetterUtil.getFirstLetter(contact
.getName());
// 不区分大小写
Pattern firstLetterMatcher = Pattern.compile(search,
最后
我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-ZDZOxVMN-1715370936538)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!