学习笔记
yuyanMO
一个社会底层的苦逼搬砖程序猿
展开
-
Kotlin笔记(四)
接口fun main() { val im = IM(2) println(im.back())}//kotlin接口可以定义属性,不过很少使用interface IFCallBack { val a:Int var b:Int fun back() : String}//实现里面属性和方法都需要加override关键字//接口是var,实现不能是val,反之是可以的class IM(override val a: Int) : IFCallB原创 2021-12-08 19:17:51 · 2324 阅读 · 0 评论 -
Kotlin笔记(三)
构造方法fun main() { //次构造方法创建对象 val student = Student() println(student.toString()) student.age = 23 student.name = "jim" student.flag = true println(student.toString()) //主构造方法创建对象 val student2 = Student("main", 18, tru原创 2021-12-01 21:03:51 · 1630 阅读 · 0 评论 -
Kotlin笔记(二)
字符串操作const val NAME = "Kevin's friend"const val NAME_ARR = "Kevin,Jack,Lily"const val CHINA = "The People's Republic of China"fun main() { //截取Kevin val index = NAME.indexOf("\'") println(NAME.substring(0, index)) println(NAME.substri原创 2021-12-01 20:58:42 · 1429 阅读 · 0 评论 -
Kotlin笔记(一)
属性//常量,只能写于方法之外,编译时就已经确定//双shift输入show kotlin bytecode 查看字节码文件const val MAX = 100fun main() { //完整变量定义 var str:String = "Hello world" println(str) //类型推断 var str2 = "Hello" println(str2) //val表示只读 var表示后续可变 var str3 =原创 2021-12-01 20:47:44 · 1563 阅读 · 0 评论 -
安卓Handler笔记
Handler需要关注的全局变量Looper mLooperMessageQueue mQueueCallback mCallbackLooper需要关注的全局变量MessageQueue mQueueThreadLocal<Looper> sThreadLocalMessageQueue需要关注的全局变量boolean mQuitAllowedboolean mQuit...原创 2021-11-05 10:32:52 · 83 阅读 · 0 评论 -
Dart语法笔记
变量void main() { //var在声明变量(编译时)的那一刻决定了什么类型 var a = 1212; // a = "sss";//报错,编译确定类型后无法再更改 //dynamic和对象Object在运行中确定类型(Object比dynamic性能要好) dynamic b = "1212"; b = 1212; Object c = "1212"; c = 1212; //final是运行时确定常量,const是编译器确定常量(编译确定效率更高)原创 2021-08-09 11:03:24 · 187 阅读 · 0 评论 -
C++语言涉猎笔记(六)
thread线程//C++ 11 后出现的Thread 对pthread的封装(基本不用)#include <iostream>#include <thread> // C++ 11 后出现的#include <unistd.h> // sleep需要的包using namespace std;void runAction (int number) { for (int i = 0; i < 10; ++i) { cout原创 2021-04-20 16:54:25 · 108 阅读 · 0 评论 -
C++语言涉猎笔记(五)
谓词(仿函数)#include <iostream>using namespace std;//自定义仿函数//仿函数相比普通回调函数扩展性强,可以定义成员变量和成员方法,原本就是一个类或者结构体class showObj {public: //仿函数方法可以设置返回值,根据参数多少命名为几元谓词(两个参数就是二元谓词) void operator()(int num) { cout << num << endl;原创 2021-04-20 16:36:19 · 116 阅读 · 0 评论 -
C++语言涉猎笔记(四)
集合vector#include <iostream>#include <vector> // 引入 vector 容器的支持using namespace std;int main() { //创建一:动态长度的集合 vector<int> vector1; //创建二:长度为10的集合 vector<int> vector2(10); //创建三:长度为10,每个值都为0的集合 vector&原创 2021-04-20 16:10:37 · 67 阅读 · 0 评论 -
C++语言涉猎笔记(三)
运算符重载#include <iostream>using namespace std;class Kevin{private: int x; int y;public: Kevin(int x, int y) : x(x), y(y) {}; int getX() const { return x; } void setX(int x) { Kevin::x = x; } int原创 2021-04-20 16:00:27 · 113 阅读 · 0 评论 -
C++语言涉猎笔记(二)
构造函数,析构函数,拷贝构造函数//堆区开辟中new/delete才会调用构造函数与析构函数, malloc/free不调用构造函数与析构函数#include <iostream>using namespace std;class Student {public: char * name; int age; // : Student("kevin", 55) 相当于转接调用两个参数的构造函数 Student() : Student("kev原创 2021-04-20 11:49:01 · 125 阅读 · 0 评论 -
C++语言涉猎笔记(一)
C++的hello,world#include <iostream>//C++标准库(不需要.h后缀)using namespace std;//命名空间,C++特性int main() { //C++面向对象 C面向过程 //C++可以使用C语法,反之不行 //endl == /n 换行 //<<为操作符重载 //去除申明的命名空间std后完整写法为: std::cout << "Hello, C++" <&原创 2021-04-20 11:26:24 · 96 阅读 · 0 评论 -
android性能检测工具--严苛模式(StrictMode)
严苛模式是安卓早期的性能检测工具代码,位于android.os包下面的StrictMode类。开发中通过使用严苛模式,能监测代码中的主线程耗时原因和内存泄漏原因。严苛模式的使用策略有两种。即监测耗时的线程策略(TreadPolicy),和监测内存泄漏的VM策略(VmPolicy)。TreadPolicy使用StrictMode一般定义到Application中,就可以全局的监测了,或者定义到指定activity以及其他组件的onCreate方法里用于局部监测。严苛模式的代码是使用了构建者模式原创 2021-04-01 14:32:02 · 1086 阅读 · 0 评论 -
C语言涉猎笔记(三)
文件读取//文件的读#include <stdio.h>#include <stdlib.h> // 文件的操作需要用这个包int main() { //定义一个文件路径的字符串 char * file_path = "D:\\123.txt"; //fopen函数打开文件,参数一是文件的路径,参数二是操作文件的模式(r:读,w:写,rb:作为二进制文件读, rw:作为二进制文件写) //返回体为FILE的结构体指针 FILE *原创 2021-03-24 13:48:53 · 101 阅读 · 0 评论 -
C语言涉猎笔记(二)
字符串的一些操作//字符串#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>//字符串操作需要导的包int main() { //第一种方式定义,char数组,打印遇'\0'才结束打印,'\0'不计入字符串长度 char str[] = {'K', 'e', 'v', 'i', 'n', '\0'}; str[2] = '原创 2021-03-24 10:46:30 · 310 阅读 · 0 评论 -
记忆安卓事件分发,一表概括。
由Activity向viewgroup再向view这个顺序就不多说了。。。。一表概括所有分发和消费的情况方法默认TRUEFALSE备注理解:一级一级让梨dispatchTouchEvent会向下分发不会向下分发,也不会向上消费不会向下分发,但是会向上消费默认:顺序让梨t原创 2017-05-19 01:17:03 · 176 阅读 · 0 评论 -
C语言涉猎笔记(一)
为安卓的NDK开发基础,所以尝试去学习C和C++语言,把学习笔记代码存着方便以后复习。C语言的hello,world// <> 寻找系统的资源// “” 寻找我们自己写的资源// .h .hpp(声明文件 头文件)// .c .cpp (实现文件)//C语言的hello,world#include <stdio.h>int main(){ printf("你好,C语言"); getchar();//阻塞程序 return 0;}原创 2021-03-23 16:41:45 · 105 阅读 · 0 评论 -
设计模式学习--工厂模式
什么是工厂模式工厂模式就是用来封装创建一个对象的具体过程,对象怎么创建外界可以不知道,外界只需要告诉工厂给我需要的对象即可。简单工厂模式顾名思义,工厂模式最简单的实现方式,假如创建对象的需求很简单,不是很复杂就可以采取这种方式,代码看上去也简单明了。接下来以生产宝马和奔驰车举例,先定义一个车的接口或者抽象类,让宝马和奔驰都实现这个接口或者继承这个抽象类:public interface Car { void driver();}public class BaoMa im原创 2021-03-22 12:03:01 · 81 阅读 · 0 评论 -
BaseAdapter的简单封装
继承BaseAdapter的抽象类(根据需求进行添加方法)12345678910111213141516171819202122232425262728原创 2016-04-20 16:48:20 · 328 阅读 · 0 评论 -
动作传感器-摇一摇的Demo
权限震动权限android:name="android.permission.VIBRATE">代码1234567891011121314151617181920212223原创 2016-04-13 14:35:06 · 326 阅读 · 0 评论 -
ListView嵌套GridView的Demo
需要自定义GridView,重写onMeasure方法1234567891011121314151617181920212223242526272829原创 2016-04-13 14:31:36 · 1059 阅读 · 0 评论 -
ListView分页的Demo
1234567891011121314151617181920212223242526272829303132333435原创 2016-03-21 14:42:11 · 197 阅读 · 0 评论 -
设计模式学习--单例模式
放眼所有的设计模式,感觉单例模式应该是最好理解也用的比较广的一种模式了。单例模式是什么单例模式是让当前的单例对象在运行中只存在一份,即将构造方法私有化,创建私有的静态对象,提供公有的静态方法去获得此对象。public class SingleUtil { private static SingleUtil mInstance = new SingleUtil(); private SingleUtil(){} public static SingleUtil getIn原创 2021-03-18 12:12:07 · 94 阅读 · 2 评论 -
重新巩固java基础 -- 反射
上次说到了注解运行中配合反射实现findViewById的例子,而且很多牛逼的框架的实现都是靠着反射来完成的,这次就来具体看看反射这个玩意的综合使用。反射什么是反射百度百科上的解释是:反射是一种计算机处理方式。有程序可以访问、检测和修改它本身状态或行为的这种能力。能提供封装程序集、类型的对象。在java中就是,把我们编写的每一个java的类映射成一个java对象来存储管理,提供给程序运行中访问这个java对象数据。因此java中有个特殊的Class的类,程序编写的每一个类都会在运行中被虚拟机原创 2021-03-15 13:31:13 · 91 阅读 · 0 评论 -
重新巩固java基础 -- 注解
泛型学完后,再来学习下java的另外两个自己用的不多的玩意,注解和反射。这东西其实从三四年前就听说很牛逼哄哄的,那些用到的比较频繁的如黄油刀,Retrofit等框架的实现都是基于反射注解完成的,但自己常年属于安卓接口工程师(写个页面接口获取个数据展示出来这种毫无技术含量的工程师),这玩意根本用不上啊。比起接口工程师的复制粘贴大法写代码,这两个知识点能让你另辟一条路,有着不一样的开发感受,达到另一种开发的G点。本篇先来看看注解这玩意吧。注解什么是注解首先要明白一点,注解不是注释,注释仅仅只是为原创 2021-03-01 20:04:55 · 134 阅读 · 0 评论 -
重新巩固java基础 -- 泛型
半路出家的我做安卓开发已经很久了,但是自己贪玩的原因再加上待的公司都不怎么注重项目质量,也就各种摸鱼混吃等死的状态熬了几年,现在回头看不仅新技术没有多少,以前的好多基础也丢的一干二净了,真是那个悔啊。最近不知咋地醒悟了,决定好好专研一下技术,重新把以前的丢的知识捡回来,再学习新的知识。写博客也为了督促自己学习吧,这篇算是我学习之路的第一篇,有缘看到的小伙伴一起加油吧~泛型对于泛型这玩意我本身用的不是特别多(技术落后的原因占比很大),可是看着源码里面一套一套的,必须完全搞明白,不然源码看的更懵逼。原创 2021-02-27 20:11:34 · 193 阅读 · 2 评论