自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 收藏
  • 关注

原创 优秀博客

http://gityuan.com/

2018-05-16 17:41:19 184

转载 Android开发实践:在任意目录执行NDK编译

转载自:http://www.linuxidc.com/Linux/2014-12/110168.htm前面一篇文章简单地介绍了Android ndk编译的一些命令行参数(http://www.linuxidc.com/Linux/2014-12/110167.htm),一般情况下,我们都是在Android工程的jni目录下编译本地代码,或许用不到那些参数,但是如果你需

2018-04-21 23:57:30 589

转载 Android系统编译过程中常见问题汇总(1)

作者:徐文1、问题一:/bin/bash: bison: 未找到命令 解决方法:$ sudo apt-get install bison 2、问题二:You are attempting to build with the incorrect version of java.Your version is: /bin/bash: java: 未找到命令.The correct version is...

2018-03-06 16:00:04 514

转载 类找不到异常

一般是findClass方法中会抛出ClassNotFoundException的异常,defineClass会抛出NoClassDefFoundError的错误,我们看到findClass是在外部存储器中查找class文件的,defineClass是在内存中定义class的时候所以总结:加载时从外存储器找不到需要的class就出现ClassNotFoundException 

2017-10-26 17:42:14 1388

原创 android 8.0新特性

背景介绍谷歌2017 I/O开发者大会今年将于5月17-19日在美国加州举办。大会将跟往年一样发布最新的 Android 系统,今年为 Android 8.0。谷歌在今年3 月21日发布 Android 新系统开发者预览版时已给新系统取名为 Android O。自2008 年发布以来, Android 依靠 Google 的生态运作,全球市场份额在2016年底已超过85% 。而近几年依靠 Andro

2017-07-10 11:24:19 680

转载 android:maxHeight,android:maxWidth失效,不起作用

版权声明:本文为Zhang Phil原创文章,欢迎转载!转载请注明出处:http://blog.csdn.net/zhangphil在Android的布局文件中,设置某一个view的最大宽和最大高,比如ImageView,如果仅仅这么做:android:maxHeight="25dip" android:maxWidth="25dip" 没有作用,完全失效。原因是:仅仅设置view的maxHe

2017-06-19 15:42:31 15465 12

原创 hybird架构之离线缓存

hybird架构的优缺点现在越来越多的应用采用hybird架构进行移动app开发了,主要是其有以下几个优点: 1. H5开发效率高、跨平台、低层本 2. H5从业务开发上讲,没有版本问题,有BUG能及时修复 但同时H5开发也有些明显的缺点: 1. 只能使用有限的设备底层功能(无法使用摄像头、方向传感器、重力传感器、拨号、GPS、语音、短信、蓝牙等功能) 2. 体验没有原生好,过于依

2017-05-21 17:22:43 1983

原创 加密解密,数字签名及证书

欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用

2016-12-12 16:43:57 7852 3

原创 Android gradle配置文件简析

Android gradle配置文件简析利用android studio创建一个默认的android app项目,得到的目录结构如下 其中箭头所指向的三个gradle文件即是执行app编译打包的构建脚本 当在要目录下执行gradle时,gradle运行时框架会依次解析执行项目的gradle文件,先解析执行根目录下的setting.gradle和build.gradle两个文件,然后根据modul

2016-11-14 21:48:36 1085 1

原创 ios中代码打开app store

打开app store,并跳转到特定的app下载页面.注意地址后面最后一部分id933148709代表特定的app,大家可以换成自己指定的app id,该app id是该app在app应用商店中url的最后一部分NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id933148709"]

2016-01-21 18:11:38 966

原创 ios系统获取ssid

//获取ssid- (NSString *)getCurrentConnectSsid { NSString *currentSsid = @"未知"; CFArrayRef myArray = CNCopySupportedInterfaces(); if (myArray != nil) { CFDictionaryRef myDict = CNCopy

2016-01-04 16:05:23 897

原创 ios中代码打开第三方app

被打开的第三方需要定义URL Schemas,比如阿里小智,其定义的URL Schemas为alink://open,故打开阿里小智的app代码如下: //打开阿里小智 BOOL result = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"alink://open"]]; if(!result

2015-12-26 10:28:01 574

原创 iOS侧滑菜单实现

