C++ ifstream中的定位操作seekg调用之前,必须先调用clear() 标题就是所有的内容。ifstream is("somefile.txt");is.clear();//必须先调用这个,清除flagis.seekg(0);//才能用这个设定到文件开头
C++ 之静态成员 初始化必须在定义外 如题一般情况下,C++定义一个类会用2个文件,“class.h”和 “class.cpp”, 使用的时候一般会让函数在.h中声明,然后.cpp中定义,而成员数据一般在构造函数或者.h中就初始化了。然而,static修饰的静态数据成员,必须在类的声明以外来初始化。也就是说如下://.hclass Cls{ private: Cls(); ~Cls();
Javascript / jQuery 笔记 DOM 对象和jQuery对象的转换 编写到如下代码$('.menu').click(function(){ //do something with 'this' //这里用到了this这个属性});在这里,this指代的是一个普通的DOM对象,比如[Object HTMLDivElement] 要操作,就要用到普通的javascript方法。如果需要使用jQuery的方法,那么需要转换成jQuery的节点对象(显示
Android 笔记 NDK/JNI的使用 NDK / JNI本来,使用JAVA语言是很和谐的。但是因为天生的缺陷,很多功能需要调用本地代码。看惯了JAVA语言以后再回头看C/C++,感觉很是头疼。然而,该用的还是少不了。暂且把有用的网页记下来,待以后有更多需要记笔记的时候再补充。NDK 入门指南 JNI Tips 向您的项目添加 C 和 C++ 代码 Android NDK 开发 史上最详细Android Studio + ND
Android 笔记 进程间通信 进程间通信同一个apk文件安装的app下的所有部件(大概)都是同一个进程的。所以这里讲的进程间通信,指的是不同app之间的通信。实际上,我觉得,如果不同的app通信,用intent,broadcastReceiver就可以了,不过既然有通信的方法,研究一下也无妨。网络上的例子,包括官网的例子里面,会用到Service部件。这个部件有一点要指出的是: Service和同app的其他部件是在同一个进程
Android 笔记 transition 补充 --content transition / activity transition Content Transition探索安卓中有意义的动画!深入理解Content Transition 深入理解共享元素变换(Shared Element Transition)之前有了解过transition,可以设定activity的转换动画。但是总觉得有点奇怪。因为官方api定制的activity转换动画用来设置到transition上的就只有3个,slide,explode,fade,并
Android 笔记 - 点击 水波纹效果-续 还是点击水波纹效果之前有讨论过点击水波纹效果,当时没仔细看,就了解了一个最基本的办法//在控件里加入如下属性值即可: //圆形波纹 android:background=”?android:attr/selectableItemBackgroundBorderless” //有边界波纹 android:background=”?android:attr/selectableItemBackg
C/C++/JAVA 二进制/十六进制 的应用 :大数(超过32位二进制数),按位逻辑运算,属性值设置,等 按位逻辑运算,属性设置按位逻辑运算在高效率的数据操作中应用很多,平时用的高级语言里面,多数时候不需要我们去手动设置这些,因为已经被封装在各种模块/类里面了。在需要手动定义一些功能的时候,这些运算方法很值得使用。 有一点要注意就是,所有按位运算都是二进制位的按位运算,如果数据采用十进制或者十六进制表示,实际上也是采用二进制的按位运算。按位与: & 0&0=0; 1&0=0; 0&1=0; 1&1=1
关于碰撞检测 碰撞检测之前做碰撞检测的时候,我居然一直都用的最原始的办法 也就是if()来判断未知是否越界的办法。我就总觉得肯定有一种比较聪明的办法的,一直想不出来(根本没有去想)。那么刚才在一本书上找到了,貌似之前见过,但是一直没有注意。比如,我需要检测一个不断移动的坐标 x, 判断它是否越界,边界分别是Edge_min和Edge_max那么可以用如下的语句来设置这个坐标xx = Math.min(
C++ 笔记 关于多态的跟java不一样的使用方法 多态使用面向对象语言的时候,熟练的运用多态是必须的。虽然我最早学的是C/C++,但是那个时候学的都是皮毛,入了个门而已,真正深入的理解面向对象语言是从JAVA开始的。JAVA是一个非常人性化的语言,易学易用,其中多态的使用也非常容易理解。但是C++里面,虽然功能上相对于JAVA没有任何差别,但是使用起来貌似要更复杂一点。1,基类和子类的函数调用区别 JAVA://SuperClass 扩展出 M
C++ 笔记 关于动态内存分配 (new / delete) C语言里面的动态内存分配用的是malloc()/calloc()和free()其中,malloc用于分配一个单位的内存,返回指针。例如malloc(sizeof int) calloc用于分配多个内存,形成数组,返回指向第一个位置的指针。例如calloc(10,sizeof int) free(*ptr)用于释放ptr指向的空间另外还有一个realloc(*ptr,size)可以为ptr指向的空
Android 笔记 canvas.save() canvas.save()/ restore()在自定义view并且重写onDraw的时候,经常会用到canvas的坐标变换类的方法比如canvas.rotate,canvas.tranlate,scale,或者直接使用matrix的concat(Matrix m)等等。但是有一点要记得,那就是这些变换的方法是作用于整个canvas的,而不是单独某一个图像。 相当于是用普通的坐标在canvas上绘
Android 笔记 - 从图像中扣一个洞出来 …… 如题我发现,用canvas绘图如果只是创造一些图形倒还容易,无非就是麻烦一点。 但是我居然一下想不到怎么从图像中扣出一个透明的圆形来。方形的很容易嘛,可以在四周绘制几个方形,把中间空出来就可以了,已经实现了。但是没办法让中间空出一个圆形的来。比如说,类似扫码的界面,就中间一个扫码区域可用,其他区域是半透明的,或者是一个蒙版,把需要特写的地方空出来,其他地方是半透明的。找到了两个解决办法第一个方法:
Android 笔记 transition / 转换动画 Transition之前有了解一丁点转换动画,比如说不同activity之间转换的动画,或者公共部件之间的转换动画,笔记做的很简略。这里又(稍微)仔细的了解了一下官网的关于转换动画的介绍。使用transition framwork Material-Animations,就是上面那条的英文版,还有例子 Transition-android developer 定义定制动画-android de
Android 笔记 快捷方式 / 桌面小组件 快捷方式安卓系统可以有专门的桌面,跟WINDOWS的桌面很像,可以选择放置哪些app,不放置哪些app,还可以添加小组件(app widget)。而所有程序会放置在专门的界面中。这一点跟ios有些不一样。当然,很多rom可以选择跟ios一样的单屏界面,所有的app都会显示。具体的没有操作过,因为我就一个手机。而创建快捷方式的方法一般是在所有程序的界面中按住app图标不放,然后拖动到想要的位置。很多时
Android 笔记 imagebutton 点击水波纹背景效果 很多时候需要设置imagebutton或者其他类似组件的背景,图像也好,动画也好,颜色也好。但是有一点。自定义之前,可以看到可点击元素有点击水波纹效果。自定义以后,就没有了。其实,这个效果是在style里面定义的,当自定义了background了以后,就覆盖了style里面的定义了。可以简单的设置背景为selector的drawable,可以让使用者确认是否点击成功。但是我还是希望能实现原始的水波纹
Android 笔记 屏幕亮度最大/常亮 屏幕亮度最大/常亮似乎找到一个更简单,更有效的方法来实现屏幕亮度最大化。之前有一个方法,也是网上不知道哪里找来的,但是设置起来相当麻烦,我都不想提,以后如果没有笔记甚至都不知道怎么下手。今天又找到一个简单的设置办法。Window是android的一个抽象类,用来描述当前应用的窗口。 可以像普通的view一样获得window的layoutParams,然后设置里面的属性,然后设置到window里面去
JAVA/Android 笔记 Atomic / ExcuterService Atomic普通情况需要线程安全我们会选择用synchronized。但是这样有时候会因为程序错误造成死锁,或者根本就没有用对地方导致根本就没有同步。所以使用synchronized的时候需要仔细的测试。JAVA 1.5以后提供了一个新的包 java.util.concurrent,里面有很多为线程并行程序提供支持的类。 而这个包下面还有一个包:java.util.concurrent.atom
Android/JAVA 笔记 同步操作/synchronized / wait()/ notify() synchronized编写程序离不开多线程操作。而多线程又离不开同步操作。这是很重要的。java语言有一个关键词synchronized可以应多同步操作。之前学习的时候我没有怎么去理解这个东西。最近在研究延迟操作和animator的时候顺便把这个弄清白了,就在这里记录一下。可以对一个方法标记,那么每次就只有一个线程能进入这个方法对一个代码块标记,同上。而且对代码块标记的时候会指定一个对象,是为
JAVA/Android 笔记 定时/循环任务以及动画(Animator) 定时任务/循环任务在研究程序的时候,我经常会考虑一个问题,就是 : 如何有效率的执行一个定时任务。初学的时候,书上提到过一些这样的情况,然后会告诉我使用一些什么API来执行这样的任务。 1. 使用Thread.sleep(long time)。这个很好理解,就是新开一个线程,然后让这个线程sleep一段时间,再执行,这就是最好理解的定时执行。 2. 使用Timer.schedule(),然后置