- 博客(112)
- 收藏
- 关注
原创 MOB第三方分享
MOB第三方分享1.首先进入官网登陆下载sdk点击集成在把下面这个文件复制进assets中(如果没有assets,就在main下面创建一个把下面的复制进去)src下面的cn在java包下2.最后配置AndroidManifestuses-permission android:name="
2017-12-08 10:49:51 299
原创 EditText过滤器
EditText过滤器EditText文本输入控件,在App开发中可能会遇到各种各样的要求,如只能输入数字、限定长度、不允许输入特殊字符等要求,这时候我们就要实现EditText的过滤功能,达到产品的要求。(一)简单的过滤EditText已经提供了一些过滤输入的属性1、通过inputType限定android:inputType="textCapChara
2017-12-06 16:51:41 505
原创 Android软件盘(EditText)的搜索功能
Android软件盘(EditText)的搜索功能1.简介在之前做项目的时候,需要编辑框有搜索功能,可是我百度了很多,试了都没什么效果,一直都出不来那个搜索,今天简单的学习了一下,分享给大家。2.示例代码xml布局:LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2017-12-06 11:52:22 520
原创 android高德地图定位
android高德地图定位今天刚学的高德地图定位,本篇博客在上一篇高德地图基础上加的定位,分享给大家!直接上代码://终于找到报错“10: 定位服务启动失败”的问题 //这个MapActivity放置的位置有关系,当Activity放在TabSpec中就有问题 //如果单独作为一个activity则没有问题 代码:public class Sec
2017-12-05 15:44:03 942
原创 微信仿朋友圈添加图片
微信仿朋友圈添加图片问题:添加过多图片时,会出现OOM。如何动态修改图片展示栏的高度。加号如何伴随图片的增加而后移。如何保证最多添加照片为9张。添加过多图片时,会出现OOM出现第一种情况的原因很简单,就是随着我们手机的像素越来越高,图片的大小也越来越大,我们普通的机拍出来照片至少也有1~2M,更不说像素高的手机。而对于一个安卓应用来说,由于手机设备的限制,一般应用使
2017-12-05 15:04:05 8972
原创 网络通信协议
网络通信协议今天学习了网络通信协议,总结出来的知识点,不足之处请大家多多指教!网络通信协议:负责在网络上建立通信通道和控制通过通道的信息流的规则为了进行网络通信,通信双方必须遵守通信协议网络通信协议的组成:语法(syntax):包括数据格式、数据编码以及信号等。语义(semantics):包括用于协调和差错处理的控制信息。定时(Tim
2017-11-30 15:33:40 4471
原创 Android开源图片加载框架
Android开源图片加载框架一、UniversalImageLoaderhttps://github.com/nostra13/Android-Universal-Image-LoaderUIL可以算是老牌最火的图片加载库了,使用过这个框架的项目可以说多到教你做人,我第一次把第三方开源图片加载框架加入项目中的就是这个了,当时感觉瞬间逼格上涨,妈妈再也不用担心出现OOM和ListView
2017-11-30 15:14:05 232
原创 https
https这是自己在学习中总结的,不足的地方请大家多多指教!1.简介HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识
2017-11-30 11:27:53 350
原创 Http
http1.http是什么?超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传
2017-11-30 11:14:22 312
原创 图片的二次采样
图片的二次采样图片的二次采样:第一次采样我主要是想要获得图片的压缩比例在第一次采样的基础上,我来进行二次采样。二次采样的时候,我把第一次采样后算出来的结果作为一个参数传递给第BitmapFactory,这样在加载图片的时候系统就不会将整张图片加载进来了,而是只会加载该图片的一张缩略图进来,这样不仅提高了加载速率,而且也极大的节省了内存,而且对于用户来说,他也
2017-11-30 09:34:45 2582
原创 图片的三级缓存
图片的三级缓存 我们不能每次加载图片的时候都让用户从网络上下载,这样不仅浪费流量又会影响用户体验,所以Android中引入了图片的缓存这一操作机制。原理:Android图片三级缓存的原理如下图所示: 首先根据图片的网络地址在网络上下载图片,将图片先缓存到内存缓存中,缓存到强引用中 也就是LruCache中。如果强引用中空间不足,就
2017-11-30 09:17:28 516
原创 LruCache 源码解析
LruCache 源码解析1.简单介绍LRU 是 Least Recently Used 最近最少使用算法。LruCache的Lru指的是LeastRecentlyUsed,也就是近期最少使用算法。也就是说,当我们进行缓存的时候,如果缓存满了,会先淘汰使用的最少的缓存对象。为什么要用LruCache?其实使用它的原因有很多,例如我们要做一个电子商务App,如
2017-11-30 09:05:10 310
原创 Android实现网络多线程断点续传下载
Android实现网络多线程断点续传下载我们编写的是Andorid的HTTP协议多线程断点下载应用程序。直接使用单线程下载HTTP文件对我们来说是一件非常简单的事。那么,多线程断点需要什么功能?1.多线程下载,2.支持断点。使用多线程的好处:使用多线程下载会提升文件下载的速度。那么多线程下载文件的过程是: (1)首先获得下载文件的长度,然后设置本地文件的长
2017-11-29 19:32:32 150
原创 android的四种对象引用级别:强、弱、软、虚引用
android的四种对象引用级别:强、弱、软、虚引用android中的强引用,弱引用,软引用,虚引用。代表了android中的对象引用级别,也即代表了java的垃圾回收机制,看可以简单理解为内存释放。1、强引用:强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意
2017-11-29 09:21:05 344
原创 数据库事务
数据库事务 事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 针对上面的描述可
2017-11-27 14:20:48 150
原创 属性动画-菜单以散开的方式弹出
属性动画-菜单以散开的方式弹出我们先来看XML文件,文件名是activity_main.FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wid
2017-11-25 10:46:27 779
原创 Android使用属性动画,实现分散式弹出菜单
Android使用属性动画,实现分散式弹出菜单布局文件: LinearLayout android:orientation="horizontal" android:gravity="center" android:layout_width="match_parent" android:layout_height="match_parent"> ImageView
2017-11-25 10:30:26 446
原创 Android 节操视频播放器jiecaovideoplayer使用
Android 节操视频播放器jiecaovideoplayer使用特点:全屏时启动新Activity实现播放器真正的全屏功能能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作ListView的拖拽和ViewPager的滑动时如果划出屏幕会自动重置视频视频大小的屏幕适配,宽或长至少有两个对边是充满屏幕的,另外
2017-11-24 20:20:22 3374
原创 MVP+okhttp请求网络接口
MVP+okhttp请求网络接口manifest加权限:uses-permission android:name="android.permission.INTERNET" />build.gradle添加依赖:recyclerview依赖:compile 'com.android.support:recyclerview-v7:26.0.+'okhtt
2017-11-23 14:27:16 348
原创 Android内存泄漏产生的原因以及解决方案(OOM)
Android内存泄漏产生的原因以及解决方案(OOM) 为什么会有内存泄漏?一个不会被使用的对象,因为另一个正在使用的对象持有该对象的引用,导致它不能正常被回收,而停留在堆内存中,内存泄漏就产生了Android系统为每个应用分配的内存是有限的,内存泄漏会使我们的应用内存随着时间不断的增加,造成应用OOM(Out Of Memory)错误,使应用崩溃. 如
2017-11-22 15:41:03 265
原创 HTTP和HTTPS的概念
HTTP和HTTPS的概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏 览器更加高效,使网络传输减少。http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非常容易遭遇劫持、监听、篡改,严重情况下,会造成恶意的流量
2017-11-22 15:30:51 396
原创 adb常用命令
adb常用命令就是使用dos命令行,来操作手机(打开dos命令行,只需要在 电脑菜单里搜索里输入cmd即可) #ADBadb:android debug bridge 安卓调试桥* adb devices‐>查看链接到电脑上的所有的手机设备。 (模拟器,真实的手机) * adb kill‐server‐>杀死adb的调试桥 * adb start‐serve
2017-11-02 19:13:56 524
原创 单例模式
java设计模式--单例模式 单例设计模式Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。核心知识点如下:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。(3)
2017-11-02 18:30:47 233
原创 android studio快捷键
android studio快捷键 Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文
2017-11-02 18:02:50 175
原创 NetCallBack 泛型封装 + okhttputils封装
!!!注意NetCallBack 泛型封装 和 okhttputils封装不要写在一个类中! public interface NetCallBackT> { void successNet(T t); void errorNet(String errorMsg, int errorCode);} okhttputils封
2017-10-28 10:58:30 534
原创 属性动画_点赞
属性动画_点赞动画效果1.添加依赖:compile 'me.yifeiyuan.periscopelayout:library:1.0.0'2.xml布局 <me.yifeiyuan.library.PeriscopeLayout android:id="@+id/periscope" android:layout_wid
2017-10-28 10:44:20 366 1
原创 okhttp封装类
okhttp封装类public class OkHttp3Utils { /** * 懒汉 安全 加同步 * 私有的静态成员变量 只声明不创建 * 私有的构造方法 * 提供返回实例的静态方法 */ private static OkHttpClient okHttpClient = null; p
2017-10-26 10:35:06 222
原创 购物车二级列表
1.先加权限uses-permission android:name="android.permission.INTERNET"/>uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>uses-permission android:name="android.permission.READ_
2017-10-26 10:02:02 540
原创 面试题
okhttp二次封装的实现原理:1.将网络请求提取在一个方法里2.对里面的可变参数,可以通过参数传递过去,也可以提供一个set方法传递过去3.对于请求失败和成功,我们可以使用接口回调,让调用该方法的对象处理android的四种引用方式强引用 软引用 弱引用 虚引用java的四种启动方式
2017-10-26 08:18:23 249
原创 MVP购物车
权限: 依赖: testCompile 'junit:junit:4.12' compile 'org.xutils:xutils:3.5.0' compile 'com.google.code.gson:gson:2.8.1' compile 'com.nostra13.universali
2017-10-25 20:11:07 284
原创 购物车
对于购物车自己做的一些简单的逻辑处理,能力有限还望多多指教 使用RecyclerView展示的数据 首先在主界面的布局是这样的RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
2017-10-25 20:01:06 168
原创 捕捉全局异常
捕捉全局异常在文件里面注册声明import android.app.Application;import tes.ray.view.activity.CrashHandler;public class MainApplication extends Application{ @Override public void onCreate() {
2017-10-21 16:49:02 187
原创 RecyclerView为每个item添加点击事件
RecyclerView为每个item添加点击事件最终目的模拟ListView的setOnItemClickListener()方法,调用者只须调用类似于setOnItemClickListener的东西就能获得被点击item的相关数据。原理为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将
2017-10-21 16:44:52 2187
原创 自定义控件——加减器
自定义控件好处:提高布局文件开发效率降低布局文件维护成本降低布局文件和Activity代码耦合性容易扩展简单易用分类:1.自绘控件(完全自定义控件):继承的是View2.组合式自定义控件:继承的是viewGroup3.继承式自定义控件一:首先说一下自绘式自定义控件,实现它需要牢记三个方法:1. onMeasur
2017-10-20 09:45:20 1198
原创 购物车加减
这是效果图如上图就是需要我们去实现的功能。.这单个功能比较独立,而且一个界面如果到处写这样的小控件也麻烦不方便管理,再者不方便二次利用,所以我需要把他封装成一个控件封装控件,也叫自定义控件有那些好处呢?1.功能模块的完整性2.可以更好的维护与扩展,3.可以二次利用,不需要重复靠轮子xml布局文件:LinearLayout android:g
2017-10-20 09:40:52 334
原创 recyclerview + OKHttp3 + 拦截器
recyclerview + OKHttp3 + 拦截器1.首先添加依赖okhttp依赖:compile 'com.squareup.okhttp3:okhttp:3.9.0'recyclerview依赖:compile 'com.android.support:recyclerview-v7:26.0.+'Gson依赖:compile
2017-10-17 10:10:32 749
原创 高德地图
高德地图前言当项目中需要使用地图SDK的时候, 是选择高德地图还是百度地图呢?从对开发者友好角度,从容易上手角度:高德完胜百度! 所以我们公司的项目也选择了高德地图。好了!下面就开始高德地图的集成吧!一,账号与Key的申请注册成为高德开发者需要分三步: 第一步,注册高德开发者;第二步,去控制台创建应用;第三步,获取Key。 前2步都比较简单,这里说下第三步。
2017-10-17 09:44:27 412
原创 常见的各种异常
常见的异常1.在面试过程中java Exception(runtimeException )是必会被问到的问题,常见的异常有四五种,是基本要求。其他的就需要我们大家在开发过程中去积累了!常见的几种如下: NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。IllegalArgumen
2017-10-17 09:37:50 422
原创 RecyclerView实现条目展示 增加删除 3种管理器
RecyclerView实现条目展示 增加删除 3种管理器一:布局管理器有三种:LinearLayoutManager 现行管理器,支持横向、纵向。GridLayoutManager 网格布局管理器StaggeredGridLayoutManager 瀑布就式布局管理器二:ItemDecoration 下划线效果在使用RecyclerView 的时候有三种东西是可以
2017-10-13 09:50:34 574
原创 二维码的扫描和生成
1.扫描二维码:我们扫描就是要用到这个CaptureActivity类,直接把上面下载地址里面下载了里面的libzxing作为Module,如下图:首先加上权限 相机--> uses-permissionandroid:name="android.permission.CAMERA"/> 振动--> uses-permissionan
2017-10-12 18:33:38 242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人