这个是参照鸿洋的android侧滑菜单实现的,同样利用scrollview实现,很简单,这是鸿洋侧滑的实现链接打造最简单的自定义侧滑菜单第一种测滑#import <UIKit/UIKit.h>@interface SlideMenu : UIScrollView@property (nonatomic, assign) BOOL isMenuOpen;/**设置菜单和内容*/-(void)se

2015-10-22 19:54:15 4214

原创 FrameLayout的测量

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int count = getChildCount(); //如果传入的测量规格有一个不是match_parent,则将其标为true(这里为了处理当一个父控件,比如FrameLayout布局参数设置为wr

2015-10-12 19:36:25 719

原创 ViewGroup与测量相关的几个方法

//此方法逻辑已经总结在下面的表中 //这个方法是根据父类传递的规格以及子类的layout参数来共同确定新规格 //参数spec是父亲传入的规格,padding是viewGroup的padding(水平或竖直)和子view的margin(水平或竖直)(如果都有的话),childDimension其实就是子view的layout参数(layoutParam的width或者heigh

2015-10-12 19:15:52 1284

原创 View中与测量有关的一些方法

/** * Utility to return a default size. Uses the supplied size if the * MeasureSpec imposed no constraints. Will get larger if allowed * by the MeasureSpec. * * @param size Def

2015-10-12 17:39:27 478

原创 android网络访问顺序

如果打开了wifi并且连接上了热点,则会用wifi连接而不用数据连接如果打开了wifi但其没有连接热点,则用数据连接如果没有打开wifi,则用数据连接

2015-10-12 11:07:08 665

原创 ScrollView测量分析

ScrollView是继承FrameLayout,其对子view的测量比较怪异,因为其重写了FrameLayout中的几个测量方法 @Override //scrollView重写的onMeasure方法 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //调用frameLa

2015-10-05 19:50:23 1580

原创 ViewPager实现无线循环滚动

实现思路,我们普通的ViewPager无法实现无线循环滚动,主要是因为我们在适配器里返回的view数量有限,所以也有就是有限的几页可以滚动,如果将适配器里返回的view数量设置为无穷大,那么可以滚动的页面就无穷多了,可以无穷滚动。实现代码public class MainActivity extends Activity { private ViewPager vp; priva

2015-09-28 09:56:23 618

原创 android圆角图片的实现

public class CornerImageView extends ImageView{ private Paint mPaint = new Paint(); //圆角半径 private float rx = 0; private float ry = 0; public CornerImageView(Context context, Attrib

2015-09-22 18:02:11 380

原创 android状态选择器小技巧

今天看别人写的状态选择器学了一个小技巧,见如下代码,小技巧主要是selector的两个属性android:enterFadeDuration以及android:exitFadeDuration,设置此属性可以使状态变换时会有淡入淡出的效果<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.and

2015-09-04 14:27:36 2136

原创 XListView源码分析

XListView源码共有三个java类 XListViewHeader类是是一个LinearLayout,代表刷新头部

2015-09-02 10:22:24 477

原创 Drawable的setBounds方法

Drawable的setBounds方法有四个参数,setBounds(int left, int top, int right, int bottom),这个四参数指的是drawable将在被绘制在canvas的哪个矩形区域内。例如@Override protected void onDraw(Canvas canvas) { drawable.setBounds(100,

2015-08-29 23:44:20 47316

原创 ListView的setSelection用法

这次研究xListView源码看见其使用了这个setSelection(int position)方法,看了下其英文注释不明白什么意思,自己写了个demo了解了下其用法.这个方法的作用就是将第position个item显示在listView的最上面一项,假如有一个ListView控件,其一次只能显示10个item,但现在有20个数据项,设置好adapter以后,默认是第一个数据项显示在最上面,如果

2015-08-25 09:52:49 22708 3

原创 开源项目SwipeMenuListView学习笔记

SwipeMenuView里的每个菜单项都是个LinearLayout,其内部包含一个接口,用于将内部菜单项的点击事件暴露给外部//菜单点击监听接口,用于向外暴露菜单项点击事件 public static interface OnSwipeItemClickListener { //view表示被点击的菜单,menu代表菜单数据,index表示被点击的菜单项索引

2015-08-24 15:30:12 2075

原创 measureChild详解

这个函数是viewGroup提供的方法,供其子类使用测量child尺寸//测量是由父控件与子控件参数共同决定的,这里传入的是父控件的参考尺寸 protected void measureChild(View child, int parentWidthMeasureSpec, int parentHeightMeasureSpec) { //这里获取

2015-08-20 22:37:07 1018

原创 UITableView滑动删除学习笔记

UITableView自带滑动删除功能,不过默认是不开启的,需要使cell可以滑动并显示删除按钮,应该实现如下协议方法(这个方法也是删除按钮点击事件处理方法)#pragma mark 删除操作 UITableViewDataSource协议定义的方法//实现了此协议方法向左滑动就会显示删除按钮,只需要实现下就行了,方法体可以不写任何代码,但如果方法体不写代码就无法处理删除按钮点击事件了,删除按钮点

2015-08-20 14:15:25 506

原创 view测量学习笔记

view的onMeasure()方法protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //如果父控件指定了大小(mode为exacty或者at_most),将其设置为父控件指定的值,否则设置为该控件最小宽度(通过minWidth及minHeight指定或者根据背景图片指定),其中用到的两个函数见下

2015-08-20 00:27:21 437

原创 getWidth和getMeausuredWidth的区别

一直疑惑为什么有个getWidth还要有个getMeasuredWidth方法,以为两者是一样的,实际中好像大多数情况确定是一样的。今天研究View.offsetLeftAndRight函数以及View.getLeft函数,稍微看了下源码,貌似知道了两者的区别.getMeasuredWidth是onMeasure阶段根据view的布局参数以及其padding等各种属性计算出来的,由View.set

2015-08-13 15:15:00 858 1

原创 android之view测量总结

首先根view即DecorView会调用measure(int widthMeasureSpec, int heightMeasureSpec)方法,其传入宽度规格size分别为屏幕宽高,mode都是EXACTY。measure方法会调用回调函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)protected void onMeas

2015-08-12 15:28:47 403

原创 android事件分发总结

以下是activity类中的事件分发方法 public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction(); } if (getWindow().s

2015-08-12 14:33:52 429

原创 属性动画学习总结

一直以来用补间动画用的比较多,属性动画用的比较少,并用是用后即忘,每次都得在网上看看别人例子,属性动画的博文比较多,在此列出我看过的几篇郭霖的系列Android属性动画完全解析(上),初识属性动画的基本用法 Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法 Android属性动画完全解析(下),Interpolator和ViewPro

2015-08-10 18:44:35 820

原创 hongyang的博文深入理解Android中的自定义属性 学习笔记

自定义view属性已经写过不少了,但每次写时都是网上找个文章按步骤照葫芦画瓢,没有好好分析,尤其是对AttributeSet和TypedArray不太了解,今天看了hongyang的博文深入理解Android中的自定义属性,感觉认识进一步加深了,在此作下总结.AttributeSet里面包含了所有我们在布局文件里面给view设置的属性,代码获取属性值的方法如下public MyView(Cont

2015-08-08 17:10:29 2287 1

原创 activity切换动画总结

转载请注明出处:http://blog.csdn.net/szyangzhen/article/details/47357237今天没事总结了一下activity切换动画相关知识,包括淡入淡出动画,左滑入右滑出,顶部滑入底部滑出等比较简单的动画,现在记录如下activity淡入动画,放在文件act_switch_fade_in.xml中<?xml version="1.0" encoding="ut

2015-08-08 12:08:52 1745 1

原创 LayoutInflater方法Inflate三种重载的区别

LayoutInflater方法Inflate三种重载的区别今天学习了hongyang的博文Android LayoutInflater深度解析 给你带来全新的认识,对LayoutInflater三个重载方法inflate的认识又加深了一步,在此摘要其博文要点:Inflate(resId , null ) 只创建temp ,返回tempInflate(resId , parent, false )创

2015-08-07 17:38:16 544

转载 优秀博文

Android 通知栏Notification的整合 全面学习

2015-08-05 18:24:04 475

ios高仿QQ 5.0 侧滑菜单效果

iOS侧滑菜单的实现,个人认为实现比较简单,容易理解

2015-10-23

activity切换动画

activity切换动画,里面定义了各种activity切换动画,大家下载自己看效果吧

2015-08-08

The C++ Programming Language Special 3rd Edition.pdf

The C++ Programming Language Special 3rd Edition.pdf,英文版

2009-10-29

Struts权威指南

Struts权威指南_基于webwork核心的mvc开发

2009-04-06

空空如也

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

TA关注的人

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