- 博客(64)
- 资源 (4)
- 收藏
- 关注
原创 程序员必会技能系列(2)git的使用-2
git从当前修改分支切换到其它分支修改内容,git删除所有当前未提交的内容,git一次完整的提交到远程分支的过
2017-03-24 09:29:39 500
原创 程序员必会技能系列(2)git的使用-1
git 克隆项目、查看所有分支、创建一个分支、切换分支、上传新的分支、创建一个新的文件并提交、合并分支、提交当前修改的内容、HEAD、git rebase、Git目录、查看远程分支、拉取远程分支、删除分支、恢复到某个版本、查看某次commit的修改内容、查看某个文件的修改历史、查看所有分支(本地和远程)
2017-03-10 08:17:47 606
原创 程序员必会技能系列(1)MarkDown的基本用法
中文官方文档地址MarkDown是一种适用于网络的书写语言,目标是让文档更容易读、写和随意改。一般我们都会在写README.md时会用到。下面是我总结的几个常用的语法。# 标题一## 标题二### 标题三#### 标题四* 列表一* 列表二* 列表三1. 列表一2. 列表二3. 列表三[京东](ww
2017-03-03 14:18:08 812
原创 android高级动画——贝塞尔曲线
简介:贝塞尔曲线是计算机图形学中相当重要的参数曲线。可以用数学公式来描述一段曲线。用途:1、贝塞尔曲线可以帮助我们在二维平面内用平滑的曲线画出各种图形。2、同时也可以给动画提供一个平滑的曲线运动路径。android中我们通过Path可以画出二阶跟三阶贝塞尔曲线。复杂的图形我们可以组合几个二阶和三阶的贝塞尔曲线就可以实现。这次整理一下沿着二阶贝塞尔曲线运动的例子。下面是一个沿着二阶贝
2017-02-26 13:09:21 2682
原创 android跨应用aidl通讯
AIDL定义:可以定义客户端跟服务使用进程间通信(IPC)进行相互通信时都认可的编程接口。AIDL用途:将其对象分解成操作系统能够识别的原语,并将对象编组成跨越边界的对象。AIDL使用环境:允许不同应用的客户端用IPC方式访问服务,并且想要在服务中处理多线程时。不需要AIDL的情况:[1].使用Binder:不需要执行跨越不同应用的并发IPC,就应该通过实现一个Binder创建接口;[
2017-02-17 18:11:19 1272 1
原创 Android高级动画——Vectordrawable
一、简介:vectordrawable允许你基于xml创建一个矢量图形。在API21时第一次发布。二、优点:1、体积小;2、一个图片适配所有屏幕;3、可以实现非常优美的动画效果;4、svg格式的图片可以转化为vectordrawable。三、兼容性:使用Gradle 1.5+和AppCompat23.2+,可以支持Android3.0+的动态和静态VectorDrawable。
2017-02-16 14:57:26 2393 1
原创 mac 终端总是显示“进程已完成”
自己更改了.bash_profile文件导致每次打开终端都会显示以下内容:Last login: Mon Aug 18 10:00:36 on ttys000[进程已完成] 试了网上的好多方法都行不通,下面的步骤是我的解决方案:1:下载ShowOrHide.app(下载链接),下载完成后安装app,点击“show”;2:
2017-01-11 18:29:25 10609 3
原创 android Data Binding讲解二
第二节主要讲两点:1、观察者对象;2、动态绑定。一、观察者对象:一个继承了BaseObservable的类,可以允许绑定一个监听器到附加对象上,这个对象可以监听到这个属性的变化。例子如下:代码:1、在要生成BR字段的属性的getter函数上加上@Bindable;2、在setter函数里加上notifyPropertyChanged(BR.XXXX); BR.XXXX实在编
2016-12-27 17:00:20 436
原创 android Data Binding讲解一
基本概述:Data Binding的主要功能是把数据跟UI页面绑定。跟它类似的工具包像ButterKnife。它是一个支持包,所以你可以用于任何Android2.1以上的版本;优点:1、提高开发效率;2、性能提升;3、保证执行在主线程。性能提升:findViewById需要遍历整个viewgroup,Dataing Binding只需要一次查找。下面
2016-12-26 15:25:27 399
原创 android多渠道打包(慕课笔记)
文章通过两种方式标记渠道:1、修改strings.xml中的字段;2、修改AndroidManifest.xml中的值; 三个步骤:1、在strings.xml中的influx(用gradle打包时要注释掉这句)和AndroidManifest.xml中的meta-dataandroid:value="${FLAG_VARIOUS_CHANNEL}"andr
2016-12-21 13:41:32 516
原创 Android中的各种Drawable讲解(慕课笔记)
drawable概述1、drawable是一个抽象类,是对可绘制物件的抽象。与View不同Drawable没有事件和交互方法。2、Drawable有好多子类操作具体类型资源,比如BitmapDrawable是用来操作位图;ColorDrawable用来操作颜色;ClipDrawable用来操作剪切板。二、Drawable原理1、draw(Canvas canvas)
2016-12-21 11:20:04 522
原创 ViewPager箭头指示器实现(慕课网总结)
最近,在看慕课网上的android课程,想学习其它达人的技巧与编程方法。ViewPager箭头指示器的效果如下:咱们主要看代码,共分三步,步骤如下:第一步:编写ViewPagerIndicator类,代码如下:public class ViewPagerIndicator extends LinearLayout{ public static final int DE
2016-04-12 10:26:46 1735
原创 android中修改tablayout中的字体大小和颜色
按步骤来吧。 一、activity_main.xml:<android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_heigh
2015-12-29 10:35:57 43266 3
原创 android中使用饼形图
在很多android开发中都要用于图表,下面特别讲一下饼形图的用法。效果如下:第一步:从网上下载MPChartlib.jar;第二步:在布局文件abc.xml中引入饼形图:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="ma
2015-11-25 16:18:00 4270 1
原创 EditText状态变化——选中和未先中(底部变颜色的线)
当我们自定义EditText时,怎么让它同样有选中和未选中两种状态?我们用EditText底部变颜色的线来说明这个例子。共分三步。第一步:在drawable文件夹下建立line_et_normal.xml和line_et_focus.xml两个资源文件,代码如下:line_et_normal.xml
2015-11-20 18:56:36 9801
原创 设计模式笔记——工厂模式
《Head first设计模式》中使用比萨做例子,我们这里也都用比萨举例。我们假设要开一家比萨店。工厂模式产生的压力主要来自于增加更多类型的比萨类。同时避免直接实例化对象,因为我们设计程序时应该面向接口编程。这样会让程序更容易维护和扩展,使其更有弹性。定义:工厂方法方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。遵守的原则:依赖倒
2015-10-23 14:54:45 486
原创 设计模式笔记——装饰者模式
应用场景举例:一碗普通的面条,加上几块红烧牛肉就是红烧牛肉面,再加上点辣椒就是香辣牛肉面,如果换成加老坛酸菜就是老坛酸菜面(这酸爽)。Java世界中的装饰者是 I/O类,如InputStream is=new LineInputStream(new FileInputStream("file.txt"));为什么要使用装饰者:1:防止类爆炸,因为除了上面提到的还有臊子面、油泼面,有微辣
2015-10-16 15:03:25 494
原创 设计模式笔记——观察者模式
应用场景举例:观察者模式就类似于日常生活中订阅报纸,当你订阅了报纸后,报社每次出版新的报纸,都会送到你家。 定义:观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 实现:在Java中观察者模式有两个实现方法,一种是自定义实现,另一种是Java内置观察者。下面分别分析下两种实现方法。设计原则:1、为了交互对象之间
2015-10-14 15:56:27 501
原创 BroadcastReceiver与LocalBroadcastManager应用及区别
android中有两种广播机制,一种是BroadcastReceiver,另一种是LocalBroadcastManager。现在来简单介绍一下两者。一、应用场景 1、BroadcastReceiver主要应用于应用之间传递消息; 2、而LocalBroadcastManager主要应用于应用内部传递消息,比broadcastReceiver更加高效。二、安全
2015-10-12 11:18:37 3190
原创 分享应用中的文件给其它应用
使用FileProvider把本应用的文件分享给其它应用。第一步:在res目录下建立一个xml文件夹,然后在res/xml/下建立file_paths.xml。file_paths.xml中的内容:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/a
2015-09-11 13:59:38 2619
原创 韩鱼总结
感觉非常努力的工作了四个月,最后团队要解散了。自己总结了下项目开发过程中的问题。希望在下一个项目中不要再犯。2015年3月底入职,接手项目的时候,项目的雏形已经有了。但有一个非常大的问题是,这个项目像是一个不怎么懂android的人写的,几个切换页面的代码都写在了一个文件中,非常非常的乱,并且Bug非常多。*1.专业很重要,术业有专攻,一个以前写Java Web的如果不潜下心来学习一段时间
2015-08-23 18:33:46 744
转载 JSON Compression algorithms
JSON (Java Script Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machin
2015-08-04 15:00:01 651
原创 Android手机处理图片兼容性问题
Android图片处理整理总结:1:Android拍照的时候我们会遇到一些状态,比如用三星手机拍照的话,有可能在拍完照片后,照片会自动旋转,下面这个方面是把旋转的照片还原回来:Bitmap bitmap = BitmapFactory.decodeFile(Const.ACT_CREATE_PIC_PATH.concat(photoName));int angle= imageUtil
2015-05-11 16:26:10 1586
原创 设计模式笔记——策略模式
一直想对看过的——head first设计模式做一些自己的总结,现在终于能静下来写点东西了。设计模式主要是告诉我们如何组织类和对象来解决某种问题。Java的类库中很多都遵循设计模式的要求,比如IO库运用到了装饰者模式。今天先总结下——策略模式,定义:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。原则一:如果新的需求一来,我们就需要更改代
2015-03-22 20:10:38 846
原创 使SwipeRefreshLayout可以上拉加载更多
这两天刚刚上班,忙里偷闲的改写了一下android.support.v4.widget.SwipeRefreshLayout类,使其可以上拉加载更多数据。其中对android.support.v7.widget.RecyclerView支持更好一些,当然也支持listview。这次我也终于有机会能做一个有用的项目供大家使用,以前总是使用别人的开源项目。如果对程序有疑问可以发邮件到
2015-02-27 17:39:30 14305 7
原创 使用TabHost和ViewPager实现页面切换
在android的开发过程中经常会遇到页面切换的问题,其中一个解决办法是使用fragment加Handler来实现,不过有些情况下这种方法并不是最好的选择。比如,你需要滑动切换页面的时候。这时使用TabHost和ViewPager来实现会更加方便。文章参考API文档中Creating Swipe Views with Tabs(文章路径Training->Implementing Effect
2015-01-04 10:54:35 7480
原创 翻译文章总结
非常喜欢去了解和学习新的编程知识,所以去翻译了一些英文文章。刚开始翻译的文章有些太直白,不是非常好,正在努力的改进,不过很多时候比较懒读了很好的文章,想着去翻译,但时间一长就。。。1、Java 8: Lambdas, Part 1,了解Java8 中的lambda表达式http://ifeve.com/java-8-lambdas-part-1/;2、Java8:Lambdas(二
2014-12-25 21:42:09 1289 1
原创 handler机制分析
最近感觉Handler不是非常懂,所以阅读了Handler的源码。先翻译一段源码中对Handler的介绍:Handler通过线程的MessageQueue允许你发送、处理Message和Runnable对象。每一个Handler实例都关联一个单独的线程和线程的消息队列。当你创建一个新的Handler,从这时起这个Handler被绑定在线程和线程队列上,它将为消息队列提供消息和runnable,并且
2014-11-26 15:46:23 891
原创 幸运摇摇看项目总结
应用发布前总结下项目开发过程中遇到的技术和非技术的问题,虽然好几个人测试了很长一段时间,但是我还是担心会出什么差错。先总结非技术方面的。非技术方面: 1:还是文档,当往svn更新文档时,必须要先upate,然后修改,最后commit。提交文档时必须通过大家,让大家即时更新和了解更新的内容; 2:当应用出现问题时,先不要说自己的没错,最好大家一起测一遍
2014-11-25 15:28:00 1019
原创 android网络请求与页面切换
在android开发中会遇到使用fragment切换页面,并且切换的页面都会有网络请求,网络请求成功后会更新相应的fragment页面。如果使用异步网络请求组件android-async-http,会出现这样的情况,当你快速的切换fragment时,每个fragment都会发出新的请求。例如:fragmentA发了网络请求,又切换到了fragmentB,fragmentB又发了网络请求,然后快速的
2014-11-25 13:33:34 5262 3
原创 为Activity设置开启关闭动画
自己为Activity做的启动、关闭动画。在AndroidManifest.xml中<activity android:name="com.test.PrizeActivity" android:theme="@style/activity_styleprize"/>在res/values/styles.xml中设置activity_styleprize
2014-11-18 15:36:51 11678 1
原创 获得listview中的edittext文字
这周写应用的时候遇到一个问题,就是在listview中的edittext可以输入,但不能获得到edittext中输入的文字。解决的方法是给edittext添加TextWatcher监听事件,并在其中让edittext在输入时通过调用dispatchKeyEvent()方法一直获得焦点,最后在setOnKeyListener()中获得edittext输入的文字。示例代码如下(代码全部写在adap
2014-11-07 17:26:27 3211
原创 android中的返回键与Activity
我在做应用时遇到一个问题,就是在启动主页面时需要预先加载一些数据,我是在一个加载页中处理完这些数据然后再转到主页面,但当我在主页面中按返回键时,系统会返回加载页面。我不希望加载页在使用完之后还被保留在任务中。Android的官方文档中这样描述的返回栈、任务和activity的默认关系:1:当从Activity A中启动Activity B时,Activity A停止,但是保存了它的
2014-11-01 15:24:06 9347
原创 使Gallery时设置居左显示
Gallery中的图片默认是居中显示的,但是在很多情况下我们需要它居左显示,这样做有一个简单方法,就是把Gallery的left设置为负多少,如下面的方法:Drawable drawable=categoryItem.getCategorys().get(0).getImage();DisplayMetrics metrics = new DisplayMetrics();activi
2014-10-13 19:42:23 2871
原创 Android中自定义组件和它的属性
好长时间没有更新博客了,本来想积累点有深度的东西发,但一直没有找到很好的点。所以,写一些基础的东西,就当积累吧。Android开发中难免会用到自定义的组件,下面以ImageButton为例来介绍怎么自定义组件和它的属性:第一步、在values/attrs.xml中为组件自定义属性:
2014-10-09 21:55:16 1185
原创 android中drawable资源的解释及例子
文章中的内容参考Dev Guide中的Drawable Resources,英文好的朋友可以直接去读英文。总结这篇文章的目的是自己在使用drawable资源遇到一些问题跟大家分享下,同时整理下自己对drawable的理解。 drawable资源共有10种,包括Bitmap文件、Nine-Path文件、Layer List、State List、Level list、Transit
2014-08-15 14:25:49 7468
原创 android动态控制组件的位置、大小和新的动画
一、动态设置组件的位置其中view是需要改变位置的控件,top是需要设制的位置;private static void setLayoutX(View view,int top) {//克隆view的width、height、margin的值生成margin对象 MarginLayoutParams margin=new MarginLayoutParams(view.get
2014-08-14 11:18:18 8546
GiveYouShowOrHide
2017-01-11
JAVA 函数查询。。。。。。。
2008-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人