- 博客(268)
- 资源 (22)
- 收藏
- 关注
原创 github项目之仿小猪巴士车牌显示
小猪巴士车牌验票显示最近坐车,用的是小猪巴士。看到小猪巴士的车牌验票显示非常的特点,觉得非常有意思,并且实现又简单,就自己将其实现了。效果图核心代码我觉得这个显示有自己特点的地方有二个: 1.背景显示 开始觉得这个是不是比较难啊,后来发现,这个直接设置背景图片的方式就可以了,非常简单:XML文件实现:android:background="@drawable/ticket_intercity_g
2016-12-15 12:24:40 1638
原创 android核心技术之性能分析工具Memory Monitor
Memory MonitorAndroid Monitor provides a Memory Monitor so you can more easily monitor app performance and memory usage to find deallocated objects, locate memory leaks, and track the amount of memory
2016-12-10 12:16:20 1112
原创 android核心技术之性能分析工具Systrace
SystraceSystrace collects system and application process execution data and generates detailed, interactive reports from devices running Android 4.1 and higher.Systrace 是用来收集系统和应用的数据信息和一些中间生成数据的细节,在And
2016-12-09 14:00:23 13383 1
原创 android核心技术之性能分析工具TraceView
前面的话有一次,被一个高大上的公司面试问到TraceView是做什么的,不知道,于是被人鄙视了。当时觉得别人好高大上啊,这么牛的东西都知道,而我只是听过这个名字,完全不清楚是个什么东东,果然是好公司啊,这个东东一定非常高深。然后晚上我百度了一下,看了几个博客,再然后自己写了一个Demo,就明白了,原来是一个性能分析定位工具,只要用过,就是如此的简单,对于所有人都是零门槛的那种,哎,好多面试都是扯蛋。
2016-12-07 18:47:09 1255
原创 github项目之下拉刷新(二)
效果图用法我也是先参考https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh,然后将其中的只有TextView的下拉刷新效果实现了。建议您先下载此项目,用androidstudio打开,验证是可以正确的运行的。然后,先看看这里面的样例。因为是封装好的库,我们调用其实是非常简单的。然后,再写一个Demo,看看自己能不能在自己的项目的添加成功
2016-12-07 12:13:10 1060
原创 github项目之下拉刷新(一)
效果图使用方法在布局文件: 定义一个控件:<com.hxm.demo.pulltorefresh.PullToRefreshListView android:id="@+id/android:list" android:layout_height="fill_parent" android:layout_width="fill_parent"
2016-12-07 12:11:01 1195
原创 github项目之自动滑动的viewpager
效果图关键代码1.使用接口: 定义:private AutoScrollViewPager autoScrollViewPager ;private CustomPagerAdapter pagerAdapter;使用autoScrollViewPager :pagerAdapter = new CustomPagerAdapter(drawbleDatas,this);autoScrollVi
2016-12-02 12:09:23 1110
原创 github项目之自定义图片形状(圆形和圆角矩形)
效果关键代码分析1.定义paintpaint = new Paint();paint.setAntiAlias(true);2.使用图片来渲染paintBitmapShader shader = new BitmapShader( Bitmap.createScaledBitmap(image, canvasSize, canvasSize, false), Shader.Tile
2016-11-28 17:39:30 1594
原创 github项目之左右滑动的ListView
效果图类图代码分析主要类的介绍:(1)SwipeMenuCreator接口 接口SwipeMenuCreator,主要是创建Menu界面(2)SwipeMenuItem类 此类描述的是单个Menu界面的显示,也就是一个图片,一个字体的显示。(3)SwipeMenu类 此类,主要是显示ListView右边的Menu,是要是由SwipeMenuItem组成(4)SwipeMenuListView类
2016-11-26 13:22:07 1406
原创 github项目之安卓开发小助手
安卓开发小助手是我开发的一个小工具集:现在主要有下面几方面的内容:1.android develop helper—-安卓开发小助手 安卓开发小助手的主界面:2.显示手机所有的应用详细信息可以显示手机所有的应用的详细信息,可以对手机的所有应用进行管理,是手机综合应用管理的强大利器,许多问题我都是借助此功能定位应用,解决问题3.插入通话记录 可以批量给手机插入多少条,什么类型,什么电话号码的通话记录
2016-11-25 13:27:46 1967
原创 java核心技术之直接选择排序算法
基本思想直接选择排序是选择排序的一种,其排序速度比冒泡排序要快一些,是常用的排序算法之一。 其基本思想是的将指定排序位置与其他数组元素分别比较,如果满足条件就交换元素值。注意,这里与冒泡排序的区别是不是交换相邻元素,而是把满足条件的元素与指定的排序位置交换,这样排序好的位置逐渐扩大,最后整个数组都成为已排序好的数组。算法示例每一趟从待排序的数组元素中选出最小的或最大的一个元素,顺序放在已排序好的数
2016-11-23 21:42:38 877
原创 java核心技术之反转排序算法
基本思想反转排序,就是以相反的顺序把原来的数组的内容重新排序。比较简单,也是经常用到的。算法示例实现代码:ReverseSort.javapublic class ReverseSort { //反转排序算法的实现 public static int[] run(int[] array) { int temp; for (int i = 0; i <
2016-11-23 21:36:26 1157 5
原创 如果我是面试官,我要出什么面试题(持续更新)--参考答案
开发的基础什么样的子程序是高质量的?(什么样的方法或函数是高质量的)参考答案: 这是《代码大全2》的第7章高质量的子程序讲解的内容,我大概总结了一下: (1)方法的名称要清晰描述方法的功能,建议是动词+宾语(例如getID) (2)方法的职责单一,功能明确(是符合单一职责原则) (3)方法的长度合适,不要太长,也不要太短,最好是体现接口隔离原则,接口尽量颗粒化 (4)方法的参数数量和顺
2016-11-19 12:00:05 1205
原创 如果我是面试官,我要出什么面试题(持续更新)
最近在看书,觉得自己也是可以出一些非常好的面试题,真的是非常的好,可以测试一个人的真实水平。哈哈,来吧,就积累几道吧,以后做面试官直接来用。开发的基础什么样的子程序是高质量的?(什么样的方法或函数是高质量的)设计原则和设计模式请简述6大设计原则请简述23种设计模式(再写几个常见的几中设计模式的UML图)java部分简述抽象类和接口简述String,stringBuffer,string
2016-11-19 11:43:51 1017
原创 设计模式之空对象模式--- Pattern Null Object
模式的定义空对象模式(Null Object Pattern)定义如下:Provide an object as a surrogate for the lack of an object of a given type. The Null Object provides intelligent do nothing behavior, hiding the details from its col
2016-11-16 20:57:28 1953
原创 Java核心技术之String,stringBuffer,stringBuilder
定义String:字符串常量 StringBuffer:字符串变量 StringBuilder:字符串变量String是“字符串常量”,也就是不可改变的对象。如果用String来处理字符串的变化时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉,可想而知这样执行效率会有多低,所以String主要用来处理字符串常量。StringBuffer与StringBuilder是字符串变
2016-11-12 11:40:01 850
原创 Java核心技术之抽象类和接口
抽象类定义在了解抽象类之前,先来知道什么是抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void function();抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。[public] abst
2016-11-11 14:26:36 1024
原创 那些我们解过的bug之listview滑动不流畅
这是一个一年前的bug,因为我要写一篇专利,想到了他,就整理出来!bug描述客户提出了一个问题: (android 5.0 高通平台)【压力测试】:通话记录中有500个时滑动不流畅 通话记录中有500个通话记录,上下滑动时,不流畅一看,是一个性能优化问题,这种问题有点不是怎么好解决的。bug重现我想先看一下这个现象是什么情况,问题来了,如何在通话记录中添加500条记录信息啊,显然手动添加是不
2016-11-09 10:32:07 2641
原创 从oppo vivo手机开始散谈
前言当时看到oppo,vivo拿下第三季度的国内手机销量排行榜的冠军和亚军,心里有许多想法,就写下这个题目后,一直有事没有将这文章完结,今天来继续聊聊这个话题吧。小妹妹买机记在中国的一个很远很远的地方,那里有这样一个小妹妹,大家都喊她小美,小美的偶像就是那个帅得让她心碎的李易峰,李易峰喜欢的所有东西她都喜欢,小美对生活有一定的品味,她喜欢那些散发着美的东西,对于手机也是这样子。小美她最近想买一款外观
2016-11-02 11:23:46 2237 1
原创 android开发笔记之AsyncTask
引言android开发时,我们经常遇到处理后台的耗时的操作,并且要实时的把后台操作的情况显示在UI界面。 一般,我们会采用handler+Thread的方式来处理,但是此种方式逻辑比较复杂,自己要写许多代码,其实android提供了一个AsyncTask类,可以非常方便的处理此种需求。AsyncTask官方说明AsyncTaskandroid.os.AsyncTask<Params, Progre
2016-11-02 10:25:06 603
原创 android开发笔记之db数据库基本操作
写在前面的话android开发时,对于db数据库的增删改查的基本操作是一个重点,也是一个难点,我也是经常被这一块弄的有点狼狈不堪。好吧,那我们就好好的会一会这位哥,看一下他为什么这么不好搞。先声明一下,如果你对db数据库的基本操作不是怎么明白,可以先看一下参考资料中的Sqlite全面学习(一),Sqlite全面学习(二),Sqlite全面学习(三),特别是Sqlite全面学习(二),把db数据的一些
2016-10-31 20:18:24 2663
原创 android开发笔记之gedit配置
gedit 开发常见配置安装/更新gedit的插件 我们先安装更新一个gedit的插件,命令如下:sudo apt-get install gedit-pluginsEdit—Preferences的配置(1)View—-界面显示(2)Editor–编辑(3)Font & Color–字体和颜色(4)Plugins—插件View–Side Panel 显示左边的已打开文件列表 嵌入终端
2016-10-24 21:23:44 805
原创 android开发笔记之锁屏界面未读短信未接来电提醒(android 4.4)
客户需求最近在做一个项目,android 4.4系统,客户要求在锁屏界面有未读短信未接来电的提醒功能。效果图关键技术(1)读取未接来电的数量主是是判断db数据库中的type和new二个字段是否同时是Calls.MISSED_TYPE 和1(type == Calls.MISSED_TYPE,new == 1).public int getUnreadCallNum(){ Log.
2016-10-19 10:34:21 2206 2
原创 android开发笔记之日期显示格式
日期特定的显示方式做订单时,客户经常要求在特定界面,日期要按什么样的格式显示。比如launcher界面,锁屏界面,各个ui。真是一会一个需求。日期显示的格式在设置—日期和时间—有一个日期格式的选择界面,这里就有一些日期的常见格式,这此格式是定义在:package/apps/Settings/res/values/arrays.xml <string-array name="date_format_v
2016-10-11 09:11:14 6020
原创 android开发笔记之SubSettings界面跳转
曾经的疑惑作为一名软件开发工程师,曾经对于如何确认当前activity的详细信息非常想知道,后来学会了一个命令:adb shell dumpsys activity | grep -i foc可以方便的查看当前activity的详细信息。但是,凡事最怕有例外此命令一向所向披靡,帮助我解决了许多问题。但是在settings应用中,我发现了一个非常可怕的现象。在许多settings界面中,我发现此命令都
2016-10-10 16:31:14 9712 6
原创 android开发笔记之adb shell dumpsys
列出dumpsys所有支持命令adb shell dumpsys | grep -i "DUMP OF SERVICE"android@tesdt-Precision-T1700:~/Desktop$ adb shell dumpsys | grep -i "DUMP OF SERVICE"DUMP OF SERVICE AAL:DUMP OF SERVICE DmAgent:DUMP OF
2016-10-08 22:40:13 3106
原创 android开发笔记之android studio
前言好久没有进Android官方开发网站了,前几天在android开发群里,听闻现在出来了新的开发工具—-android studio, 相信android的开发工具一定又是对开发者的一个新礼物,今天将android studio下载下来,玩了一下,以后慢慢来熟悉,掌握她吧。初识 android studio:我是windows平台,其实,安装android studio,非常的简单,就是去andr
2016-09-28 11:33:53 1013
原创 android开发笔记之解析XML
前言公司客户需求中有一个内置几个电话号码,看了一下以前工程师的代码,是采用xml文件的形式来配置几个号码,然后对应的把xml文件解析,再将这些号码插入到contacts的db数据库中。正好借这个机会,学习一下xml文件的解析。xml解析的简单介绍XML文件作为承载数据的一个重要角色,非常非常用户来配置和客置化,所以读写XML文件是Android开发中一项重要的技能。在Android中,常见的XML解
2016-09-28 09:52:58 600
原创 android开发笔记之从Button点击说起
Button使用平时,我们开发,Button控件一般就是如下使用:先在布局文件中定义Button控件: <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:
2016-09-11 14:06:25 1245
原创 六大设计原则之里氏替换原则
里氏替换原则定义里氏替换原则(Liskov Substitution Principle,LSP): 第一种定义:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换为o2,程序P的行为没有发生变化,那么类型S是类型T的子类型。第二种定义: Functions that use pointers or references to base cla
2016-08-28 11:27:48 20638 6
原创 六大设计原则之开闭原则
开闭原则的定义开闭原则是java世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活的系统。开闭原则定义如下:Software entities like classes,modules and functions should be open for extension but closed for modifications.一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。什么是开闭
2016-08-28 10:32:38 42083 29
原创 六大设计原则之迪米特原则
迪米特原则的定义迪米特原则(Law of Demeter,LoD),也叫最少知识原则(Low knowledge Principle,LKP):一个对象应该对其他对象有最少的了解。通俗的讲:一个类对自己需要耦合或调用的类知道的最少,你(被耦合或调用的类)的内部是如何复杂和我没有关系,我就知道你提供的public方法,我只调用这些方法,其它的我不关心。迪米特原则的具体要求迪米特原则对类的低耦合提出了明
2016-08-27 16:05:36 4044
原创 六大设计原则之接口隔离原则
接口隔离原则定义接口隔离有两种定义:Clients should not be forced to depend upon interfaces that they don’t use. 客户端不应该依赖它不需要的接口 那依赖什么呢?依赖它需要的接口,客户端需要什么接口就提供什么接口,把不需要的接口剔除,那就需要对接口进行细化,保证其纯洁性。The dependency of one cl
2016-08-24 21:20:55 11197 6
原创 六大设计原则之依赖倒置原则
依赖倒置原则定义依赖倒置原则(Dependence Inversion Principle ,DIP)定义如下:High level modules should not depend upon low level modules,Both should depend upon abstractions.Abstractions should not depend upon details.Deta
2016-08-23 11:42:52 12201 7
原创 六大设计原则之单一职责原则
单一职责原则单一职责原则(Single Responsibility Principle)–SRP:There should never be more than one reason for a class to change.应该有且仅有一个原因引起类的变更。单一职责原则好处降低类的复杂性每个类实现单一职责,并且单一职责都有清楚明确的定义,复杂性当然降低。提高可读性 类的复杂性降低了,当然
2016-08-17 20:20:28 7672
原创 设计模式之解释器模式--- Pattern Interpreter
模式的定义解释器模式(Pattern Interpreter)是一种按照规定语法进行解析的方案,在现在项目中使用较少。其定义如下:Given a language,define a representation for its grammar along with an interpreter that uses the representation to interpret sentences i
2016-08-16 17:32:04 823
原创 设计模式之桥梁模式--- Pattern Bridge
模式的定义桥梁模式是一个比较简单的模式,其定义如下:Decouple an abstraction from ist implementation so that the two can vary independently.将抽象和实现解耦,使两者可以独立的变化。类型结构类模式的使用场景不希望或不适用使用继承的场景例如继承层次过滤,无法更细化设计颗粒等场景,需要考虑使用桥梁模式接口或抽象类不稳
2016-08-15 18:51:35 894
原创 设计模式之享元模式--- Pattern Flyweight
模式的定义享元模式(Flyweight Pattern)是沲技术的重要实现方式,其定义如下:Use sharing to support large numbers of fine-grained objects efficiently.使用共享对象可有效地支持大量的细粒度的对象.享元模式的定义提出了二个要求:细粒度的对象和共享对象。分配太多的对象将有损程序的性能,同时还容易造成内存溢出。避免这种情
2016-08-15 17:28:12 1102
原创 设计模式之访问者模式--- Pattern Visitor
模式的定义访问者模式的定义如下:Represent an operation to be performed on the elements of an object structure.Visitor lets you define a new operation without changing the classed of the elements on which it operates.封
2016-08-14 17:04:54 1128
原创 设计模式之备忘录模式--- Pattern Memento
模式的定义备忘录模式定义如下:Without violating encapsulation,capture and externalize an object’s internal state so that the object can be restored to this state later.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将此对
2016-08-13 19:20:57 685
ReflectDemo
2015-10-12
AIDL_RemoteService
2015-08-13
customViewActionbar
2015-02-03
ShowPercentView
2015-02-01
CustomViewPagerIndicator
2015-01-27
自定义圆形进度条
2014-11-27
Android_Animation
2014-09-10
ViewPagerDemo
2014-08-24
TestCaptureScreen.
2014-08-24
TestSharedPreferenceDemo
2014-08-24
testcontentprovider02
2014-08-24
TestContentProvider01
2014-08-24
android不同机型的适配的解决方案之按比例伸缩篇
2014-06-17
firstScreen
2013-06-04
一个简单的射击游戏
2013-05-31
flyshootMyself
2013-05-31
捕鱼达人的界面实现
2013-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人