- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 Hadoop 学习1
好久没有写博客了……! 这里总结一下Hadoop安装过程中的一些问题,像如何安装JDK、ssh、下载Hadoop这里我就不提了,网上已经烂大街了。 伪分布式的相关配置 hadoop-env.sh# The java implementation to use.export JAVA_HOME=/usr/java/jdk1.8.0_131 yarn-env.sh# export JAVA_H
2017-06-02 20:24:52
316
原创 LeetCode——backtracking分析
最近刷leetcode,在做到backtracking题目的时候总会有一些疑惑,其实对于backtracking题目都是很类似,代码也是有一定的模板的,这里总结一下: 一般的模板: 第一题:Subsets (题目)Given a set of distinct integers, nums, return all possible subsets. Note: The solution se
2016-09-05 18:22:57
707
原创 Android——初识RxJava
最近在看RxJava,在这里分享一下自己看的一些介绍RxJava不错的文章。 这是RxJava和RxAndroid在Github上的链接: RxJava Github主页:RxJava Github主页 RxAndroid Github主页:RxAndroid Github主页 下面是大头鬼Bruce对RxJava介绍的译文: 1.深入浅出RxJava(一:基础篇) 2.深入浅出RxJ
2016-06-18 15:42:21
3704
原创 Android优化列表的卡顿现象
重要的一点:不要在主线程进行耗时操作即可提高滑动的流畅度不要在getView中执行耗时操作。直接在getView中加载图片肯定会卡顿,因为加载图片是耗时操作,这种操作必须采用异步的方式处理,如ImageLoader中的实现控制异步任务的执行频率,getView中使用ImageLoader的bindBitmap方法异步加载图片,但是当用户频繁的上下滑动,这样一瞬间会有上百个异步任务,这些异步任务会
2016-05-26 16:19:05
3577
原创 Android——自定义View(学习Android开发与艺术探索)
ViewRoot和DecorViewViewRoot对应于ViewRootImpl类,是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。在ActivityThread中,当Activity对象被创建完毕后,会将DecorView添加到Window中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和DecorVie
2016-05-26 16:14:48
5492
原创 图片加载库Glide——解决图片错乱+无法设置tag
今天在写一个图片加载类ImageLoader,在使用的时候想用Glide替代我写的ImageLoader,然后问题就出来了!!!第一个问题:在使用自己写的ImageLoader的时候,为了防止item复用导致的图片错乱,设置了Tag 如下代码 @Override public View getView(int position, View convertView, Vi
2016-05-23 21:20:07
20033
1
原创 Android——View的事件分发机制(学习Android开发艺术探索)
点击事件的事件分发(其实就是对MotionEvent事件的分发过程),当一个MotionEvent产生以后,系统需要把这个事件传递给某个View,这就是分发过程。 此分发过程主要由三个方法组成: public boolean dispatchTouchEvent(MotionEvent ev):用于事件的分发,若事件传递给当前的View此方法就会被调用,返回结果受当前View的onTouchEv
2016-05-19 09:52:43
590
原创 Java中二进制和十进制之间的相互转化
这里我就直接给出代码了: //十进制转二进制 public static String decimalToBinary(String decimalSource) { BigInteger bi = new BigInteger(decimalSource); //转换成BigInteger类型 retu
2016-05-09 20:17:10
1814
原创 LeetCode——Path Sum
第一题:Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example: Given the below binary t
2016-04-25 21:07:31
585
原创 Android——天气预报(MVP、Gson和天气、百度地图Api的练习)
首先给出效果图: 使用到的相关知识: Android开发中的MVP架构 使用Gson解析数据 天气预报(随身云天气预报API)、百度地图API(Geocoding API) 很适合新手学习(本人也是Android菜鸟),有兴趣的可以下载源码看一下。 下载地址: https://github.com/Knightlcy/LocalWeather
2016-04-21 15:25:06
1586
原创 Android——MVP架构
MVC和MVP的区别MVC(Model View Controller),Model就是模型、View是视图、Controller就是控制器,(对应于Activity)。 Model在MVC架构中是真正的业务逻辑实现层,所以Model实际上是Business Model(业务模型)。而Controller主要负责把View的请求转发给Model,再把Model处理结果通知给View,Control
2016-04-20 14:27:34
471
原创 Android——多线程
Android上的进程在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现不足时,Android会尝试停止一些进程从而释放足够的资源
2016-04-18 12:57:20
643
原创 Android——四大组件的协同工作
在我们与一个app进行打交道的时候,我们看到的页面就是Activity提供的,Activity是人机交互的第一界面,负责向我们展示一些信息和结果,这些信息可以通过资源的获取,可以是Service从后台返回的数据,也可以是ContentProvider获取到的其他应用的信息,同样可以是BroadCast Reciever获取到的广播信息。四大组件之间的交互主要是通过Intent来传递信息、交换数据。四
2016-04-13 10:18:57
434
原创 Android——自定义动画
自定义动画:重写父类的initialize完成初始化操作,实现applyTransformation逻辑 第一个例子:实现电视关闭时屏幕的关闭效果public class CustomAnim extends Animation { private int mCenterWidth; private int mCenterHeight; @Override publ
2016-04-11 16:33:01
454
原创 Android——属性动画(Property Animation)
最近在看Android群英传,主要针对Android群英传中的介绍,对Android中属性动画进行概括一下。 相比于视图动画,属性动画的一个最大的优点就是动画可以响应事件,最常使用的几个类: ObjectAnimator, PropertyValuesHolder,ValueAnimator,AnimatorSetObjectAnimatorObjectAnimator是属性动画中最重要的实行类
2016-04-11 15:49:26
474
原创 Android——RecyclerView和CardView的学习
本文主要通过一个简单小例子来简单的介绍一下RecyclerView和CardView,要是想详细的学习RecyclerView,可以看鸿洋的写的关于RecyclerView的博客。 RecyclerView是对ListView的升级,与ListView相比一个明显的区别就是RecyclerView将ViewHolder的实现封装起来,用户只需要实现自己的ViewHolder,就可以实现回收服用每一
2016-04-09 13:18:12
559
原创 Android 绘图XML——Selector
selector可以实现归于不同的事件设置不一样的图像,例如点击按钮前后按钮背景变化 selector标签,可以添加一个或多个item子标签,而相应的状态是在item标签中定义的。定义的xml文件可以作为两种资源使用:drawable和color。作为drawable资源使用时,一般和shape一样放于drawable目录下,item必须指定android:drawable属性;作为color资源
2016-03-29 13:45:36
482
原创 Android 绘图XML——layer-list
layer-list可以用来实现图层,图片依次叠加<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@mipmap/ic_launcher"></item><itemandroi
2016-03-29 13:44:06
544
原创 Android 绘图XML——Shape
Shape可以在XML中绘制各种形状,功能十分强大,能实现扁平化、拟物化和渐变 使用shape可以自定义形状,可以定义下面四种类型的形状,通过android:shape属性指定: rectangle: 矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等 oval: 椭圆形,用得比较多的是画正圆 line: 线形,可以画实线和虚线 ring: 环形,可以画环形进度条 下面是常用到
2016-03-29 11:04:36
675
原创 Android——屏幕尺寸
一.屏幕参数屏幕的大小:就是常说的手机屏幕是几寸的 屏幕的分辨率:例如 小米三分辨率1920×1080 宽上有1080个像素 高上有1920个像素 每英寸的像素:PPI/DPI 对角线的像素点除以屏幕的大小 系统的屏幕密度 官方给出的标准的DPI的值: 密度:ldpi 密度值:120 分辨率:240X320 密度:mdpi 密度值:160 分辨率:320X480
2016-03-29 10:57:16
475
原创 Android——Scroll分析
一:滑动的产生原因滑动一个View原理:就是通过不断的改变View的坐标。 实现View的滑动,必须监听用户触摸的事件,根据触摸传入的坐标,动态的改变View的坐标,从而实现滑动 Android的坐标系:Android中屏幕的最左上端的点就是原点,向右就是X坐标轴的正方向,向下就是Y坐标轴的正方向 系统提供的getLocationOnScreen(intlocation[])方法获取Andro
2016-03-29 10:55:49
379
原创 Android——Volley学习
Voley简介Android系统中主要提供两种方式进行HTTP通信,HttpURLConnection和HttpClient。在进行使用的时候如果不进行封装,很容易出现很多重复的代码。 Google推出网络通信框架Volley。Volley可进行HTTP通信,也可以加载网络上的图片。Volley适合进行数据量不大,但通信频繁的网络操作,不适合大数据量的网络通信。 使用Volley发送HTTP请求
2016-03-29 10:49:52
374
原创 Android——Service(服务)
1.What is a Service?服务是Android中实现后台运行的解决方案,适合去处理那些不需要与用户进行交互且要求长期去运行的任务(服务的运行不依赖于任何的界面,即使当程序被切换到后台的时候,或者用户打开另一个应用程序,服务仍能够保持正常的运行)。注意点: (1)服务并不是一个独立的进程,而是运行在创建服务所在的应用程序进程当中,它只是其中的一部分。 (2)服务并不是一个线程,它并
2016-03-29 10:41:49
405
原创 活动的生命周期(Activity Lifecycle)
1.活动是通过活动栈进行管理的,当一个新的活动开始时,它被放在栈的最顶端,在栈中它的前一个活动会放在当前新活动的下面。2.一个活动有最重要的四种状态: 当它在屏幕的最前端的时候(在栈的顶端),此时它是处于运行状态。 当一个活动依旧是可见的 ,但是并不在屏幕的最前端(不在栈顶),此时它是处在暂停状态,暂停状态的活动仍旧是存活的,但是当内存极低的极端情况下,是可以被回收的。 当一个活动被另一个活动
2016-03-18 15:48:40
1349
原创 Java集合
1.Java集合概述(1) 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。 另一方面,使用Array存储对象方面具有一些弊端(一旦创建,数组长度不可变,真实的数组存放的对象的个数是不可知的),而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。 (2)Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数
2016-03-13 11:48:53
400
转载 Java输入输出 Stream
1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。
2015-12-17 19:11:14
2090
原创 排序算法(3):冒泡排序
冒泡排序:遍历文件,如果近邻的两个元素大小顺序不对,就将两者的顺序进行交换,重复这样的操作,直到整个文件排好序。从前到后排:首先将第一个记录的关键字和第二个记录的关键字进行比较,若第一个记录的关键字大于第二个记录的关键字则交换,然后比较第二个记录和第三个记录的关键字。依次类推,直到第n-1和n个记录的关键字进行比较为止。上述是第一趟冒泡排序,将关键字最大的放在了最后的位置。然后进行第二趟冒
2015-12-10 14:33:40
455
原创 调用摄像头和相册(调用摄像头拍照和从相册中选择图片)
public class MainActivity extends Activity { public static final int TAKE_PHOTO=1; public static final int CROP_PHOTO=0; public static final int CHOOSE_PHOTO=3; private ImageView picture; private
2015-12-08 12:07:00
1251
原创 排序算法(2)-直接插入排序
直接插入排序就是在已排序的有序序列里插入一个新的记录仍然有序,其插入位置的确定就是将带插入的记录与有序中的记录依次比较找到合适位置并插入。时间复杂度:n的平方算法实现:设置监视哨主要是防止数据后移时丢失void InsertSort(int a[], int n) { int i, j; for (i = 2; i <= n; i++) {//数组下标从2开始,a[0]作为监视
2015-12-07 22:03:49
591
原创 排序算法(1)-简单选择排序
简单选择排序的工作过程:首先选出数组中最小的一个元素与第一个元素进行对换,然后在剩下的元素中选出最小的与第二个元素进行交换...依次类推。时间复杂度:关键字间的比较次数为n(n-1)/2次,移动的操作次数较少,最小值是0,最大值是3(n-1)代码实现:void SelectSort(int a[], int n) { int i, j; int min,temp; for (i =
2015-12-07 20:13:45
673
原创 App Bar上的一系列操作
要点:共三部分1.Adding and Handling Actions(添加和处理操作)2.添加 Up Action3.Action Views and Action Providers第一部分:Adding and Handling Actions(添加和处理操作)1.Add Action Buttons(添加操作按钮)为了在action bar添加行为, 在r
2015-12-06 21:49:03
692
转载 New UI-为TextView设置超链接跳转的三个方法
New UI-为TextView设置超链接跳转的三个方法本节引言:本节主要介绍的是如何为TextView设置超链接,跳转到浏览器,短信,拨号界面等方法分别用三种:①使用SpannableString来实现②使用autoLink属性来实现③使用HTML的标签来实现那么开始本节的内容!本节正文:1.通过
2015-12-06 14:36:24
592
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人