自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 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 2422

原创 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 1852

原创 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 1484

原创 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 1618

原创 安卓Handler笔记

Handler需要关注的全局变量Looper mLooperMessageQueue mQueueCallback mCallbackLooper需要关注的全局变量MessageQueue mQueueThreadLocal<Looper> sThreadLocalMessageQueue需要关注的全局变量boolean mQuitAllowedboolean mQuit...

2021-11-05 10:32:52 117

原创 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 232

原创 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 147

原创 C++语言涉猎笔记(五)

谓词(仿函数)#include <iostream>using namespace std;//自定义仿函数//仿函数相比普通回调函数扩展性强,可以定义成员变量和成员方法,原本就是一个类或者结构体class showObj {public: //仿函数方法可以设置返回值,根据参数多少命名为几元谓词(两个参数就是二元谓词) void operator()(int num) { cout << num << endl;

2021-04-20 16:36:19 158

原创 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 111

原创 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 152

原创 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 195

原创 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 135

原创 android性能检测工具--严苛模式(StrictMode)

严苛模式是安卓早期的性能检测工具代码,位于android.os包下面的StrictMode类。开发中通过使用严苛模式,能监测代码中的主线程耗时原因和内存泄漏原因。严苛模式的使用策略有两种。即监测耗时的线程策略(TreadPolicy),和监测内存泄漏的VM策略(VmPolicy)。TreadPolicy使用StrictMode一般定义到Application中,就可以全局的监测了,或者定义到指定activity以及其他组件的onCreate方法里用于局部监测。严苛模式的代码是使用了构建者模式

2021-04-01 14:32:02 1322

原创 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 164

原创 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 415

原创 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 144

原创 设计模式学习--工厂模式

什么是工厂模式工厂模式就是用来封装创建一个对象的具体过程,对象怎么创建外界可以不知道,外界只需要告诉工厂给我需要的对象即可。简单工厂模式顾名思义,工厂模式最简单的实现方式,假如创建对象的需求很简单,不是很复杂就可以采取这种方式,代码看上去也简单明了。接下来以生产宝马和奔驰车举例,先定义一个车的接口或者抽象类,让宝马和奔驰都实现这个接口或者继承这个抽象类:public interface Car { void driver();}public class BaoMa im

2021-03-22 12:03:01 115

原创 设计模式学习--单例模式

放眼所有的设计模式,感觉单例模式应该是最好理解也用的比较广的一种模式了。单例模式是什么单例模式是让当前的单例对象在运行中只存在一份,即将构造方法私有化,创建私有的静态对象,提供公有的静态方法去获得此对象。public class SingleUtil { private static SingleUtil mInstance = new SingleUtil(); private SingleUtil(){} public static SingleUtil getIn

2021-03-18 12:12:07 136 2

原创 重新巩固java基础 -- 反射

上次说到了注解运行中配合反射实现findViewById的例子,而且很多牛逼的框架的实现都是靠着反射来完成的,这次就来具体看看反射这个玩意的综合使用。反射什么是反射百度百科上的解释是:反射是一种计算机处理方式。有程序可以访问、检测和修改它本身状态或行为的这种能力。能提供封装程序集、类型的对象。在java中就是,把我们编写的每一个java的类映射成一个java对象来存储管理,提供给程序运行中访问这个java对象数据。因此java中有个特殊的Class的类,程序编写的每一个类都会在运行中被虚拟机

2021-03-15 13:31:13 136

原创 重新巩固java基础 -- 注解

泛型学完后,再来学习下java的另外两个自己用的不多的玩意,注解和反射。这东西其实从三四年前就听说很牛逼哄哄的,那些用到的比较频繁的如黄油刀,Retrofit等框架的实现都是基于反射注解完成的,但自己常年属于安卓接口工程师(写个页面接口获取个数据展示出来这种毫无技术含量的工程师),这玩意根本用不上啊。比起接口工程师的复制粘贴大法写代码,这两个知识点能让你另辟一条路,有着不一样的开发感受,达到另一种开发的G点。本篇先来看看注解这玩意吧。注解什么是注解首先要明白一点,注解不是注释,注释仅仅只是为

2021-03-01 20:04:55 177

原创 重新巩固java基础 -- 泛型

半路出家的我做安卓开发已经很久了,但是自己贪玩的原因再加上待的公司都不怎么注重项目质量,也就各种摸鱼混吃等死的状态熬了几年,现在回头看不仅新技术没有多少,以前的好多基础也丢的一干二净了,真是那个悔啊。最近不知咋地醒悟了,决定好好专研一下技术,重新把以前的丢的知识捡回来,再学习新的知识。写博客也为了督促自己学习吧,这篇算是我学习之路的第一篇,有缘看到的小伙伴一起加油吧~泛型对于泛型这玩意我本身用的不是特别多(技术落后的原因占比很大),可是看着源码里面一套一套的,必须完全搞明白,不然源码看的更懵逼。

2021-02-27 20:11:34 232 2

原创 记忆安卓事件分发,一表概括。

由Activity向viewgroup再向view这个顺序就不多说了。。。。一表概括所有分发和消费的情况方法默认TRUEFALSE备注理解:一级一级让梨dispatchTouchEvent会向下分发不会向下分发,也不会向上消费不会向下分发,但是会向上消费默认:顺序让梨t

2017-05-19 01:17:03 199

原创 BaseAdapter的简单封装

继承BaseAdapter的抽象类(根据需求进行添加方法)12345678910111213141516171819202122232425262728

2016-04-20 16:48:20 356

原创 Android三级图片缓存框架思路【附练习Demo】

缓存的简介         现在android应用中不可避免的要使用图片,有些图片是可以变化的,需要每次启动时从网络拉取,这种场景在有广告位的应用以及纯图片应用(比如百度美拍)中比较多。
        现在有一个问题:假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响。当然,我想,

2016-04-15 16:01:58 2003

原创 自定义View基础

一,自定义View概述定义:系统内部的控件无法满足用户需求时,需要用户自己去创建相应的UI布局 二,自定义View的分类1,使用现有的控件组合成新的控件2,继承已有的控件创建新的控件   3,直接继承自View类创建新的控件4,直接继承自ViewGroup类创建的新的控件 三,自定义View的作用创建和系统UI不一样的UI控件 四,使用现有的控件组合

2016-04-13 16:14:08 297

原创 动作传感器-摇一摇的Demo

权限震动权限android:name="android.permission.VIBRATE">代码1234567891011121314151617181920212223

2016-04-13 14:35:06 354

原创 ListView嵌套GridView的Demo

需要自定义GridView,重写onMeasure方法1234567891011121314151617181920212223242526272829

2016-04-13 14:31:36 1091

原创 ListView分页的Demo

1234567891011121314151617181920212223242526272829303132333435

2016-03-21 14:42:11 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除