- 博客(41)
- 资源 (2)
- 收藏
- 关注
原创 XMAPP多站点配置
1.找到我们安装xmapp路径下的httpd-vhosts.conf文件,我的安装路径是D:\XMAPP\xmapp\apache\conf\extra,如下图所示:2.用工具(notepad++)打开,我们会看到如下配置:3.配置多各站点,我们只需要ctrl+c ,ctrl+v就可以了。但是这里都用#注释了(相当于//),说明这里的代码没起作用,如果你需要的话可以去掉#。##<Virtua...
2018-06-28 11:43:40 1186
原创 xmapp/wampServer集成开发环境下指定项目的根目录
为什么项目一定要放在我们安装xmapp/wampServer目录下的htdocs?我们可以指定自己的路径么?答案是可以的。如上图是我们没有指定目录,是默认xmapp安装路径下的htdocs文件夹下放置我们的项目。更改项目的目录:1.)找到xmapp/wampServer安装路径下的 httpd.conf文件,这里我的安装目录是D:\XMAPP\xmapp\apache\conf,如图:2.)用工...
2018-06-28 10:26:17 661
原创 搭建一个PHP后台的开发环境你所需要配置东西都有哪些?XAMPP问题
安装的工具:1. Mysql workbench / Navicat2. Postman3. Visual Studio Code / Sublime Text4. PHP开发环境5. Nodejs开发环境6. xampp 注意(mysql版本 5.7以上 php版本:7.0以上)工具下载地址:NavicatPostmanVisual Studio Codexampp nodejs 软件相关...
2018-06-27 16:59:39 6947
原创 详解RecyclerView替换ListView和GridView及实现暴瀑流
前言在Android中有了ListView,GridView,为什么还需要RecyclerView这样的控件呢?从整体上看,RecyclerView架构提供了一种插拔式体验,它具有高度的解耦,异常的灵活性和更高的效率,它通过提供LayoutManager,ItemDecoration,ItemAnimator实现丰富多样的效果。使用案例及步骤: 1.配置Build.Gradle 使用Re...
2018-06-27 15:46:12 1010
原创 AndroidStudio3.0以后编译报错The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.
前言今天闲着没事干,就在github上看一下OpengGL,代码clone下来,编译不过去,老是报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. Perhaps you misspelled something?这个错我们在build.gradle文件里很容易定位到,但是这里instr...
2018-06-25 18:04:23 5931
原创 Binder跨进程通信一:代码实例
进程A与进程B实现通信:进程A(项目结构)(1).创建aidl文件interface MyApp { String getName(); String setName(String name);} (2).创建类MyAppIml继承MyApp.Stubpublic class MyAppIml extends MyApp.Stub { private String ...
2018-06-25 11:59:42 1276 2
原创 Android Paint&Xfermode总结
setXfermode(Xfermode xfermode)Xfermode渡模式,在使用Paint的时候,我们能通过使用PorterDuffXfermode,Xfermode能够完成图像组合的效果将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到Canvas中形成最终的图形,由于AvoidXfermode, PixelXorXfermode都已经被标注...
2018-06-22 11:48:49 3557
原创 Paint,ColorMatrix(颜色矩阵)实现滤镜效果及矩阵运算
滤镜效果:颜色通道每个图像都有一个或多个颜色通道,图像中默认的颜色通道数取决于其颜色模式,即一个图像的颜色模式将决定其颜色通道的数量。例如,CMYK图像默认有4个通道,分别为青色、洋红、黄色、黑色。在默认情况下,位图模式、灰度、双色调和索引颜色图像只有一个通道。RGB和Lab图像有3个通道,CMYK图像有4个通道。每个颜色通道都存放着图像中颜色元素的信息。所有颜色通道中的颜色叠加混合产生图像中像素...
2018-06-21 17:17:04 5016
原创 php-cgi.exe系统错误 无法启动程序,因为计算机中丢失api-ms-win-crt-conio-l1-1-0.dll 解决此问题
下载地址:http://www.jb51.net/dll/api-ms-win-crt-conio-l1-1-0.dll.html#download安装---->解压----->获得dll文件,如下:解决此问题: 1、Windows 95/98/Me系统,将dll复制到C:\Windows\System目录下。 2、Windows NT/2000系统,将dll复制到C...
2018-06-21 11:49:55 36598
原创 Android关于drawable和drawable-v24,mipmap-anydpi-v26引起的java.lang.NullPointerException
前言经常我们放置图片一般默认drawable,mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi文件夹下,这样的情况下我们运行起来的APP也不会出现什么问题,那么如果图片放在drawable-v24,mipmap-anydpi-v26文件夹下就会出现问题。这是由于在不同的drawable,mipmap文件夹用于为设备兼容性和不同的Android版本提供不同的屏幕密度造成的。1...
2018-06-21 10:25:13 19880 3
原创 代码git提交报错The following untracked working tree files would be overwritten by merge:README.md错误解决
解决方案如下:1.切换到自己项目所在的目录,右键选择GIT BASH Here依次输入命令git fetch --all git reset --hard origin/master
2018-06-19 20:00:16 4145
原创 Android中Paint,Canvas绘图与Shader着色器使用案例
前言我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader(eg:mPaint.setShader(shader)),这样就可以绘制出多彩的图形。那么Shader是什么呢?,Shader就是着色器的意思。我们可以这样理解,Canvas中的各种drawXXX方法 eg: canvas.drawCircle...
2018-06-19 11:46:40 780
原创 坐标系详解
前言Android系统中有两种坐标系,分别为Android坐标系和View坐标系。了解这两种坐标系能够帮助我们实现View的各种操作,更好的控制View.1.Android坐标系 在Android中,屏幕左上角的顶点作为Android坐标原点(0,0),X轴向右是正方向,向下是Y轴正方向,如下图:2.View坐标系 View坐标系与Android坐标系两者共同存在,他们...
2018-06-17 00:02:40 1796
原创 Android运行时动态申请权限完整实例
前言在Android6.0之前,我们安装App时会列出安装的App的访问权限,并且只有安装时会出现一次。一旦我们同意安装了此App,这个App就可以在用户毫不知情的情况下访问权限内的所有东西。eg:用户的通信信息,用户位置等信息,这会侵犯用户的隐私。在Android6.0以后就不会在出现安装时授予权限,取而代之的是,App必须在运行时询问用户来授予权限。直接上代码eg:public class M...
2018-06-15 23:41:21 6453
原创 Android 详解Canvas与Paint的关系并附有代码实例
前言Canvas在我们的绘制中扮演的角色其实是会话,我们通常情况下都知道我们能使用Canvas调相关方法去画圆型,矩形图片等,但是最终其实真正的绘制并不是在我们的android层面进行的。当然使用Canvas去画一些东西我们必须要知道四个基本组件如下:1.一个位图来保存像素2.Canvas持有绘画的方法drawxx:用画布绘制3.绘画的模版:(eg. Rect,Path,text,Bitmap)...
2018-06-15 16:27:12 1738
原创 Android UI绘制流程源码详细讲解Draw(Canvas canvas)
前言在上一篇我们了解了Activity的构成后,接下来我们开始了解一下View的工作流程,就是measure、layout和draw。measure用来测量View的宽高,layout用来确定View的位置,draw则用来绘制View。接下来我们来看看具体绘制的流程以及,paint和Canvas在这中间所扮演的角色。1.绘制流程上一篇我们提到了在performTraversals当中一次调用了pe...
2018-06-15 12:00:33 1828
原创 Android Studio 配置:自定义头部代码注释及添加模版
1.自定义头文件注释:实现效果/** * 版权:xx公司 版权所有 * @author yang * 版本:1.0 * 创建日期:2018/6/14 * 描述:MainActivity * */实现步骤 依次操作File -> Settings ->Editor ->File and Code Templates,在详细展示窗口点击includes选项...
2018-06-14 15:40:13 12873 2
原创 Android studio 修改包名常用的方法
前言 经常我们在开发一个项目时,前期我们可能不确定项目包名,我们只是先搭建项目框架并开发,最后确定包名。这时我们就需要更改包名。接下来我们就说一下如何更改包名:如上图 我们如果更改包名hookframework 我们的操作是: 选中包名----------->鼠标右键------>Refactor------------>Rename(弹出选择框如下:)---->...
2018-06-14 11:48:56 1286
原创 Android UI绘制流程详细讲解一
我们做Android开发的都知道 startActivity(initent) 后我们就创建了一个Activity,然后执行各个方法: onCreate()------->onStart()------->onResume()在onCreate当中我们往往会使用setContentView去进行设置我们自己的布局文件或者view,那么在这当中他到底是怎么做的?通过观察源码,这个时候通过...
2018-06-14 11:04:39 827
原创 详解Android MVVM模式使用
前言:MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑工程目录结构:使用步骤:1.在项目app的Build下添加:apply plugi...
2018-06-13 12:52:17 2982 1
原创 Android动画之 Alpha与Translate结合使用
Alpha <?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" 起始透明度,取值范围0.0--1.0 ,从完全透明...
2018-06-12 14:40:55 4076
原创 HTTP协议原理及请求、响应报文格式
前言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议的主要特点支持C/S(客户/服务器)模式。简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器...
2018-06-12 11:11:39 6058 1
原创 Android 为RecyclerView添加HeaderView和FooterView
对于添加headerView或者footerView其实HeaderView实际上也是Item的一种,只不过显示在顶部的位置,那么我们完全可以通过为其设置ItemType来完成。有了思路以后,接下来考虑一些细节。适配器public class TimeTablesAdapter extends RecyclerView.Adapter<TimeTablesAdapter.ViewHolder...
2018-06-11 17:49:33 1633
原创 EditText自定义下划线与光标颜色
因设计的需求有时我们不得不改变EditText底线颜色,接下来我们就实现EditText改变光标及底线颜色:一.EditText未做任何设置之间效果:xml.layout:<EditText android:hint="EditText未做任何设置" android:layout_width="match_parent" android:...
2018-06-11 16:43:14 19987 3
原创 AndroidManifest.xml权限配置及说明Manifest.permission
清单文件权限配置:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>public static final String WRITE_EXTERNAL_STORAGE = "android.permission.WRITE_EXTERNAL_STORAGE";常量 permissionA...
2018-06-11 15:25:04 19850
原创 EventBus框架分析&实现
在EventBus使用详解及组件之间通信中我们已经介绍了EventBus的使用及注册,接受消息,销毁等流程,下面我们就分析一下EventBus是如何实现 注册Eventbus.getDefault().register(this);发送消息Eventbus.getDefault().post(new MessageBean("meg", "test"));接收消息@Subscribe(thread...
2018-06-11 13:15:18 359
原创 EventBus使用详解及组件之间通信
概述EventBus是一个Android端优化的publish/subscribe消息事件总线,简化了应用程序内各组件间、组件与后台线程间的通信。如何使用(eg:A activity 向 B activity传递信息)1.定义一个消息类Mesage该类是一个JavaBean对象.eg:消息类ppublic class Mesage { private String msg; p...
2018-06-10 10:47:28 1732
原创 Android数据库框架设计二
由于数据库框架一只写了添加数据的方法,接下来我们在继续完善数据库的 删除,修改,查询等方法。添加数据BaseQuery baseDao = BaseDaoFactory.getOurInstance().getBaseDao(BaseQuery.class,Student.class);baseDao.insert(new Student(2,"18", "男", "1.8米"));修改数据Ba...
2018-06-09 17:35:01 244
原创 Android数据库框架设计一
前言Android开发中我们或多或少都会接触到数据库。Android中提供了一个占用内存极小的关系型数据库-SQLite。虽然Android系统中提供了许多操作SQLite的API,但是我们还是需要手动去编写SQL语句,这经常会出现一些莫名其妙的问题。所以便出现了许多ORM(对象关系映射)框架。其中比较著名的有GreenDao、OrmLite、Litepal等。 常用的数据框架:数据库框架访...
2018-06-08 20:52:18 4389
原创 android底部中间凸出导航 BottomProtruding
实现效果:layout ---->.mxl<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
2018-06-08 16:22:18 5544 3
原创 常见的七种单例模式写法
定义:保证一个类仅有一个实例,并给外部提供一个访问它的全局访问接口。饿汉式/** * 饿汉式(无法向单例对象的构造方法传参) */public class Singleton { private static final Singleton instance=new Singleton(); private Singleton(){} public static S...
2018-06-08 12:01:42 688
原创 Android高效加载大图
图片有不同的形状与大小。在大多数情况下它们的实际大小都比需要呈现的尺寸大很多。考虑到应用是在有限的内存下工作的,理想情况是我们只需要在内存中加载一个低分辨率的照片即可。为了更便于显示,这个低分辨率的照片应该是与其对应的UI控件大小相匹配的。加载一个超过屏幕分辨率的高分辨率照片不仅没有任何显而易见的好处,还会占用宝贵的内存资源,另外在快速滑动图片时容易产生额外的效率问题。接下来会介绍如何通过加载一个...
2018-06-08 10:25:46 296
原创 android添加ActionBar
Action bar 允许我们为当前环境下最重要的操作添加按钮。那些直接出现在 action bar 中的 icon 和/或文本被称作action buttons(操作按钮)。安排不下的或不足够重要的操作被隐藏在 action overflow 中。<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget....
2018-06-07 21:49:25 4782
原创 微信支付工具拿去直接用
犹豫调试微信支付遇到很多坑,在这里特意封总结一下 包括本地签名与服务器返回签名两个方法。 直接上代码:/** * Created by yang * 微信支付工具类 */public class WXPayUtils { //微信支付api private IWXAPI iwxapi; private WXPayBuilder builder; pr...
2018-06-07 20:50:02 1292
原创 解析butterknife原理及手写实现
抛出问题: 1.Butterknife是干什么的?2.我们如何去看Butterknife框架3.如果我们自己写一个类似Butterknife框架,我们如何去做? ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById 以及 setOnClickListener代码,可视化一键生成。 解决问题:2.首先我...
2018-06-07 13:36:13 938
原创 Android Shape使用技巧
需求一: 我们在项目中需要花如下一条虚线步奏一 :创建shape<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke
2018-06-06 17:00:39 398
原创 Android:Textview 通过代码设置 Drawable左上右下
Textview设置图片位置: 左上右下 eg:调用方法:public void setCompoundDrawables(@Nullable Drawable left, @Nullable Drawable top, @Nullable Drawable right, @Nullable Drawable bottom) 参数说明:四个参数分别位于TextView 左上右下四...
2018-06-06 16:33:57 2596
原创 MVP详解+代码实例
MVP模式 之前有一个MVC模式: Model-View-Controller.MVC模式 有两个主要的缺点: 首先, View持有Controller和Model的引用; 第二, 它没有把对UI逻辑的操作限制在单一的类里, 这个职能被Controller和View或者Model共享.所以后来提出了MVP模式来克服这些缺点.MVP(Model-View-Presenter)模式:Model: 数据...
2018-06-06 12:10:28 1726
转载 Android基于Retrofit2.0+RxJava 封装的超好用的工具类
RetrofitClient基于Retrofit2.0封装的RetrofitClient.避免重复创建Retrofit实列.调用方便简洁.无需重复设置属性的步骤.可固定配置 Host 也可动态配置Url、请求头、参数等.支持文件下载和上传.支持json形式提交.支持扩展APIService统一处理无网络情况,和支持加载进度结合RxJava支持缓存机制优化取消使用原生的Retrofit请求网络,熟悉...
2018-06-06 10:35:36 3935
原创 RxJava学习之入门一
前言.Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受广大 Android开发者的欢迎。我们在github上就可以看到rxjava对广大Android开发者的影。 详细了解Reactivex点击打开链接本文主要基于Rxjava 2.0讲解. 下面我们就说一下Rxjava是什么?以及 RxJava特点 ,原理 ,基本实例等几方面说一下RxJava ...
2018-06-05 18:34:21 252
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人