- 博客(189)
- 资源 (50)
- 收藏
- 关注
原创 使用WireShark抓包分析Android网络请求时间(一)
WireShark是一个非常准确和稳定的tcp抓包工具,但看其40多m的安装包就可以想象其功能的强大,借助其功能强大的表达式筛选器,可以迅速的筛选出来我们所需要报文和记录,最近我就通过WireShark推断网络性能问题的故障点,收获颇丰。
2016-05-12 16:39:58 16732
原创 Android 批量上传图片进度回调
之前写过一个对图片进行高保真压缩的文章,把图片压缩的这么小当然是为了上传的,这次就把图片批量上传的代码也一起贴出来,这个方法是基于xUtils的Http模块首先这个上传过程要满足一下特性1、开启多个线程进行图片的批量同时上传2、每张图片的上传进度都可以获取到,并且显示在界面上3、如果有一张图片上传失败就宣布上传过程失败,然后等待用户再次发起同样的上传命令4、所有图片均上传成功后
2016-04-27 19:56:14 7897 5
原创 Android 自定义本地图片加载库,仿微信相册
总结一下微信的本地图片加载有以下几个特点,也是提高用户体验的关键点1、缩略图挨个加载,一个一个加载完毕,直到屏幕所有缩略图都加载完成2、不等当前屏的所有缩略图加载完,迅速向下滑,滑动停止时立即加载停止页面的图片3、已经加载成功的缩略图,不管滑出去多远,滑回来的时候不需要重新加载为了满足上面几个要求,主要采用以下几个方法:0、为了防止图片加载出来OOM,需要对分辨率和颜色的位数进
2016-04-27 19:28:29 12473 6
原创 Android Studio 引入编写好的.so库
关于如何搭建Android NDK开发环境,并编译出相应的.so文件和jar包,请参阅我之前写的一篇文章《eclipse配合Android Studio部署Android NDK开发环境》如果自己编写好了.so库,那么如何连同jar包引入Android Studio,就是本次所要讨论的问题百度了好多办法都没啥用,最后从老项目中找到的解决办法首先在main文件夹下新建一个文件夹j
2016-04-14 10:48:21 897
原创 Android 高质量高压缩比图像压缩
一般Android项目都有从相册选取照片并上传到服务器的需求,但是不能对file文件直接上传,因为对于一些像素特别高的手机,拍出来的相片体积也会特别巨大,比如1300万的相机最大能达到9-10m,这样在上传之前就需要进行压缩,而压缩氛围图像大小的压缩和品质的压缩,在压缩过程中很有可能会出现OOM的情况,下面是一个图片压缩工具类,思路是先进行图像宽高的压缩,将比较大的图片压缩到1280*1280的大
2016-04-06 20:21:22 3769
原创 Android 获取textView高度的N种方式
TextView在绘制完成之前不管是getHeight方法还是getMeasuredHeight方法拿到的都是0.然而有些地方需要在TextView绘制完毕后就拿到TextView的高度甚至行数,本文给出了多种方法在绘制前和绘制后测量TextView高度,并展示了LinearLayout包裹TextView时测量高度的代码
2016-04-06 20:09:30 26272 1
原创 Android可以纵向滚动的textView
1、一段文字,最多显示两行,点击某个单词进入A页面,点击另一个单词进入B页面,2、如果句子太长的话,让这个textView可以上下滚动,但textView的高度始终是原来两行的高度,不能增高,并且单词的点击事件不能消失,3、由于这个textView是套在recyclerVIew中的,在滚动textView的时候还不能让recyclerView滚动。而且为了性能问题,不能采用scrollView内嵌textView的方式,所以采用了下面的方法。
2016-03-21 12:51:32 2773
原创 Android ViewPager 小圆点指示器
一个很常用的功能,一个ViewPager会自动滚动,并且有一排小圆点黑和白来指示当前的滚动进度首先写一个ViewPager的适配器,这里这个适配器为了方便里面的元素全都是ImageViewimport android.content.Context;import android.os.Handler;import android.support.v4.view.PagerAdapter
2016-02-29 10:08:49 4631
原创 Java 数字转为可朗读中文的函数
有时候做一些语音播报什么的,需要把数字转换为可朗读的汉字或者音节,而且要符合朗读习惯,比如10001要读成“一万零一”,下面写了个函数专门做这个事public class ChangeIntToChinese { static StringBuffer stringBuffer;//静态全局变量,一个用于接收字符串的stringbuffer /** * 这个函数是核心,用来
2016-01-30 15:31:20 1375
原创 Java泛型子类继承调用
假设有这么一个需求:在一个函数中传入一个对象,并给出这个对象的类及其一个子类,如果这个对象是其子类的实例,那么就执行子类的方法,如果不能强转那么就执行这个父类本身的方法。或者这样的需求:还是给出一个对象,但是给出类及其子类,要求为了代码可读性将子类方法和父类方法分开写。下面是一个泛型写法。以imageView及其父类View为例。首先是几个接口 interface CallbackHah
2016-01-17 22:37:47 3484
原创 xUtils 里的DbUtils使用心得
使用xUtils做Android数据库开发非常简便和得心应手,而且它本身还支持很多查询功能,比如一对多,select count和自定义sql查询等,并且支持事务(默认关闭)下面是官方sample给的代码和我的一些使用心得首先是两个实体类,对应两张表,这两张表中有一对多的关系首先是多方:import org.xutils.DbManager;import org.xutils.d
2016-01-15 13:24:15 7325
原创 twitter官方Android sdk部署方法
推特推出了自家的sdk,不过是放在fabric这个插件里一起发布的,所以多数人并不知道有这么个东西。而且这个fabric在Android Studio中很方便使用,但是在eclipse里就需要手动去配置很多环境,下面介绍一下这个插件的使用方法。首先需要翻墙一下并保证网络畅通,然后在Android Studio中选File-settings-plugins 点下面的 Browse reposit
2016-01-11 16:32:46 4002
原创 Android 分享到其他app
首先介绍一下最简单最常用的分享方式,就是先获取系统里有分享功能的app列表,然后用intent传输一些值过去下面是获取系统中可分享的app的代码private List activityList; private void init() { PackageManager pm = mContext.getPackageManager(); In
2016-01-08 14:55:44 1069
原创 Android 保存bitmap到相册
安卓原生的保存相册方法可以用但是可调参数很少,对三星这样的手机支持不好,图片的创建时间一般为1970.1.1,可以通过复写android原生的方法来添加相关参数,比如照片创建时间和gps位置信息什么的下面是保存到相册用的函数/** * Insert an image and create a thumbnail for it. * * @param cr
2015-12-31 13:34:50 3085
原创 Android 自定义ViewPager的滑动速度
android当中的Viewpager用作自动滑动的轮播效果时,其滑动速度要比ios快好多,不是很美观。其实v4包里的viewpager已经预留了速度接口,但是并没有对外开放,而写自定义viewpager经笔者测试很不现实,于是只能拿viewpager里面的私有成员Scroller 来开刀。首先复写scroller这个类的一些重要方法public class FixedSpeedScrol
2015-12-28 18:18:07 1028
原创 Android listView 头部添加透明titleBar
效果图如下activity布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" an
2015-12-28 15:08:51 1244
原创 Android 给scrollView添加毛玻璃效果的标题栏
效果如下首先是布局文件,头部的标题栏是个压在scrollview上面的自定义控件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/windo
2015-12-25 18:00:58 1277
原创 Android 毛玻璃效果弹出菜单动画
仿ios上屏幕下方向上滑出来的一个模糊菜单,效果如下原理很简单,页面上原来有一个gone的framelayout,调用方法让它弹出的时候加了一个位移动画,让它从底部出来,出来的时候给这个framelayout里的一个imageView设置一个模糊后的截屏图片,并且这个图片也加一个相同时间的反方向位移动画,这个demo里用到的Blur模糊类和自定义imageView可以去我前两篇博客上找
2015-12-24 17:56:21 1706
原创 Android 毛玻璃效果对话框
一个popwindow,在弹出的时候背景是原界面的截图加高斯模糊效果先给出popwindow的布局文件<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/FrameLayout1" android:layout_width="match_p
2015-12-24 08:56:45 4646 3
原创 Android模糊bitmap的工具类
传入一个压缩好的bitmap,返回一个同等大小的模糊后的新bitmap,效率感觉还行package com.npi.blureffect;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.os.Build
2015-12-23 11:03:47 1424
原创 Android可以动态控制图片显示区域的自定义ImageView
一个imageView经常需要动态的控制里面图片的显示区域,比如根据触摸去改变里面图片的显示位置,或者放大镜效果等,于是做了这么个自定义控件,亲测好用,而且已经做了参数容错,只要传入上下左右的偏移量即可,不用担心传入的数过大。而且还可以设置默认的偏移量package com.npi.blureffect;import android.content.Context;import andr
2015-12-23 10:51:48 5335
原创 Android 动态控制控件的位置
下面是个小例子,给listView设置一个背景,通过感应listView的滑动,让背景也跟着一块动,但是背景动作幅度要比listview大// Prepare the header view for our list headerView = new View(this);//headerView是一个只有宽高,没有内容的空白view headerView.setLayoutParams(
2015-12-22 18:09:32 2864
原创 MyEclipse Hibernate环境搭
myeclipse由于其内置了hibernate的所有库和包,所以搭建环境特别容易,具体步骤如下首先,新建一个工程,然后在项目树里右击这个工程,选择安装hibernate支持,如图所示2,点击之后按照提示选择相应的java环境和hibernate版本选择生成hibernate.cfg.xml文件和HibernateSessionFactory.java类,其中Hiber
2015-12-15 10:32:43 805
原创 使用xUtils做图片下载缓存
首先需要下载xutils 的库写一个工具类,封装相关的方法public class ImageUtils{ /** * 给出图片的url和环境,从网上加载图片并显示在给出的imageView上 * @param context 环境 * @param imageView 控件 * @param imageUrl 如http://bbs.lidro
2015-12-14 16:13:20 2202
原创 Android使用bit.ly的api获取url 短连接
bit.ly相比起twitter和google的短连接服务,使用起来更为简单(谷歌的弄了一晚上也没弄出来)而且使用的是get方法,测试和上手都比较容易,下面是使用android 原生类写的通过长url获取短连接的方法,拷贝过去就可以直接用了,而且附赠我自己申请的key,免除诸位申请key的麻烦。但是把长连接换成短连接有什么用我还没看出来,至少在twitter上发东西twitter会自动帮你转的
2015-12-10 19:17:35 11172
原创 JAVA 去除字符串的非法字符
方法一:使用正则表达式,只保留常见字符String wrongString = "sdfsa f,ds。";String correct = wrongString.replaceAll("[^0-9a-zA-Z]J*","");匹配结果:共找到 2 处匹配:,。方法二:根据ASCII码匹配,去掉不合法的ASCII码 /** * 清除ASCII码中的换
2015-12-10 14:53:35 11862
原创 Android 获取手机的IMEI等设备信息
获取IMEI等 public String getPhoneInfo(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); StringBuilder sb
2015-12-09 09:10:34 7035
原创 根据经纬度判断一个点是否在一个矩形范围内
在实际应用中经常会遇到这样一种需求,由最大最小的经纬度给出一个矩形范围,然后判断一个点是否在这个范围内部,由于经纬度有负有正,而且经度跨越正负180度后变号并且反向增减,一两步计算不出来,下面给出一种计算方案,其中在经度的处理上,只有劣弧计入范围内部,也就是只有小于半球面的那部分算作区域内部,如果想算超过180的大面积,请求反操作。下面是主要方法:/** *
2015-12-07 23:10:15 14101 5
原创 Android自定义TextView省略号样式
在布局xml中设置textView的字段 android:maxLines="2" android:ellipsize="end"字段之后,textview会自动压缩行数,并且对压缩掉的部分用...显示。如果不想用...而想用。。。或者... ...就需要自定义这个省略号的样式,不需要自定义控件,方法如下。首先是布局文件 <TextView android:id="@+i
2015-12-06 22:44:21 5991
原创 使用Andorid原生工具类获取手机经纬度
对于不使用任何第三方地图sdk的设备,可以直接获取gps传感器,基站传感器,wifi传感器所获取的经纬度,一般写一个service放在后台,代码如下import android.app.IntentService;import android.content.Context;import android.content.Intent;import android.location
2015-12-03 08:49:49 5096
原创 JAVA Socket基础例程
1、tcp通信例程:由客户端发一条字符串到服务端,服务端收到之后相应,客户端收取相应字符串。首先是服务端接受连接的代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io
2015-11-21 18:30:31 971
原创 MySQL存储过程的简单用法
情景1:使用存储过程做简单的四则运算传入三个整形参数,求他们的和,用第三个参数作为返回DELIMITER $$USE `school`$$ !-- 选择表名DROP PROCEDURE IF EXISTS `proc_2`$$ !-- 设置存储过程的名字CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_2`(a
2015-11-21 17:00:09 724
原创 使用通道和byteBuffer进行大文件分批传输
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.nio.chan
2015-11-20 20:59:47 2415
原创 使用javaassist在内存中动态生成类
public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, ClassNotFoundException, IllegalArgumentException, InvocationTarg
2015-11-20 20:28:32 6483
原创 把一个对象存储到硬盘上——Externalizable
Java的对象不仅可以在内存中调用,还可以在硬盘中存取,需要实现一个Externalizable接口,下面介绍其简单用法首先,写一个类实现Externalizable接口import java.io.Externalizable;import java.io.IOException;import java.io.ObjectInput;import java.io.ObjectOut
2015-11-20 17:22:33 947
原创 Android四大组件易考题分析
题型1:请列出Android四大组件:答:Activity,Service,BroadcastReceiver,Provider题型2:请描述下Activity的生命周期答:7个生命周期 onCreate-onStart-onResume-onPause-onRestart-onStop-onDestroy;解析:题型3:Android常用的五种布局?答:流布局,帧
2015-11-20 11:41:29 1228
原创 使用序列化方法进行sql行转列
本人听网课做的一点笔记,感觉很实用,分享出来表结构:sql 语句其中,tb_sequerce表是一个只含有一列id的表,如下create table tb_sequence(id int auto_increment not null primary key(id))向里面添加行数应于源表中号码最多那个人的号码数相同然后 a表代替tb_sequerce,b代表u
2015-11-20 11:35:46 688
原创 mysql多次join同一张表的处理
在做多表联查的时候有时候会碰到一条sql需要多次查同一张表的情况,比较常见的是主表和码值表的匹配。如主表的多个列都记录了编号信息而非实际内容,需要去码值表去查对应的实际内容,就需要多次join码值表。举个简单的例子,一个班有两个老师,在班的表里记录了两个老师的id,现在要把id换成这两个老师的名字,就需要按照老师的id去查老师表,也就是班级表需要两次join老师表来获取两个老师的名字,如果直接...
2015-11-17 20:09:47 34175 6
原创 Andorid制作内含控件的自定义布局
首先可以先写一个xml文件将整体的样式写在里面,方便调用,起名叫attr.xml放在res/values目录下 第二步,写一个类继承RelativeLayout,生成相应部件package com.example.myviewtext;import andr
2015-11-16 11:09:16 537
HG255D OP 15.05.1 一些第三方的ipk安装包
2016-12-01
Openwrt_wndr4300_CC_15.05.1_SS_luci用到的ipk包
2016-11-23
HAProxy+Redsocks2+luci及依赖包 ar71xx CC 15.05.1
2016-11-14
HG255d HAProxy+Redsocks2 CC 15.05及luci和依赖包
2016-11-14
Openwrt版HAProxy Redsocks2及依赖包for ar71xx
2016-11-05
Openwrt版HAProxy Redsocks2及依赖包 for WNDR4300 OP CC 15.05.1
2016-11-05
Openwrt版HAProxy及依赖包用于WNDR4300 OP CC 15.05.1
2016-11-05
明月Openwrt固件Barrier Breaker 14.07 r47805 元旦版
2016-09-16
keil MDK v4的jlink仿真设备
2016-04-24
android 23.0.1编译库合集
2016-01-21
android.support.design 23.0.1
2016-01-21
twitter官方Android开发sdk
2016-01-11
support-annotations-23.0.1.jar
2016-01-11
gtk2 for WebSphere on AIX
2018-06-13
GCC for AIX7.1及依赖rpm包
2018-05-18
GCC for AIX7.1及依赖包
2018-05-18
Nginx 1.12.2 及依赖包 for AIX 7.1
2018-03-01
nginx1.12.1源码
2017-10-25
dnsforwarder可执行文件
2017-10-16
system-config-lvm
2017-09-12
2017.3最新PandoraBox aria2和luci安装包
2017-03-23
Ralink3070网卡驱动for Windows XP
2017-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人