- 博客(7)
- 资源 (6)
- 收藏
- 关注
原创 获取部分Android源码
AOSPAndroid Open-Source Project,Android开放源代码项目,其内包含Android系统所有的源码。获取方法一般是使用repo工具,按官方方式直接获取整个项目,但是国内是无法直接访问的,即使FQ后网速也实在没法恭维。下面介绍一种使用github选择获取部分Android项目的方式。source.android.comaosp官网,源码部分点击网站右上角“转到源代码”或
2017-05-03 20:25:29
449
原创 Android Task的应用
在Android应用中,默认是只有一个Task的,而为了方便应用的管理,我们也可以手动的让多个Activity分别依附于多个Task中。Task添加让Activity运行于另一个Activity需要两步设置:Intent的Flag;manifest的taskAffinity。Intent-Flag这一点就很明显了,有个FLAG_ACTIVITY_NEW_TASK选项,顾名思义启动Activity在新
2017-04-30 12:40:31
999
原创 Java synchronized
使用原则synchronized用于同步代码块,被同步的代码块将会条件性的限制线程对其的访问(限制条件取决于synchronized之后紧跟括号内的参数对象)。synchronized可直接修饰方法,也可修饰于代码块。修饰代码块public void a(){ synchronized(o) { }//代码块中包含需要同步的内容}此种使用方法中,synchronized后括号中传入一个对象
2017-04-13 19:38:45
12758
原创 Android Studio ndk简单配置(cmake)
CMAKEAndroid Studio在2.2之后添加了cmake,可在SDK中下载安装(ndk与CMake): 如果需要简单的模板示例,只需在新建工程的时候勾选 “Include c++ support”: 配置新建文件(夹)添加jni文件夹: 这里注意,新建的这个文件夹默认名称一般是:“src/main/jni/”,但是通过对照我们发现,新建出来在Android导航栏里显示的却是“cp
2017-03-28 22:11:21
923
原创 关于Android应用的启动
一个main方法引起的思考与简单的控制台程序类似,Android应用也需要一个入口方法,但是这个入口方法并非是由我们自己定义的。首先比较控制台的“helloworld”与Android下的“helloworld”,前者很简单的一条线执行下去,而后者的Activity则存在着复杂的生命周期,从onCreate到onStart一系列方法之后还不会自行结束,很显然其实际执行过程不会像看上去那么简单。
2017-03-26 16:57:44
330
原创 Android BaseAdapter
BaseAdapter当一个ListView设置了Adapter后,每次ListView刷新显示时会调用getCount()来确定需要显示的条目个数,然后重复调用getView(…)获取指定位置的View并绘制到指定位置上。方便起见,一般列表中每个条目里包含的View在获取时都会从布局文件得到(如LayoutInflater的inflate(…)方法)。由于每个条目中的view一般都会包含多个
2016-05-17 20:25:53
364
原创 关于C语言的"[]"运算符与指针
C语言的”[]”运算符在C语言中,”[]”运算符最常用是在对数组的处理上用到的,却并不限于数组处理,其实质上与汇编语言中寻址时使用的该操作符相似。对于一个指针p,p[1]或者1[p]的结果是等价于*(p+1)的。在C语言中,对地址的加法操作并非是单纯的加上去即可,运算过程会由地址存放数据的类型影响。如以下两段代码最后输出的p+1的值是不同的:int *p;p=0;printf(
2016-05-05 23:23:55
1505
[深入浅出HTML].Head.First.HTML.with.CSS.and.XHTML
2015-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人