自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (17)
  • 收藏
  • 关注

翻译 Retrofit 基本使用教程

Retrofit 查询参数查询参数是一种很常见的客户端往服务端传递数据的方式,比如我们需要传一个idg=给服务端,那么URL可能是这样的:https://api.example.com/tasks?id=123Retrofit 定义实现查询参数:public interface TaskService { @GET("/tasks") Call<Task> getTask(@Qu

2016-02-28 12:01:58 10545 15

原创 图片加载框架Glide使用教程

Glide,和Picasso很相似,可以从各种图片来源加载和显示图片,并且很好的支持缓存。同时,它在对图片操作时,只占用很少的内存。Glide已经被谷歌官方的应用程序所使用(如2015年的 Google I / O的应用程序),同时,它和Picasso一样受到Android应用开发者的欢迎。在项目中引入GlideGradle:compile 'com.github.bumptech.glide:gl

2016-01-02 20:42:01 29807 9

原创 滑动切换Activity

百度贴吧有滑动切换Activity的功能,感觉很方便: 这种功能要自己写还是挺复杂的,幸运的是,已经有比较成熟的开源项目,项目地址:https://github.com/r0adkll/Slidr。下面将使用这个开源项目,快速实现相似的功能。一、导入Slidr到项目在dependencies中加入下面一句,就可以引入开源库到当前项目:compile 'com.r0adkll:slidablea

2015-08-03 23:12:07 8982 13

翻译 Android异步HTTP请求框架Volley的使用

原文地址:http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/#Volley是Android 开发者的一把“瑞士军刀”,它提供了一些好的工具让在Android 开发中使用网络请求更快,更便捷。Volley的优点在于它封装了HTTP请求的底层实现,让开发者更加专注地写出优雅干净的REST

2015-07-28 19:50:34 3701

原创 获取最新最完整的省市县数据

下载省市县JSON数据Github源码获取数据的来源什么地方可以获取最权威的省市县数据?当然是官网民政部门门户网站在网站的最下面,你可以看到最新的行政区划分代码打开连接,数据是这样展示的:显然,这样的数据我们是无法使用的先复制网页内容到txt文件,然后删除无用的文字,最后得到这样的: 代码生成JSON数据我们最终需要的是一份JSON数据,这样才...

2018-05-10 11:41:52 22987 8

原创 Gradle 插件更新到3.0.1之后,release包安装不上

原来以为是instant run打开了,但是关了之后仍然不行,直接Android Studio 上点击安装是可以的最后发现是buildToolsVersion版本原因原来是26.0.2改成 27.0.2就行了。。坑

2018-01-09 11:08:28 2270 1

原创 Retrofit源码解析

Retrofit源码结构Retrofit: 通过注解,把一个Java接口转化成一个http 请求,底层网络请求基于okhttp从Retrofit源码结构可以看出,Retrofit 源码分成两部分 一部分是包retrofit2.http里面的,在Java接口方法中使用,用来控制http行为的注解。一部分是retrofit2里面的,负责把REST API转化成Java接口。Retrofit和okht

2016-07-16 08:25:07 1255

原创 Android键盘弹出的研究

键盘弹出基本上开发中都会用到,之前用的比较简单,最多也就是Activity windowSoftInputMode标签中设置属性,没有深入研究。直到最近在解决键盘弹出导致界面闪烁的问题以及在做直播功能需要在键盘弹出时控制某些View的测量遇到一些问题,决定总结一下键盘弹出相关的知识点。键盘行为的控制一般情况,键盘的显示和隐藏都交由系统控制,比如,当EditText获取焦点时,键盘会弹出来,当用户按返

2016-07-09 10:07:22 4809 7

原创 Fragment重叠问题引发的思考

参考: http://stackoverflow.com/questions/16189088/overlapping-hidden-fragments-after-application-gets-killed-and-restored http://stackoverflow.com/questions/18274732/android-fragments-overlapping-

2016-06-18 20:35:45 7017 10

翻译 Android MVP 使用教程

写一个Hello World程序总是很简单的,它的代码总是很简单、整齐的,SDK完全可以满足我们的需求。但是,如果你在开发过复杂的Android app,你应该清楚,生产环境的代码往往不是这样。你需要花费好几个小时去弄清楚在没有WiFi的情况下,为什么当手机屏幕旋转时,你的购物车不会更新。 你需要不断的在已经很复杂的Activity 的onCreate 方法里面去添加if 语句去解决app在某个设

2016-03-15 21:29:06 2357 1

翻译 Android MVP 介绍

