自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xzy2046的专栏

梦想还是要有的,万一实现了呢!

  • 博客(44)
  • 资源 (6)
  • 收藏
  • 关注

原创 ListView优化新玩法,打造易维护,高性能,快速开发的ListView

如果让你实现一个如下图所示的复杂的ListView你会怎么设计?没准你会先继承一个BaseAdapter,实现其中的getView()方法,通过getViewTypeCount(),getItemViewType(int position)等方法在getView()中添加一大堆if...else...语句块,生成对应Type的View。当然,可能你还会想起ValueHolder模式,为每种Type定制一个ValueHolder对象,让性能大幅提升,也让代码大幅增加。到最后这个自定义的BaseAdap

2014-09-30 11:18:07 2089 2

原创 Android修改系统语言(DatePicker等组件显示的语言不对,该怎么办)

private void updateLocale() { try { Locale locale = getResources().getConfiguration().locale; if (locale == Locale.SIMPLIFIED_CHINESE) { //常量比较 return;...

2019-11-18 19:04:04 991

原创 在Android上使用libgdx-box2d物理引擎

前言相比Ios UiKit原生支持物理引擎,Android确实麻烦的不要不要。为什么用 libgdxAndroid上最方便的方案是jbox2D,缺点是在java层实现,物理多了之后性能很卡。笔者近期没有测试,11年左右在里程碑1上使用的时候那是巨卡无比。libgdx的物理引擎其实是封装的native版本box2D,在满足性能需求的同时,避免了开发JNI的烦恼,对于java程序员来说目...

2019-04-10 11:32:51 946

原创 Battery Historian 环境搭建

项目地址https://github.com/google/battery-historian安装方式Docker 或者通过go 编译。README 中 Docker使用的镜像地址国内使用不了。可以使用第三方镜像,但是版本一般都很老,不靠谱。建议自行在本地编译。或者直接使用下面这个现成服务:https://bathist.ef.lc/...

2018-03-28 21:44:33 643

原创 Android可动态改变compoundDrawable颜色的TextView

常常可以看到,许多应用的TabItem都是以Icon+Text的形式存在,例如微信,京东。当tabItem被置为selected状态的时候,icon和文字的颜色会发生变化。如下图所示:对于这种图片+文字的排版方式我们可以通过一个TextView实现 <TextView android:drawableTop="@draw

2016-03-01 14:15:03 2358

原创 Android6.0权限适配实践

Android6.0权限适配实践概要判断是否需要请求权限如何请求权限如何部分请求权限处理权限请求回调关于“自定义提示”的说明问题一:获取权限后进入设置取消权限再回到应用的问题问题二:勾选“不再询问”的说明判断是否需要请求权限关于权限申请,第一手的资料可以查看官方文档:http://developer.android.com/intl/zh-cn/training/permission

2015-12-23 13:41:20 5167

原创 Android获得文件所在文件夹名称

new File(path).getParentFile().getName();

2015-10-21 16:31:18 798

原创 git删除远程分支

git branch -r -d origin/branch-name

2015-10-13 10:35:08 444

转载 自定义可点击 富文本组件

zz: http://www.cnblogs.com/luction/p/3645210.html有的时候可能想在TextView中添加一些图片,比如下图,发短信输入联系人时,要把联系人号码换成一个图片,但这个图片无法用固定的某张图,而是根据内容进行定制的,这更像一个view。  当然,如果你不是view而是固定的图片,比如发信息时用表情图片替代特殊符号,那么实现起来会

2015-08-25 21:08:58 907

原创 Android通过build.gradle配置应用版本等信息

android { compileSdkVersion Integer.parseInt(System.properties['compileSdkVersion']) buildToolsVersion System.properties['buildToolsVersion']可以读取整个项目的gradle.properties中定义的值:systemP

2015-08-25 21:06:41 847

原创 TabActivity通过Intent向Child Activity传值

虽然TabActivity从API13 就废弃了,但是TMD项目中还在用,通过Intent启动应用时,Intent携带的信息只能传递到外层的TabActivity,在childActivity中通过getIntent()拿到的Intent并不是TabActivity的Intent. 解决方法:ChildActivity中通过getParent().getIntent()拿到Parent的i

2015-07-17 09:59:54 508

原创 Alpha百分比对应表

HexOpacity Values100% — FF95% — F290% — E685% — D980% — CC75% — BF70% — B365% — A660% — 9955% — 8C50% — 8045% — 7340% — 6635% — 5930% — 4D25% — 4020% — 3315% — 26

2015-04-26 11:11:14 1981

原创 Android 开发技巧 (资源文件篇)

Android开发中有一些容易被忽略的小技巧,本文是日常开发中的一些心得。tip 1.tools命名空间xmlns:tools="http://schemas.android.com/tools"AndroidStudio和ADT都支持实时显示xml布局效果,tools命名空间下的属性就是用来帮助实时加载显示效果的。常用的如tools:text<RelativeLayou

2015-04-24 09:19:56 1105

原创 Android Studio升级1.0 现有程序 build.gradle配置文件更新

1.gradle插件版本更新:     dependencies {-        classpath 'com.android.tools.build:gradle:0.8.+'+        classpath 'com.android.tools.build:gradle:1.0.0'     } zipStorePat

2015-01-29 20:23:46 963

原创 Android 5.0 通讯录sort_key不可用

官方提交如下:https://android.googlesource.com/platform/packages/providers/ContactsProvider/+/a6a9fa802d1b56c206c670ca1d313bc64effcb5d%5E!/commita6a9fa802d1b56c206c670ca1d313bc64effcb5d

2015-01-20 19:17:14 868

原创 Android 有checkbox时Activity启动默认不显示输入法。

网上很多资料说要放一个空的Linearlayout,完全是在误导大众,正确的方法如下: Android Manifest对Activity做如下设置:android:windowSoftInputMode="stateHidden"

2015-01-10 12:00:45 1148

原创 LinearLayout显示分割线(Divider)

Android LinearLayout显示分割线有两种方式:1.使用一个宽/高为1dp的View: android:layout_width="match_parent" android:layout_height="1dp" android:background="#FF0000" />2.直接使用LinearLayout的divider属性:

2014-12-20 18:39:49 7900

原创 Android Transition框架介绍&使用

简介自KitKat起,Android加入了Android Transition框架,可以帮助我们做一些Activity级别或View级别的动画效果,今天的内容就是如何在View上使用Transition。有别于传统的Animation,Transition需要对动画前后设置不同布局,通过相应的API实现两个布局的切换动画。而传统Animation只会对应一个布局文件,动画结束时,即使设置了

2014-12-02 16:21:13 3856 3

原创 Android自动化测试之UIAutomator(三)---比对测试截图

本文适合所有以图片作为输出的自动化开发工具(不仅限于Android)。 当我们进行一组自动化测试后,除了通过断言,往往还会采用截图比对的方式分析测试结果,这种情况下人力再次成为效率的瓶颈,能否通过一定的方式对图片进行预处理,将Diff 的区域标出,方便开发人员进行分析呢? 本文的方法是通过一个bash脚本获得图片的不同之处,并生成一个可视化的html文件。以帮助开发/测试人员快速分析测试结果。

2014-11-17 15:16:18 4252

原创 Android时间获取与使用

编写Android网络程序时难免会遇到手机时间不准确的问题,本文总结了一些常用的时间获取与校正方法:转载请注明:http://blog.csdn.net/xzy20461.获取本机当前时间: Time local = new Time(); local.set(System.currentTimeMillis()); mLocalTim

2014-11-15 16:12:59 3347

原创 ubuntu 将Android放在host目录下,无法使用git命令的问题

fatal: Not a git repository (or any parent up to mount parent /home/kineam)Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).遇到以上问题。在对应的仓库下

2014-11-12 10:39:07 622

原创 Android动态setId,避免id重复

当一个布局中Add了两个id相同的控件时,通过findVIewById会出现错误。解决方法如下:1.通过 View的generateViewId()方法获取一个可用 id.在手动进行setId.需要API LEVEL 17API LEVEL 17以下可以直接使用该函数的代码:public static int generateViewId() {

2014-10-31 14:34:47 8587

原创 Android Maven打包批量替换资源文件(overlay换皮肤)&AAR打包依赖模块覆盖策略

1.AAR打包覆盖主module(APK)会将AAR中同名资源覆盖:策略如下:资源文件例如图片,layout是采用覆盖方式。values文件例如strings.xml是采用合并方式。有依赖的模块只能采用aar进行打包,例如ui库等二方库。建议将所有模块共同的resource资源放到通用module中,并且建立相应的命名机制,防重复。

2014-10-31 14:26:44 3188

原创 Android Maven 打包注意事项

最近项目中使用Maven进行打包,坑略多,记录如下:1.支持AAR格式library要求android mav

2014-10-26 15:44:17 891

原创 Android EditText输入最大值提示功能

有时,我们会对EditText添加最大长度限制,在EditText达到输入上限时阻止继续输入并弹出提示。这个问题看似简单,但很难处理的完美。由于EditText无法拦截软件盘事件,常规的通过TextWatcher,OnKeyListener,等方法都会存在一定的问题。经过反复试错,终于发现以下方案:1.实现一个InputFilter,在InputFilter中判断输入长度,并弹

2014-10-11 21:00:10 2971

原创 Android设置壁纸的几种方案

Android设置壁纸有许多方法,主要思路有两种:1:通过WallpaperManager设置2:通过系统程序设置下文将分开说明:通过WallpaperManager设置该方法可以直接将图片置为壁纸,对于所有平台的Android系统都使用,但无法裁剪/调整图片。try { WallpaperManager wpm = (WallpaperManager) g

2014-09-28 14:18:38 11958

原创 我的ubuntu 常用工具及配置

1.set fileencodings=utf-8,gb2312,gbk,gb18030                                                                                            set termencoding=utf-8set encoding=prcset tabstop=4

2014-09-20 17:08:53 431

原创 git 的常规使用

1.切换branch:如果本地有多个branch可以用checkout切换git checkout dev2.创建一个本地分支,并对应一个远程分支git checkout -b dev origin/dev3.查看远程分支git branch -r4.查看本地分支git branch

2014-09-16 13:21:01 553

原创 gksudo gedit /etc/X11/xorg.conf In the sub-section "display" add this code or modify if already exis

gksudo gedit /etc/X11/xorg.confIn the sub-section "display" add this code or modify if already exist:virtual 2880 1024Where 2880 and 1024 are the value returned by the error: required virtua

2014-09-15 19:31:11 709

转载 shell: 统计当前目录下文件数

Learning Ubuntu for Android:Linux下查看当前目录下文件的个数ls -l | grep “^-” | wc -l查看当前目录下文件的个数,包括子目录里的ls -lR| grep “^-” | wc -l查看某目录下文件夹(目录)的个数,包括子目录里的。ls -l

2014-09-15 19:29:21 639

原创 如何解决:ANDROID中 ERROR GENERATING FINAL ARCHIVE: DEBUG CERTIFICATE EXPIRED ON 10/09/18 16:30 的错误

问题概述:在导入一个app后提示如下错误:“Error generating final archive: Debug Certificate expired on 10/09/18 16:30”原因分析:android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->and

2014-09-15 19:28:16 494

原创 Android 下载源码指定仓库 指定branch source

Android version和branch都很多,有时候需要下载多个分支的代码进行比对,可以通过-b 的方式下载. 例如:git clone https://android.googlesource.com/platform/packages/apps/Launcher2 -b ics-mr1-release如果要不知道Android有那些分支可以用

2014-09-15 13:11:00 732

转载 Android常用String 式样

zz:http://henzil.easymorse.com/?p=174 目前用到的有以下几点:加粗字体 斜体字体 给字体加下划线\n 换行\u0020表示空格\u2026表示省略号使用<b>和<b>来打印出这样的文字;“<”表示“使用textView.setText(Html.fromHtml

2014-09-15 13:09:19 495

转载 Android Lint分类及常见错误

Android Developer:ADT 提供了代码检查工具,可以帮助你检查代码规范,下面是一些相关说明: 常见类型:一, Correctness:Messeges(1)字符串国际化不完全(2)国际化的字符串,在默认位置(default locale),没有定义 二,Correctness(1)Xml中view的id重名(2)代码中使用

2014-09-15 12:55:04 510

原创 Android Screen size说明

关于screen 的一些参数说明如下,App的开发者可以关注一下。 1.screen sizesmall:  >426px * 320pxnormal: >480px * 320pxlarge: > 640px * 480pxxlarge: >960 * 720 2.screen ratioratio : (4:3

2014-09-15 10:09:03 1520

原创 删除所有.svn/.git

Q:android repo下来的代码导入svn时,各目录.git/.repo的文件夹需要先进行删除,如何一次性删除?A:find -name '.git*' |xargs rm -rf

2014-09-15 10:08:23 502

转载 ANDROID开发实用小工具

分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗一、find bugs 静态检查工具http://findbugs.sourceforge.net/FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析详情请参考

2014-09-15 10:07:44 488

原创 SVN批量增删

svn status|grep ! |awk '{print $2}'|xargs svn del svn status|grep ? |awk '{print $2}'|xargs svn add同

2014-09-15 07:38:54 657

原创 UBUNTU PIDGIN支持LYNC,并且支持语音

* 更新系统--------------------------------------------------------------------------------     $sudo apt-get update && sudo apt-get dist-upgrade=============================================== 

2014-09-15 07:32:48 2469

原创 sudo出现sudo:must be setuid root问题的解决方法

进入recovery模式vmware需要在开机按住shift 进入drop root ......依次输入:mount -o remount,rw /chown root:root /usr/bin/sudochmod 4755 usr/bin/sudoreboot 注意:千万不要给/usr/bin直接加权限

2014-09-15 07:29:37 747

Transition DEMO APK

BLOG Android Transition框架介绍&使用 的DEMO APK,欢迎大家下载查看显示效果。

2014-12-02

自动化测试图片比较工具

请在Ubuntu下使用。用于自动化测试后的图片比较,找出图片不同的地方。具体参考blog

2014-11-17

Android 获取时间Demo

Android时间获取与使用,详细请见blog:http://blog.csdn.net/xzy2046

2014-11-15

IBM DB2数据库函数大全

详细的讲解DB2中的函数 内容还是挺丰富的 希望对所有学习DB2的朋友有帮助

2009-08-09

oracle常见问题

Oracle 常见的1000个问提 精品

2008-11-30

vc++程序集

有关vc++数据结构算法的程序集

2008-04-24

空空如也

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

TA关注的人

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