- 博客(26)
- 资源 (3)
- 收藏
- 关注
原创 Android中Build类以及@SuppressLint("NewApi")和@TargetApi()区别
1、类结构Object类的子类。2、类描述 Information about the current build, extracted from system properties.从系统属性中提取设备硬件和版本信息。3、内部类3.1 Build.VERSION Various version strings.各种版本字符串。// 当前开发代号 Build.VERSION.CODE
2017-03-28 14:37:54 1149
原创 网易2017实习生招聘笔试题—奇怪的表达式求值
1、题目题目描述 常规的表达式求值,我们都会根据计算的优先级来计算,比如*/的优先级高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+,-和*)。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值是多少?输入描述 输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9.
2017-03-26 16:30:27 966
原创 网易2016实习研发工程师编程题——寻找第K大
1、题目有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。 测试样例: [1,3,5,2,2],5,3 返回:22、基本思想本文中不考虑优化算法,直接使用快排算法对数据先进行排序,然后返回排序好的第K大数据。有优化算法的给出方案。2、解决方案import java.util.*;pub
2017-03-25 00:32:21 605
原创 告白气球
时光荏苒,青春总是美好,杰伦的歌再循环一遍,心情有些平静也有些低落。最近有点累了,工作,学习,生活存在不同的问题,再承受,再坚持。因为人的一生是一张永远不能成为正式作品的草稿,是一场永远不能正式登上舞台的彩排,生命属于我们只有一次,到头来,我们自己是无法通过比较来检验出究竟是哪种生活方式更正确,于是我们没有必要把每一次的选择都看得是那样的重要,那样的沉重,我们尽可以去做一个凡夫俗子,随心所欲地去享受
2017-03-22 22:30:50 1780 1
原创 python中的Matlibplot绘图库
1、概述 Matplotlib的GitHub链接: https://github.com/matplotlib/matplotlib Matplotlib的安装链接: http://blog.csdn.net/walkandthink/article/details/45200597Matplotlib 是一个在 python 下实现的类 matlab 的纯 pyth
2017-03-22 02:52:44 16775
原创 Android中的IPC机制
1、概述 IPC(Inter-Process Communication),含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。2、Android中的IPC场景(1)单应用 一个应用因为某种原因自身需要采用多进程模式来实现,至于原因,比如,有些模块因为特殊原因需要运行在单的的进程中,或者为增大一个应用可使用的内存所以需要通过多进程来获取多份内存空间。Android对单个应用使
2017-03-16 18:16:13 636
原创 Android中Binder机制简单说明
1、概述 Binder是Android中跨进程间通信(IPC)的方式之一。直观来说,Binder是Android中的一个类,它实现了IBinder接口。从IPC角度来说,Binder是Android中的一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在Linux中没有;从AndroidFramework角度来说,Binder是Se
2017-03-15 15:04:11 373
转载 Android Binder机制原理
Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有的进程间通信IPC手段包括(Internet Process Connection): 管道(Pipe)、信号(Signal)和跟踪(Trace)、插口(Socket)、报文队列(Message)、共享内存(Share Memory)和信号量(Semaphore)。本文详细介绍Binder作为Android主要IPC方式
2017-03-15 11:06:16 390
转载 Android中RecyclerView源码解析
1、基本使用RecyclerView的基本使用并不复杂,只需要提供一个RecyclerView.Apdater的实现用于处理数据集与ItemView的绑定关系,和一个RecyclerView.LayoutManager的实现用于 测量并布局 ItemView。2、绘制流程众所周知,android控件的绘制可以分为3个步骤:measure、layout、draw。RecyclerView的绘制自然也经
2017-03-14 02:10:10 1615
原创 Tensorflow在Android上的应用(Windows、Mac、Linux)
1、概述作为一个Android开发者和Tensorflow爱好者,当发现tensorflow可以在Android平台开发,那必须来玩玩。大多数参考文章说,Tensorflow在Android上的应用只能在Linux系统编译,事实上不是,构建工具bazel 现在支持Windows、Mac、Linux三个平台,windows上没有尝试过,但应该也可以,跟着本文步骤,可以在各个平台实现。本文从搭建环境开始
2017-03-14 00:46:03 4984 2
转载 Android ListView工作原理完全解析,带你从源码的角度彻底理解
在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,ListV
2017-03-12 13:49:07 553
原创 Android Studio v2.3 进行NDK配置和使用
1、概述以前在eclipse上玩过NDK,现在想在Android Studio试试NDK,看了网上的一些教程,大多数比较老,步骤过时。本文根据最新android Studio版本进行NDK的配置,并进行基本使用。2、环境配置(1)安装NDK从菜单栏中选择Tools > Android > SDK Manager。点击SDK Tools选项卡。勾选LLDB,CMake和NDK。1)The An
2017-03-10 15:06:33 1606
原创 java排序算法(6)—归并排序
1、概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序基本思想:(1)将待排序数组分为分为两部分
2017-03-10 14:07:18 530
转载 感悟、资产和幸福感
随着阅历的加深,我关注的事物和接受的知识也在不断地发生着变化。大学毕业已经四年了,过去的半年中,我接触了一些看似不连贯的信息,因为觉得它们有用,就把这些信息全部记在了脑子中。直到最近,才发现一个片段正在解释和说明着另一个片段,而当我把这些片段信息串起来思考的时候,忽然有了一种开朗的感觉。我有一个习惯,就是当我感悟到一些东西的时候就把它写下来,因为在记录的过程中,我也会有一个更加系统和清晰的思路,于是
2017-03-10 13:46:17 452
原创 java排序算法(5)—快速排序
1、概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立排序。快速排序和归并排序是互补的:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并并以将整个数组排序;而快速排序将数组排序的方式则是当两个子数组都有序时整个数组也就自然有序了。快速排序基本思想:(1)先从数列中取出一个数作为基准数;(2)分区过程中,将
2017-03-09 21:02:51 436
原创 Android中Intent传递的四种数据类型以及传递方法
1、Bundle Bundle是将数据传递到另一个上下文中或保存,或者回复自己状态的数据存储方式,数据不是持久化状态。(1)简单用法//传递参数Intent intentSimple = new Intent(); intentSimple.setClass(MainActivity.this,Activity2.class); Bundle bundleSimple = new Bu
2017-03-08 14:43:22 5107
原创 java排序算法(4)—冒泡排序
1、概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。冒泡排序是依次比较相邻的两个数,将小数放在前面,大数放在后面。冒泡排序基本思想:(1)第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。(2)重复第一趟步骤,直至全部排序完成。2、代码实现package com.chunso
2017-03-08 09:47:07 568
原创 Android中的asserts和res/raw资源目录
1、assets目录 assets目录下称为原生文件,无法通过R资源清单类访问,这类文件在被打包成apk文件时是不会进行压缩的;(1)使用方法AssetManager assets = this.getResources().getAssets();((TextView)findViewById(R.id.txAssets)).setText( readStream(assets.o
2017-03-08 00:59:06 4448
原创 java中volatile、synchronized和lock解析
1、概述在研究并发程序时,我们需要了解java中关键字volatile和synchronized关键字的使用以及lock类的用法。首先,了解下java的内存模型:(1)每个线程都有自己的本地内存空间(java栈中的帧)。线程执行时,先把变量从内存读到线程自己的本地内存空间,然后对变量进行操作。 (2)对该变量操作完成后,在某个时间再把变量刷新回主内存。那么我们再了解下锁提供的两种特性:互斥(mut
2017-03-07 21:10:34 10608 7
原创 java排序算法(3)—希尔排序
1、概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。希尔排序是基于插入排序的的快速排序算法。对于大规模乱序排序数组插入排序很慢,因为它只会交换相邻的元素,例如,如果主键最小的元素正好在数组的尽头,要将它挪到正确位置就要就需要N-1次移动。希尔排序为了加快速度简单地改进了插入排序,交换不相邻的元素以对数组的局部进行排序,并最终用插入排序将局部有序的数组排序。希尔排序基本思想:(1)h
2017-03-07 00:36:25 444
原创 java排序算法(2)—插入排序
1、概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。插入排序基本思想:(1)每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序;(2)第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;(3)依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。2、代码实现package c
2017-03-06 15:49:30 578
原创 java排序算法(1)—选择排序
1、概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。选择排序基本思想:(1)首先找到数组中最小的那个元素,其次将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。(2)再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。(3)如此往复,直到整个数组排序。它在不断的选择剩余元素中的最小中,因此叫选择排序。2、代码实现package com.ch
2017-03-05 14:11:25 430
原创 Android中的Fragment回退栈
1、概述我们知道Activity可以通过栈的方式管理Activity(standard、singleTop、singleTask、singleInstance),那么Fragment怎么实现回退栈,官方提供了addToBackStack(String name)来实现fragment的回退栈,但是效果太差。而replace方法替换Fragment,会造成Fragment的不断销毁和创建,影响效率。本
2017-03-04 20:59:00 1365
原创 Android的Handler深入解析
1、概述前面写过一篇文章《Android中的消息机制》简单分析了异步消息机制,本文将深入解读Handler的原理。2、基本概念单线程模型中的Message、Handler、Message Queue、Looper之间的关系:Handler获取当前线程的Looper对象,Looper用来从存放Message的MessageQueue中取出Message,再由Handler进行Message的分发和
2017-03-04 19:38:18 2170
原创 通过注解和反射编写一个android注解框架
1、概述 你可以 随便找个人依靠 那么寒冬后 炎夏前 谁会给你春一样的爱恋 日落后 最美的 时光已溜走——《三十岁的女人》上篇文章《java反射机制和自定义注解原理分析和实例》已经介绍了java的反射机制和自定义注解的基本原理和简单实例。本篇文章模仿android的框架xUtils的ViewUtils模块,完全注解方式就可以进行UI绑定和事件绑定,无需findViewById和setClick
2017-03-03 15:20:02 798
原创 java反射机制和自定义注解原理分析和实例
1、概述熟悉android开发的都会了解到Android的xUtils框架的ViewUtils模块,简化了findViewById的编写,通过完全注解方式就可以进行UI,资源和事件绑定。实现基本原理就是通过java中的注解和反射实现,本文主要介绍java中的反射机制和自定义注解的原理和实例编写。2、反射机制 定义:反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意
2017-03-02 22:36:15 1716
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人