原文地址: http://antonioleiva.com/mvp-android/#MVP (Model View Presenter) 模式是广为人知的MVC(Model View Controller)模式的一种衍生品,在最近一段时间,它逐渐受到Android开发者的重视,越来越多的人开始谈论它。但是,网络上却缺少可靠和严谨的文章来介绍MVP这种新的模式,这就是我为什么要用这个博客来鼓励

2016-03-12 22:17:00 1052

翻译 Retrofit简单介绍和使用

原文地址: https://futurestud.io/blog/retrofit-getting-started-and-android-client#Retrofit是什么对于Retrofit ,官方的描述是:“A type-safe REST client for Android and Java.”它可以通过注解来描述Http请求,URL参数,查询参数,同时,它还支持多个请求体和文件上

2016-02-22 22:09:53 2310

原创 代码大全第15章,使用条件语句

一、if-else语句 1、把正常情况的处理放在if后面而不要放在else后面 2、不写写空的if-else语句 3、测试else代码的正确性 4、检查if-else是不是弄反了二、if-else if语句 1、把常见的放在最前面 2、利用布尔函数调用简化复杂的检测 3、确保所有情况都已经考虑到 4、如果可以使用case语句,尽量使用case语句三、case语句 1、为case语句

2016-02-20 16:08:43 666

原创 Effective Java 78 条规则

创建和销毁对象一、考虑用静态工厂方法代替构造器 二、遇到多个构造参数时要考虑用构建器(Builder模式) 三、用私有构造器或者枚举类型强化Singleton属性 四、通过私有构造器强化不可实例化的能力 五、避免创建不必要的对象 六、消除过期的对象引用 七、避免使用终结方法对象通用方法八、覆盖equals时请遵守通用约定 九、覆盖equals时总要覆盖hashCode 十、始终要覆盖

2016-02-18 22:10:39 900

原创 图片加载框架Fresco使用总结

一、SimpleDraweeView 属性介绍 <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/my_image_view" android:layout_width="match_parent" android:layout_height="300dp" fres

2015-12-27 11:17:05 10511

原创 Dialog使用总结

1、构造函数Dialog默认使用所在Activity主题: public Dialog(Context context) { this(context, 0, true); }使用指定的主题: public Dialog(Context context, int theme) { this(context, theme, true); }2、常用用法m

2015-11-30 22:15:52 1038

原创 PopupWindow使用总结

