- 博客(35)
- 资源 (4)
- 收藏
- 关注
原创 Android系统,动态找出一个包下所有的类
最近在写一个android应用,由于针对不同机型功能很不同,为了隔离变化,希望将各项功能插件化,通过编译开关来控制不同版本的功能,而不是在代码中通过逻辑来判断。 我想了一个办法,用表驱动的方法,结合插件类的静态代码块自注册。但这就需要找到固定包下的所有类,然后主动初始化这些类,执行静态代码块。下面是运行时找出一个包下所有类的方法: private static String[]
2015-04-07 17:34:36
716
原创 Android零碎知识点总结
1 简单的跨进程通信可以用Messenger类,不用AIDL。 2 当一个Service没有action时,它默认是exported="false"的,其它进程用它的包名和类名构造intent试图绑定它,会报出安全性异常。这可以避免恶意应用发送空intent的拒绝服务攻击。
2015-04-01 17:13:45
637
原创 关于android的SQLiteDatabase和Cursor的一些疑问
android数据库操作的基础有三个类:SQLiteOpenHelper,SQLiteDatabase和Cursor。其中,SQLiteOpenHelper会建立一个数据库连接,它虽然可以调用多次getWritableDatabase或getReadableDatabase方法,但在彻底关闭db之前,返回的db对象其实是同一个。 也就是说,如果实例化两个SQLiteOpenHelper,
2015-04-01 09:45:04
1844
原创 密码算法安全性列表
密码算法安全性列表业界已知不安全算法 对称算法:DES在所有场景下都不安全。 对称算法:3DES在密钥长度256以下,k1=k2=k3时不安全。 对称算法:SKIPJACK和RC2在所有场景下都不安全。 对称算法:RC4和BlowFish当密钥长度128以下时,不安全。 非对称算法:RSA在密钥长度1024以下时不安全。 哈希
2015-03-28 10:14:10
10910
原创 Android 定义重名权限问题
一直以来对android的权限机制就有一个疑问,因为在使用权限时,实际上只需要permission的name这一个标签,而在定义权限时,android是不会检查是否重名的,那么在两个应用定义了重名权限时会发生什么? 我在stackoverflow上找到一个解释,链接:http://stackoverflow.com/questions/4567812/define-a-permissio
2015-03-24 15:29:21
693
转载 一次谷歌面试趣事
一次谷歌面试趣事 很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。
2015-03-20 21:24:56
438
原创 英语学习规划
本计划依外界条件(如公司加班要求,学习中心是否提供外网等),随时变更: 一:周一到周日早上,6:30-7:30, 一节在线小组课程。 二:周一,周三,周五,晚上7:00-8:00, 一节网络单元课程+往期内容复习。 三:周日,9:30-下午3:30,三节主课: F2F + Workshop + 在线私人课 或者 Apply + Career
2015-03-20 21:17:45
446
转载 程序员讨厌没有价值的任务
程序员讨厌没有价值的任务大多数程序员,据我所知,越是优秀,越是讨厌没有价值的任务。寻找其工作的价值这些年来,我看到很多颇有成绩的软件开发人员转行去了管理岗位,或者其他完全不同的职业。有的时候原因很简单,只是想拿更高的薪水。不过也有因为是厌倦了总是需要不断学习以跟上软件开发步伐这样一种疲于奔命的状态。当然最常见的原因是感到无聊了,或者是对工作本身失去了兴趣。这些人通常是因为工作对于他
2015-03-20 21:03:00
482
原创 我的文章分类
1) LWW: learning while working 这是赖以吃饭的核心技能,在工作中会大量用到,所以自然而然就有机会学到很多新的东西,我所要做的是始终保持好奇心,提出问题,记录解决方案。 2)LAW: learning around working 这些是对于编程通用性很高的基础设施,虽然不精通这些可能不会让我丢掉工作,但是学习它们可以大大提高自己的工作效率
2015-03-20 20:59:34
405
原创 ResourceBundle读取中文properties文件问题
昨天遇到一个问题,用ResourceBundle读取中文字符串资源文件时,死活读不出来。 一开始以为是文件路径不对,后来发现如果默认properties文件时英文就没问题。我的项目代码是在src目录下,用 ResourceBundle.getBundle("res/strings", Locale.getDefault())代表properties文件在src/re
2015-03-19 14:56:14
3452
原创 敏捷基础知识
敏捷基础知识 传统项目管理的问题: 传统项目管理的铁三角是范围,成本,时间,其中范围是固定项,时间和成本是变化项,但很多在此三项上单独看都成功的项目实际上是失败的。 首先,缺失了“价值”,瀑布模型开发的项目,实际使用功能和交付功能的比率很低。在技术快速演进的时代,如何获取有价值的需求成为关键问题。 敏捷管理关注价值,通过product backl
2015-03-17 14:29:29
818
原创 一个简单方法:构造xml的document,并将其转换为string
首先,构造一个document对象: Document doc = null; try { doc = DocumentBuilderFactory.newInstance() .newDocumentBuilder().newDocument(); } catch (ParserConfigurationException e) {
2015-03-13 16:01:53
508
原创 在android源码环境下写上层应用的一个初步解决方法
在android源码环境下编写上层应用,一直以来我都觉得很麻烦。因为如果单纯将应用导入eclipse,那么framework层一些定制的API无法自动提示和补全,使用起来不太方便;如果将整个android工程导入eclipse,那么一方面eclipse会慢得难以忍受,另一方面,作为一个java项目,也无法享受到adt插件xml自动补全的便利。 今天想了一个初步的解决方法,还是将应用作为
2015-03-13 10:45:48
651
原创 Linux 与 unix shell编程指南——学习笔记
第一章 文件安全与权限 文件访问方式:读,写,执行。 针对用户:文件属主,同组用户,其它用户。 文件权限位最前面的字符代表文件类型,常用的如 d 目录;l 符号链接;p 命名管道文件;- 普通文件 ... 用chmod改变文件权限位的设置: chmod [who] operator [permission] f
2015-03-09 11:01:24
588
1
原创 git 分支的基本操作
git分支的基本操作。创建私有分支: $git branch branchName commitID $git checkout -b branchName commitID注意:git checkout -b branchName commitID = git branch branchName commitID + git checkout branchName
2015-03-07 21:20:21
455
原创 Code Complete阅读笔记(二)
2015-03-06 328 Unusual Data Types ——You can carry this technique to extremes,putting all the variables in your program into one big,juicy variable and then passingit everywhere.Careful prog
2015-03-07 21:18:09
1818
转载 使用repo的本地开发流程
repo下的本地开发流程单分支开发: 1 本地新建工作目录并初始化repo库: repo init; 2 下载代码(只取服务器当前分支): repo sync -c; 3 创建本地分支: repo start localDevelop --all; 4 基于localDevelop分支进行代码修改,修改中可能需要建立私有分支,但统一使用localDevelo
2015-03-07 21:13:20
1228
原创 Linux常用命令收集
在当前目录下搜索所有名字中带有Launcher的java文件: find . -name "*Launcher*.java"
2015-03-04 10:55:57
366
原创 Git应用于Android项目的入门知识:我的理解
Git应用于Android项目的基本知识。 常常将git,repo和gerrit三种工具配合起来使用,使Android开发中的部分工作自动化。并适应敏捷项目管理的需要。 repo是Google在git上开发的版本库管理工具,是用Python编写的脚本库,用来统一管理多个git仓库。 gerrit是适用于git项目的基于WEB的代码review及权限控制系统。它让有权限
2015-03-03 21:22:40
424
原创 Git入门——基础知识问答
问题一:为什么要选择Git作为Android开发的版本控制工具? 答:1)git是android项目和社区的统一语言。 2)高通版本发布频繁,需要与平台及时同步,快速rebase。 3)git是分布式版本控制的代表,也是发展趋势。问题二:Git主要有哪些设计理念? 答:git是2002年开发的Distributed Version C
2015-03-01 19:06:31
428
原创 文摘:威胁建模(STRIDE方法)
文摘,原文地址:https://msdn.microsoft.com/zh-cn/magazine/cc163519.aspx 威胁建模的本质:尽管通常我们无法证明给定的设计是安全的,但我们可以从自己的错误中汲取教训并避免犯同样的错误。 首先需要知道什么样的设计是“安全的”,安全设计原则: 开放设计——假设攻击者具有源代码和规格。 故
2015-03-01 18:50:49
16615
原创 写在2015年工作的第一天
新年工作的第一天,很多同事还没有上班,也没有什么实在的工作可做。新年的红包拿在手里,虽然钱不多,但我很高兴。就想趁着这个机会写点什么。 刚刚过去的2014年,对我来说,是变动很大的一年。我实现了工作的转型,离职、培训、面试、适应新的工作、选择参加EF英语培训、工作调整、再次适应新的环境......一系列事项纷至沓来,让我不得不绷紧神经,时刻准备着改变自己。 客观来说,我应付得还
2015-02-25 17:26:08
520
原创 Ubuntu自定义命令
回到主文件夹$ cd ~建立.bash_aliases$ touch .bash_aliases$ vim .bash_aliases在此文件中加入一句话:alias cdlauncher='cd ~/code/ep820/packages/apps/Launcher'然后$. .bash_aliases这样就可以直接敲cdlauncher直
2015-02-13 14:40:25
990
原创 创建一个简单的配置android编译环境的脚本
由于有多个Android项目,每个项目配置编译环境时选项都不同,所以尝试写一个sh脚本来完成这个功能。首先进入bin文件夹,新建一个文件enbuild$ cd ~/bin$ touch enbuild赋予这个文件可执行权限$ chmod u+x file.sh编辑这个文件$ vim enbuild写一个简单的sh脚本并保存:#!/bin/sh
2015-02-13 11:12:42
358
转载 程序员最应该知道的20件事
程序员最应该知道的20件事本文是码农网原创翻译,转载请看清文末的转载要求,谢谢合作!我最近看了一本叫做《the 97 Things a Programmer Should Know》的书。书是一本好书。不过,下面我将我认为最值得我们了解的20件事情列举给大家:1.应用函数式编程原则引用透明性是一个非常可取的特性。这意味着,不论何时调用它,对于同一组参数它
2015-02-11 06:55:38
360
转载 让年轻程序员少走弯路的14个忠告
本文是码农网原创翻译,转载请看清文末的转载要求,谢谢合作!无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是我作为一名软件开发人员所学到的经验,希望能对大家有所帮助。1.不要害怕在工作中学习。只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲
2015-01-28 09:30:34
511
转载 密码如何改变了我的一生
本文是极客网原创翻译,请按文末要求转载! “她为什么要这么对我?为什么啊?”每天,我的脑海里都充斥着这样的话语,让我不由地恍恍惚惚。 事情发生在11年,iOS图标刚开始普及,人们还在使用除臭剂,而我,则陷入了沮丧和绝望的泥淖中,整天唉声叹气,神思恍惚——我离婚了。 值得庆幸的是,我还不至于蠢到家(并且有一群努力开解我的好朋友),我找到了一些方法来度过难关。
2015-01-13 10:25:12
636
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人