- 博客(60)
- 资源 (27)
- 收藏
- 关注
原创 关于自定义父控件实现右滑动最后,继续滑动,加载刷新更多的另一种实现方案
关于自定义父控件实现右滑动最后,继续滑动,加载刷新更多本次采用继承ReleativeLayout作为RecyclerView父控件实现,与前文处理不一样的地方这是弹性实现上文采用设置margin,本次是view的width。实现过程,既然作为父控件,那么手势操作的处理,我们不用关心处理的过程,即onTouchEvent,我们关注事件的分发,即onInterceptTouchEvent 和dispa
2017-08-08 17:24:30
717
原创 Android 开发属性细节问题
1、android:focusableInTouchMode=”true”问题复现:RecyclerView中使用GridView(或者类似的控件),当页面发生跳转(跳转前上端正好处于GridView位置范围), 跳转回来时,RecyclerView自动移动至GridView位置范围最前端,导致后续下拉刷新等操作出现抖动的Bug。 原因是RecyclerView焦点引起,于父控件中设
2017-08-08 16:19:15
441
原创 横向加载更多(查看更多)RecyclerView
实现方式是不改变RecyclerView本身,定义了一个父控件装载,查看更多和架子更多的view也同样作为该父控件的子控件。有简单的阻尼回弹效果。 实现代码:public class PulToLeftViewGroupl extends LinearLayout implements ViewTreeObserver.OnGlobalLayoutListener { OnPullToLe
2017-08-01 18:24:41
7439
原创 Android中使用ViewPager实现一屏多页面的功能
效果图【录制后使用扣扣秀视频制作的gif,看见水印请别见怪】:实现的主要注意点【关于view pager的使用就忽略了】1、 Adapter需要重写函数—— @Override public float getPageWidth(int position);2、clipChildren属性的使用—-决定了一屏三页还是一屏两页,三页的就比如爱奇艺的横向滑动的左右两边有相互接
2017-08-01 10:37:26
3206
原创 net.lucode.hackware.magicindicator使用及修改
net.lucode.hackware.magicindicator打造万能指示器。 相关文章已经有很多,且具体可以下载源码阅读。 今天遇上的问题是使用标题位置的修改,使用的标题view是ColorTransitionPagerTitleView,它的父类是SimplePagerTitleView,其中关于文字位置部分的在init方法中,但这个方法时private,就是说无法修改,他设置左右边距
2017-06-26 10:51:12
6372
原创 检测地图app安装并且进入地图
public class PackageInstall { //"com.baidu.BaiduMap" //"com.autonavi.minimap" public static boolean isAppInstalled(Context context, String packagename) { PackageInfo packageInfo;
2017-06-26 10:33:36
748
原创 WebView Jsoup的使用封装
WebView直接加载url,但是当加载的是string,带有html标签的时候,需要处理图片,甚至文字大小也不能正常显示。下面的类是在项目中遇到时做的封装。处理图片适应,文字大小适应等问题。public interface IJsoupManager { Document getJsoupDocument(); IJsoupManager jsoupReceiverHtml(Str
2017-06-09 15:19:30
647
原创 android 华为虚拟按键适配
为了设置状态栏,会设置透明标签,而华为手机的虚拟按键有可能会遮挡底部导航栏。 requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_ad_main); getWindow().
2017-06-09 15:05:23
8246
原创 Android 7.0 FileProvider 自动更新适配
Android7.0自动更新发生异常的适配,provider,私有文件。 具体看项目,注意某些手机同为Android7.0未发生此问题,仅于华为手机中出现; 简单配置如下: ——manifest文件配置
2017-06-09 14:53:40
2349
原创 QQ第三方登录-非官方应用-请到官方网站下载正版应用-100044错误码
QQ第三方登录-非官方应用-请到官方网站下载正版应用-100044错误码问题出现:接手项目,未使用之前的签名文件原因:签名改变导致办法:联系QQ客服——开放平台800013811本人联系客服后,发现方法是QQ互联平台关联应用,登录名和密码使用腾讯开放平台即可。
2017-01-20 10:29:09
22240
原创 使用HttpUrlConnection获取数据,Unicode和GZIPInputStream的坑
对于HTTP的报文头设置,作为一名Android开发者,如果在没有使用第三方框架的前提条件下,直接使用HttpUrlConnection进行GET数据,会因为参数属性的设置导致一些不必要的麻烦。本文主要是我在裸辞后,找工作时,公司给的测试题,在使用HttpURLConnection访问数据时挖出的坑。共有两个大方向的BUG。一是GZIPInputStream,另一个是Unicode。 一、GZIP
2016-12-09 10:18:10
3477
原创 Android-RecycleView
本文主要是对RecycleView在使用时进行了一个封装,通过学习别人源码时觉得这种处理办法还不错,便增加上一个使用的方法,和添加XML解析,最后展现的一个例子。1、处理RecyclerView.ViewHolderpackage adapter;import android.support.v7.widget.RecyclerView;import android.view.View;/**
2016-10-25 22:20:50
348
原创 关于MVP模式的使用设计
MVP设计模式对于Android开发已经越来越被人使用,M模型,V视图,P主持者,Presenter所扮演的角色就相当于连接M和V的桥梁。P相当于JAVA设计模式中的一般的V是通过接口依赖注入,通过命令模式的方式进行,简单的理解命令模式就是使用接口的回调以达到对象方法的调用。命令模式在《JAVA设计模式》一书中解释为:涉及一个对象请求另一个对象调用其方法达到某种目的,但不希望或者无法含有被请求者的引
2016-10-25 22:03:10
890
原创 EventBus基本学习
EventBus: EventBus.getDefault().register(this); 源码: public static EventBus getDefault() { if(defaultInstance == null) { Class var0 = EventBus.class; synchronized(Eve
2016-10-17 18:27:27
381
原创 System.arraycopy实现数组扩容,ArrayList阅读记录
数组被定义以后不能再将length重新增大,但我们可以是有拷贝的方法进行扩容。 主要使用的函数——System.arraycopy(arr3, insertedIndex, arr3, insertedIndex + 1, elementCounts - insertedIndex); //把索引为insertedIndex位置开始的elementCounts个元素数据复制到arr3的
2016-10-17 18:26:33
1860
原创 关于进度条等控件在ListView的局部刷新方案的总结
关于进度条等控件在ListView的局部刷新方案的总结1、使用Tag标记,通过Tag获取ViewHolder对象,进入刷新数据 比如上传文件的进度条等内容的刷新: Tag处理的使用,也可以绑定到具体的某个控件,常用语解决因为缓存带来的数据错乱的BUG: ` convertView.setTag(viewHolder)`和 viewHolder = (ViewHolde
2016-10-14 19:25:28
2338
原创 Android Eclipse使用EventBus异常
1、Caused by: de.greenrobot.event.EventBusException: Subscriber class com.apical.aiproforremote.fragment.RemoteFragment already registered to event class com.apical.aiproforremote.eventbus.CameraSna
2016-10-14 18:06:54
1308
原创 NDK 初涉
1、定义调用的方法,含完整包名的类: 2、编译这个类,前提是JDK的环境变量配置正确。 3、生成.h头文件 4、生成的头文件内容: 5、实现jni的方法,C语言#include <jni.h>#include <string.h>#include <stdio.h>#include <stdlib.h>//将java字符串转换为c语言字符串(工具方法)char*
2016-10-11 21:55:14
529
原创 打造自定义弹出框
自定义弹出框的使用还是比较频繁,本次主要讲解自定义弹出框和使用的封装,通过接口利于维护。 首先给出自定义弹出框的实现:public class CustomPopupWindow extends PopupWindow implements OnTouchListener{ protected View mPopupView; protected Context
2016-10-09 19:44:19
2131
原创 Mob社会化分享和Fragment手势切换
MOB社会化分享具体整合方式可参看MOB官网技术文档 主要就是到相应平台申请应用做配置,只要配置正确,基本的功能就没有太大问题,当中开发者需要做的就是定义接口适应自己的项目内容。定义Fragment基类:package com.example.fragment;import android.app.Activity;import android.content.Context;import a
2016-10-08 20:41:24
1073
原创 异常问题处理办法记录
Error:Error: Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead [ValidFragment] 出现这个问题是因为使用Fragment重载了带参的构造函数,在类前添加@SuppressLint(“ValidFr
2016-10-08 20:17:09
443
原创 jsoup解析HTML
“` package com.test.html.jsoup;import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Iterator; import java.util.List
2016-10-08 20:06:49
408
原创 JAVA使用jxl.jar对excel表格进行操作处理
使用jxl.jar对excel表格进行操作处理对于写入的介绍: buffer.append(excelName); if (!excelName.contains(“.xls”)){ buffer.append(“.xls”); } file = new File(buffer.toString().t
2016-10-08 19:50:41
2456
原创 使用Netty搭建的服务端,主要用于文件处理和json处理
使用Netty搭建的服务端,主要用于文件处理和json处理 单例模式设计该类: public static SocketFileServer getInstance() { if (instance == null)instance = new SocketFileServer();return instance;}该类成员属性:pr
2016-10-06 23:19:11
8585
原创 仿百度地图自行车路线搜索和地图选点,覆盖物,途经点阅览,路线总长度计算等
仿百度地图自行车路线搜索和地图选点,覆盖物,途经点阅览,路线总长度计算项目完整参考下载地址:http://download.youkuaiyun.com/detail/tangzhide/96461071、主要使用百度地图API实现,项目AndroidStudio写的,使用的是百度地图最先的共享库文件和jar,项目代码中已经添加注释,2、使用MVP设计模式开发,
2016-10-05 23:28:53
1050
原创 jxl.read.biff.BiffException: Unable to recognize OLE stream:
jxl.read.biff.BiffException: Unable to recognize OLE stream:——原因分析:文件为.xlsx文件,非.xls文件,即使修改了后缀名也不可以,依旧会出现这个错误。jxl.jar中还会有一种情况出现,就是表格的最后一行一列如果没有值,是空着的话,在使用jxl来读取数据,不管是用行读取还是列读取,或者是单元格读取,都有可能会报出数组越
2016-09-28 18:20:42
1849
原创 error: Apostrophe not preceded by \ (in CREATE TABLE tb_cammonitor_configs
error: Apostrophe not preceded by \ (in CREATE TABLE tb_cammonitor_configs 出错地方:CREATE TABLE tb_cammonitor_configs (_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name VARCHAR(30) NU
2016-09-27 18:57:28
378
原创 DOM解析XML和生成
这里写代码片package com.tangyuedi.xml.dom;public interface IHolderXML { void createXMLByDOM(); void parseXMLByDOM();}————————————————————————————————————————package com.tangyuedi.xml.dom;import java
2016-09-14 19:36:45
316
原创 关于使用LruCache在Android中的缓存
关于使用LruCache在Android中的缓存原理是当设置的缓存大小达到边界值时,最近最少使用的会被最先移除缓存。使用这个类来作为缓存,存在一种情况,假设不得不在Application中做了数据保存或者其他原因在项目中不得不监听HOME键和BACK键,并且使用了System.exit(0)或者Process.killProces的时候,再次进入APP时,将会发现缓存在
2016-09-09 19:25:26
382
原创 Android使用DiskLruCachede的异常和封装
异常:keys must not contain spaces or newlines: "96e79218965eb72c92a549dd5a330112" 09-09 09:26:15.706: E/AndroidRuntime(22012): FATAL EXCEPTION: main09-09 09:26:15.706: E/AndroidRuntime(22012): Pro
2016-09-09 19:09:43
1033
原创 模拟在原来系统功能中需要引进新功能的适配器模式
模拟在原来系统功能中需要引进新功能比如原来有一个按钮,点击后会改变颜色,现在在改变颜色的同时改变一个文本框打印信息,不破坏原来的系统,那么我们原来的接口功能就是改变颜色。package com.test.adapter;/** * 现在的一个功能,比如按下一个按钮,按钮的颜色改变,后续需要扩展的为按下按钮显示一个文本框打印文字 * @author *
2016-09-07 20:04:31
255
原创 观察者模式
观察者模式适合使用在对某一个状态或者事件的监听,更新其所有的订阅者的状态package com.test.observer;/** * 发布 * @author * */public abstract class Publish {// 也可以使用接口作为定义public abstract void doSendingNewsPaper();// 更新发送
2016-09-07 19:11:35
229
原创 Eclipse开发Android真机调式经常遇到DeviceMonitor Connection attempts问题解决办法
Eclipse开发Android真机调式经常遇到DeviceMonitor Connection attempts问题解决办法:进入命令终端win+radb killadb restart无用adb devices不显示连接的设备或者没有设备连接进入Eclipse安装路径中找到sdk目录,进入后platform-tools目录下找到adb.exe文件,在
2016-09-07 18:56:01
4142
原创 Android下载工具类和json解析例子
package com.kuatang.decode;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.json.JSONArray;import o
2016-09-04 11:46:46
900
原创 SAX解析XML
关于使用SAX解析器的用法SAX的解析是逐行的解析方式,与DOM不同的点就是DOM是需要对XML文档先进行全部内容的加载,所以一般的XML解析采用SAX方式,效率比较高,而对于需要对XML文档进行修改操作,可以使用DOM,dom4j,另外对于XML的解析还有PULL的方法。举例:需要解析的原XML文件的具体内容:_______________________
2016-09-04 11:44:21
234
原创 记录
错误信息: invalid address or address of corrupt block 0x78db1e38 passed to dlfree 原因分析:使用一个循环去访问一个方法时候产生该错误,推测可能因为访问的方法中需要去调用 百度地图API。所以添加线程,并且做了延时,加上方法同步后,没有再报出该错。 //设置缩放级
2016-09-01 19:22:42
316
原创 记录
Android开启网络:______________________________________________________________________________________ public void setMobileData(Context pContext, boolean pBoolean) { try {
2016-08-31 19:23:19
295
原创 一般的数据库SQLite操作
一般的数据库SQLite操作package com.map.database;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.uti
2016-08-30 19:43:55
482
原创 Android的MVP
关于Android的MVP模式 M:ModelV:view P:Presenter M:用来处理比较繁杂的业务逻辑V:负责界面的更新和界面数据的获取,也可以和之前一般的做法,处理一些比较简易的逻辑P:介于M和V之间,个人理解的作为M和V的连接通信的桥梁 View一般的做法是定义一个接口,用于处理更新等业务比如下面的接口:public interfac
2016-08-30 19:39:04
682
原创 AndroidStudio使用GreenDao的方法
AndroidStudio下使用GreenDao的初步生成代码方式。1 File->New->New Module->JAVA Library greendao的java生成器代码目录结构 生成后的目录结构:编写GreeenDao的生成器代码(举例),和一般的java程序一样,需要引用到jar包:package com.example;i
2016-08-30 19:17:03
663
使用Fragment和手势打造
2016-10-08
服务通信方案总结
2016-10-08
服务端Netty搭建
2016-10-06
Android的DiskLruCache磁盘缓存
2016-09-10
ksoap2-android包
2016-08-28
json_jar包Java使用
2016-08-27
SlidingUpPanel上滑视图控件
2016-08-27
AprilKuatangWeather
2016-08-11
Android服务
2016-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人