- 博客(14)
- 收藏
- 关注
原创 日常整理算法笔记
最近想重新拾起大学的课程,算法与数据结构,这里整理下来以便回顾,也是督促自己坚持下来。会持续更新。。。一、这是一个求两个int型数据的最大公约数的算法该算法的自然语言描述是:计算两个非负整数 p 和 q 的最大公约数:若q 是 0,则最大公约数为 p。否则,将 p 除以q 得到余数 r,p 和 q 的最大公约数即为 q 和r 的最大公约数。这里用代码的形式来表示
2017-12-19 09:33:03 234
原创 JNI入门学习
前面几天我大概了解了一下C语言的一些语法基础,这只是C中皮毛中的九牛一毛了。了解了这些,也只是为了便于我们在JNI的学习运用中的理解罢了。JNI是什么:一开始我们说过其实就是java和C之间交互的语法规则。一、初识JNI在认识JNI之前,我们先来了解一下NDK,我们知道JDK、SDK。跟SDK差不多,NDK:本地开发工具集,也是给Android开发用的一种工具,不同的是,NDK是用C语
2017-08-07 12:58:32 303
原创 (五)JNI学习之C语言基础,typedef与宏定义
这一篇我们来了解一下typedef和宏定义,贴代码#includetypedef int jint;//其实就是给现有的C语言数据类型起别名//宏定义:可以定义一个类似于java中封装好的方法;可以定义一个常量 #define PI 3.1415926#define Area(r) PI*r*r void main(){ jint i = 1; printf("i=%d\n
2017-08-05 17:20:46 369
原创 (四)JNI学习之C语言基础,构造类型
这一篇我们来看一下C语言的构造类型,构造类型也是C语言的数据类型之一,其中包括:数组、结构体、联合体、枚举一、首先,数组,我们将从数组的定义、数组的赋值、数组的长度、数组的遍历这几个方面来讨论。(这里只说一维数组)首先我们定义一个数组,#includevoid main(){ /* 在定义数组的时候,一种方式是指定数组的长度; 一种方式是可以不指定长度,但是要初始化数组。
2017-08-05 10:11:34 272
原创 (三)JNI学习之C语言基础,指针
指针 这个名词对大家来说一定不陌生,虽然可能具体是怎么回事,但多少身为程序员的我们一定是听说过,而且对于我们孤傲高冷的程序猿,在还是单身狗的情况下往往会被人戏说:你这个没有对象的野指针。哈哈,总之,指针对于C语言来讲是最基本的,但运用起来也是有难度的,下面我们就简单说一下C语言指针。我们知道,C语言是面向过程的,没有类对象之分,对于指针来说,我们通俗的可以这么去给它一个定义。指针:就是用来
2017-08-04 09:56:58 471
原创 (二)JNI学习之C语言基础,控制语句
上一篇文章我们大致介绍了C中的一些数据类型最最皮毛,最最基本的概念。这一章我们来说一下C中基本的控制语句。就像java一样,为了方便控制逻辑,C语言也为我们提供了许多执行控制语句的关键字。我们这里肯定不能一一列举,只是抱着看得懂的目的先来看一下几个关键字的基本用法。1、if...else语句,跟java一样,执行条件判断的,我们主要通过简单的代码来看下它的使用:#includev
2017-08-04 09:54:19 238
原创 (一)JNI学习之C语言基础,基本数据类型
一、JNI的介绍JNI:Java Native Interface(java本地接口),其实就是让java跟C/C++互调的过程的一个规范。所以要掌握这项技术,我们就必须了解C/C++语言的基础知识,因为C++是对C的一些改进,我们这里就只介绍C语言。我们要知道的是,C语言不像java或C++,它不是面向对象的,而是面向过程的,所以C语言是不存在类、对象之类的说法的,它只有数据类型、函
2017-08-03 10:35:16 523
原创 关于java传统线程的两种创建方式讲解
关于java中的线程,大家一定不陌生,多线程让我们看起来代码是在同时执行,当然这很不严谨,对于单核cpu,多线程只不过是jvm合理的分配时间片,轮流执行每一个线程的任务而已。Thread(线程),在java中也是一个事物,那么在创建的时候我们可以,Thread thread = new Thread();来创建一个线程,而要想执行该线程,我们必须调用它的run()方法来让线程里的代码跑起来。如
2017-08-01 15:05:28 255
原创 个人笔记。Java基础几个知识点说明
一、可变参数:问题引出,一个方法可能接受的参数个数不同(可以考虑方法重载)可变参数的特点:1、只能出现在参数列表的最后;2、...位于变量类型与变量名之间,之间可以有空格。(只能写成三个点)调用可变参数的方法时,编译器为可变参数隐含创建一个数组,在方法体中可以通过数组的形式访问可变参数。二、基本的异常捕获处理问题。一般面试用public class ExceptionTest { pub...
2017-08-01 13:09:29 221
原创 简单梳理一下Android中MVP设计思想,个人学习用
接触Android开发已经不算短了,其实好多东西说实在的还是特别的含糊。感觉这样是不行的。Android的mvp设计模式已经出现很久了,而自己在项目里从来没有运用过,其实还是对一些代码设计结构的模糊。希望自己今后能更上进一点,勤奋一点。笨鸟要先飞。废话不多说了这里仅仅是对鸿洋大神讲解的一个demo进行梳理,实际上算是自己今后进步的学习笔记这里以Android的登录为例,首先,我
2017-07-25 11:03:33 444
原创 Android关于Service服务
由于不是经常的使用某些Android知识,总是经常忘掉。我想再次从基础开始整理一些基础性的但是很关键的知识。下面我要说的是就是service,service是Android的四大组件之一,用的时候同样需要注册,跟activity一样,同样继承自context上下文。它就像一个看不见的activity。没有ui界面,我们知道,服务是为了在后台做一些事情,比如一些执行时间较长的操作。启动ser
2017-07-14 14:22:21 326
原创 Android的多击事件实现
首先,看普通双击事件的实现:public class MainActivity extends AppCompatActivity { private ImageView mImage; private Button mButton; private long startTime = 0; //首次点击时间 @Override protecte
2017-06-21 12:55:59 366
原创 关于进程有多个aapt.exe 的解决方法
aapt 的一个重要的功能就是Android的打包apk,其他的我就不多说了,我们在build-tool下可以找到它,产生原因我觉得有可能是sdk的版本太多,打包的时候会遍历启动每个build-tool中的每个版本的aapt。解决方法,调出cmd命令窗口,执行taskkill /t /im java.exe即可,这可能是因为aapt运行时是依赖于java jdk的java.exe运行环境的
2017-06-09 11:17:37 1627
原创 个人笔记:关于java8 Lambda新特性
最近在研究Java8的新特性,Lambda(支持JDK8),虽然感觉有点晚,写这篇博客,这里对所学的知识进行一些整理,做个笔记,以便在今后的运用当中得到参考。首先说几个概念:功能接口:只有一个抽象方法(功能)的接口,后面也叫接口函数。针对上面的概念我想强调几点:功能接口必须只有一个抽象方法;功能接口中可以定义default方法,说到这里大家一定会疑惑,我给大
2017-06-08 10:20:23 548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人