自定义博客皮肤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 2297 1

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

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

2019-11-18 19:04:04 1297

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

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

2019-04-10 11:32:51 1226

原创 Battery Historian 环境搭建

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

2018-03-28 21:44:33 784

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

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

2016-03-01 14:15:03 2556

原创 Android6.0权限适配实践

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

2015-12-23 13:41:20 5309

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

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

2015-10-21 16:31:18 943

原创 git删除远程分支

git branch -r -d origin/branch-name

2015-10-13 10:35:08 520

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

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

2015-08-25 21:08:58 1002

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

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

2015-08-25 21:06:41 934

原创 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 573

原创 Alpha百分比对应表

HexOpacity Values 100% — FF 95% — F2 90% — E6 85% — D9 80% — CC 75% — BF 70% — B3 65% — A6 60% — 99 55% — 8C 50% — 80 45% — 73 40% — 66 35% — 59 30% — 4D 25% — 40 20% — 33 15% — 26

2015-04-26 11:11:14 2394

原创 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 1204

原创 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 1041

原创 Android 5.0 通讯录sort_key不可用

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

2015-01-20 19:17:14 939

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

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

2015-01-10 12:00:45 1247

原创 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 8068

原创 Android Transition框架介绍&使用

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

2014-12-02 16:21:13 4091

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

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

2014-11-17 15:16:18 4626

原创 Android时间获取与使用

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

2014-11-15 16:12:59 3772

原创 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 712

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

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

2014-10-31 14:34:47 8801

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

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

2014-10-31 14:26:44 3367

原创 Android Maven 打包注意事项

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

2014-10-26 15:44:17 986

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

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

2014-10-11 21:00:10 3110

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

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

2014-09-28 14:18:38 13055

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

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

2014-09-20 17:08:53 494

原创 git 的常规使用

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

2014-09-16 13:21:01 634

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

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

2014-09-15 19:31:11 826

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

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

2014-09-15 19:29:21 774

原创 如何解决: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 622

原创 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 834

转载 Android常用String 式样

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

2014-09-15 13:09:19 566

转载 Android Lint分类及常见错误

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

2014-09-15 12:55:04 604

原创 Android Screen size说明

关于screen 的一些参数说明如下,App的开发者可以关注一下。   1.screen size small:  >426px * 320px normal: >480px * 320px large: > 640px * 480px xlarge: >960 * 720   2.screen ratio ratio : (4:3

2014-09-15 10:09:03 1744

原创 删除所有.svn/.git

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

2014-09-15 10:08:23 583

转载 ANDROID开发实用小工具

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

2014-09-15 10:07:44 558

原创 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 741

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

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

2014-09-15 07:32:48 2572

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

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

2014-09-15 07:29:37 842

IBM DB2数据库函数大全

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

2009-08-09

Android 获取时间Demo

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

2014-11-15

自动化测试图片比较工具

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

2014-11-17

oracle常见问题

Oracle 常见的1000个问提 精品

2008-11-30

vc++程序集

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

2008-04-24

Transition DEMO APK

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

2014-12-02

空空如也

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

TA关注的人

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