一、构造函数1、包含Context的构造函数 public PopupWindow (Context context ) { this( context, null); } PopupWindow的一些属性会和应用设置的主题相关,自带背景(如果不设置背景,可能不能全屏)2、不包含Context的构造函数 public PopupWindow () {

2015-11-29 10:57:40 1258

原创 Ubuntu服务器相关命令

1、修改MySQL密码mysql -u root -p 先用旧密码登录 mysql> use mysql; mysql> update user set Password = PASSWORD(‘新密码’) where User =’root’;

2015-11-14 10:08:38 649

原创 Android App 开源项目使用统计

Android的开源项目越来越来多,很多时候,我们选择开源项目时不知道选择哪个好,因此,我决定反编译当前一些用户量大,比较知名的App,看看他们是用了什么开源项目,一方面,在我们选择开源项目时可以参考,另一方面,也可以发现一些比较流行的开源项目,可以学习学习,对找工作用帮助。美团 :JakeWharton/ViewPagerIndicator JakeWharton/NineOldAndroid

2015-09-04 13:44:40 1653

原创 Android动画学习--帧动画,补间动画,属性动画的基本用法

一、Drawable Animation(帧动画)帧动画主要是通过加载一系列的Drawable的资源来实现动画效果,每张图片设置一段展示的时间,相当于一帧,很多张图片连接起来,就是一段帧动画。一般帧动画通过在Drawable文件夹新建一个XML来实现,XML文件包含一个作为根节点,下面包含一系列子元素的节点,每个包含图片,和显示时间:<?xml version="1.0" encoding="utf

2015-08-19 22:59:22 1261

原创 深入学习Android异步任务-AsyncTask

一、AsyncTask的介绍与使用AsyncTask可以让程序进行异步工作,它在一个线程中执行某些操作,之后将结果返回给UI线程。使用AsyncTask类时,需要继承AsyncTask类并实现doInBackground()回调方法。要更新UI界面,需要实现onPostExecute(),并从doInBackground()方法中获得结果,最后,可以在UI线程中调用execute()方法来执行操作,

2015-08-19 22:40:18 652

原创 Android 的消息机制

一、Handler机制的总结1、HandlerHandler对象是Message的接收者和处理者。用户使用Handler对象把Message添加到消息队列中;同时通过Handler的回调方法handleMessage()来对消息队列中的Message进行处理。Handler对象在构造时和某个Looper对象关联在一起(Handler构造函数中可以传入Looper实例,如果不传,Handler关联的L

2015-08-09 12:32:36 955

原创 Android 手势识别--GestureDetector

如果要对一个View进行手势监听,比如,单击,双击,滑动等,可以通过自定义View,重写View 的onTouchEvent方法,定制自己想要监听的手势。不过,如果我们只是对一个普通的View监听一些常用的手势,大可不必选择自定义View,有更简单的方法可以实现。Android为我们提供了GestureDetector类,封装了一些常用的手势。GestureDetector的简单用法GestureD

2015-08-08 15:31:39 758

原创 MotionEvent 源码学习

在View被触摸时,会收到Framework传来的MotionEvent实例,封装了输入事件种类,坐标等信息,因此,要熟悉View事件的处理,首先要熟悉MotionEvent的一些常用方法和属性。输入事件的种类输入事件的种类比较多,一般常用的也就下面几种: ACTION_DOWN:按压动作的开始,是整个动作的开始 ACTION_UP:按压动作的结束,是整个动作的结束 ACTION_MOVE:手

2015-08-01 13:12:36 914

原创 源码分析Activity启动的流程

一般我们知道,Activity启动会依次调用Activity的onCreate,onStart,onResume方法,但是,我们心里肯定会有疑问,为什么会调用这些方法?,Activity实例是怎样获取的?要解开这些疑问,就必须分析Activity的源码。先来个总的流程图,然后再分析:一般,我们跳转Activity都会像下面这么写: Intent intent=new Intent();

2015-07-22 23:22:25 912

原创 解析View中的MeasureSpec

MeasureSpec是View中的一个内部类,封装了父View传给子View的布局需求: public static class MeasureSpec { private static final int MODE_SHIFT = 30; private static final int MODE_MASK = 0x3 << MODE_SHIFT;

2015-07-19 23:29:55 1189

原创 Android View深入学习(三),View的绘制(Draw)过程

View绘制最开始是从最顶层DecorView开始的,在ViewRootImpl中的performTraversals方法中,调用了 performDraw,开始对DecorView进行绘制: private void performDraw() { if (mAttachInfo.mDisplayState == Display.STATE_OFF && !mReportNextD

2015-07-19 10:19:33 1689

原创 Android View深入学习(二),View的布局(Layout)过程

View布局最开始是从DecorView开始的,在ViewRootImpl中的performTraversals方法中,调用了 performLayout(lp, desiredWindowWidth, desiredWindowHeight),开始对DecorView测量: private void performLayout(WindowManager.LayoutParams lp, int

2015-07-18 18:31:42 1075

原创 Android View深入学习(一),View的测量(Measure)过程

Android应用上面的View显示出来都必须经过测量,布局,和绘制这三个过程。我们知道PhoneWindow中的DecorView是界面最顶层的View,那么,最先绘制的View肯定是DecorView。在ViewRootImpl中的performTraversals方法中中,依次对DecorView进行测量,布局,和绘制: private void performTraversals() {

2015-07-18 11:55:28 1703

原创 Android 事件分发实践(一),解决ScrollView嵌套ListView滑动的问题

需要在ScrollView里面嵌套一个ListView,让ScrollView和它里面的ListView都能滑动(ListView宽度没有占满ScrollView),先贴上布局代码:<com.example.xujiang.viewlearn.touchConfict.MyScrollView xmlns:android="http://schemas.android.com/apk/res/and

2015-07-13 20:56:23 3726 4

原创 深入理解Android事件分发机制

一、Android事件的入口(该文所引用的源码代码出自Android 5.1版本) 一直想搞清楚Android 事件分发的各个函数调用的关系,前几天突然想起Debug时会显示出线程函数调用的关系,于是,写了一个很简单的程序,在界面上显示一个Button,并且为这个Button注册onTouch事件,在里面打个断点:button.setOnTouchListener(new View.OnTouch

2015-07-12 22:17:46 2075

原创 解决Genymotion运行Android 5.0一直卡在开机界面

Genymotion运行Android 5.0模拟器一直卡在开机界面,如下图:解决方法:进BIOS,设置intel Virtualization Technology 为enable就可以了

2015-05-30 19:37:00 6385 3

原创 Android编译环境,Build系统的学习总结

Android Build系统的介绍Android build系统主要用于对手机系统二进制文件的编译,APK应用的编译,同时生成手机系统的镜像以及各种配置文件,同时,还要维护各个模块间的依赖关系,确保某个模块的修改能引起依赖的文件重新编译.Android的Build系统可以分成三个大的模块:       1.位于build/core目录下的文件,是Android Build系统的框架和

2015-05-24 10:35:05 671

原创 Eclipse使用技巧总结

一、Eclipse代码提示设置1.在Preferences中,下图标记地方输入“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.”。2.设置XML文件代码提示,下图标记地方输入“二、已经Root的手机,Eclipse访问data目录,显示没有权限按照下图操作,一路往下更改权限

2015-05-23 11:15:09 504

原创 Java线程总结

一、线程的创建1、继承Thread类,重写run方法优点:简单。缺点、;已经继承Thread类,不能再继承其他的类,不能共享实例变量。2、实现Runnable接口,重写run方法。这种情况,多个线程可以共享Runnable实例变量。3、使用Callable和Future创建线程,实现Callable接口。第一步:重写call方法,作为线程执行体,有返回值。第二步:创

2015-05-17 20:05:12 849

原创 FaceBook开源图片加载框架Fresco简单介绍

一、Fresco编译和引入工程       Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。之前看大家在QQ群和各个社区都在讨论Fresco,都说性能非常好,心里禁不住诱惑,所以决定尝试一下。前途是光明的,道路是曲折的,Fresco的引入出现各种问题,折腾了我好些时间。       Fresco在git

2015-05-16 19:34:07 6091 2

原创 Eclipse导入和调试 Android 5.0源码

1.复制eclipse的classpath到Android源码根目录cp ~/android/development/ide/eclipse/.classpath ~/android2.修改eclipse缓存设置把eclipse.ini文件的3个值改为下面的值(不要盲目参考,需要根据自己机器情况来定):-Xms128m-Xmx768m-XX:MaxPermSize=512m

2015-05-03 12:07:51 1935 4

原创 ubuntu 14.04 kylin 编译 android 5.0源码

因为工作中经常用到Android源码,同时,自己也想深入的学习一下Android Framework层的东西,于是,最近尝试学习编译源码,过程真可谓十分艰辛.最后终于成功.于是,我想很有必要记录过程中遇到的问题.

2015-05-02 10:56:44 4132 11

原创 Binder,Service,进程间通信学习总结

一、      本地Service与Binder的使用先继承Binder实现自己的Binder类,然后在Service中的onBind()中返回这个Binder的实例。在Activity中,通过onServiceConnected()获取Binder实例,Binder实例可以得到Service实例,从而可以调用Service里面的公共方法。 二、      通过Messenge

2015-04-10 19:12:57 1137

原创 Git学习总结

1、git安装的配置git config --global user.name "your name"git config --global user.email "your email"2、初始化git仓库git init3、添加文件到git仓库git add file1 //添加file1git . //添加当前目录所有文件git

2015-04-07 19:16:10 491

Retrofit Demo

Retrofit简单使用Demo,包含get查询,Post 表单,JSON,文件上传,同步,异步请求都。

2016-03-04

Retrofit简单Demo

一个简单的 RetrofitDemo,适合入门学习

2016-02-23

滑动切换Activity Demo Eclipse

仿百度贴吧,滑动切换Activity,支持左滑,右滑,上滑,下滑。

2015-08-27

滑动切换Activity Demo

仿百度贴吧,滑动切换Activity,支持左滑,右滑,上滑,下滑

2015-08-03

fresco eclipse lib

Fresco Eclipse 依赖的library

2015-05-17

Android-Universal-Image-Loader Demo和jar包

Android-Universal-Image-Loader官方的Demo和jar包,原Demo图片URL不能访问,已经被我替换成可以访问的URL

2015-04-06

QTP11下载地址

QTP11下载地址(百度网盘)

2013-10-19

VC图书馆管理系统

VC写的图书管理系统。

2013-07-04

VC 机票预订系统

VC写的机票预订系统,有代码,有文档。VC写的机票预订系统,有代码,有文档。

2013-07-04

Ethernet帧结构解析程序

基于C++的Ethernet帧结构解析程序开发.

2013-06-18

ModbusSimulator

在没有硬件设备时直接模拟,与modscan配合使用,适合modbus开发调试。

2013-06-15

毕向东java视频配套代码

包含了毕向东25天java视频的源代码,和ppt

2013-05-07

opengl键盘控制旋转

课程设计作业,键盘控制长方体旋转,每个面帖有不同的图。

2012-06-25

数据结构排序

数据结构八种排序,直接插入排序,希尔排序,冒泡排序,快速排序,直接选择排序,堆排序等。

2012-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除