自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

敲键盘的呼伦贝尔人

骑马敲代码,我为我自己带盐,有时还撒点儿孜然。

  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

原创 Mac Android Studio 使用离线文档

打开~/Library/Preferences/AndroidStudio2.3/options目录;打开jdk.table.xml文件;搜索http://developer.android.com/reference/;替换国服地址https://developer.android.google.cn/reference, 或者替换为本地地址file://$USER_HOME$/Librar

2017-08-30 15:55:45 915

原创 正则表达式学习笔记

基于学习资料的笔记。正则表达式一组字母和符号组成的文本,用来在文本中找出满足需要得文本。 regex是regular expression的缩写。基本匹配直接配具体文本,大小写敏感。 匹配kenneth: kenneth => kenneth yo元字符 元字符 描述 . 句号匹配任意单个字符除了换行符. [ ] 字符种类. 匹配方括号内的任意字符. [^ ]

2017-08-20 02:06:49 529

原创 adb logcat 指北

Nexus 5, Android 6.0.1, API 23Log类,相信开发 Android 的同学都不陌生,正如其名,Log类提供了打印日志功能,方便我们在开发调试过程中输出调试信息,输出如下:有大神觉得这样的输出信息不够多,不够美观,不够强大,于是就有了 logger、hugo、timber等 log 工具类。虽然有这些强大的工具来使用,但是你离开了 IDE 还会看 log 吗?下面我们来

2017-08-03 09:18:55 3144

原创 Android 复制和粘贴功能

Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。ClipboardManager mClipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);复制功能,首先要构造一个ClipData对象,并且把要复制的数据和 MIME type 赋值给ClipData,然后在把ClipD

2017-08-03 09:16:09 7981

原创 把编译信息放在 Launch Icon 上

首先上一张效果吧!这是我们CI集成测试包后 icon。在icon上分别显示了版本号、build 时间、git id。如何实现的呢?看下面。首先,我们要有 ghostscript 和 imagemagick 两个环境。brew install ghostscriptbrew install imagemagick其次,在编译 apk 之前,执行下面的 shell,就会主动替换为新icon。#!/usr

2017-04-05 19:33:49 549

原创 Git-flow 学习总结

git 作为现在最为主流的版本管理工具,优点有很多,其中最为显著的一点就是分支管理。作为一款优秀的版本管理工具,我在日常开发中也在使用,固定分支有两个,分别是 master 和 develop ,日常开发和测试都是针对 develop进行,这造成一个问题就是,每当上线版本发现bug的时候,develop 分支已经有下个版本正在开发的代码,从 tag 创建出来的分支合并到 master 后,难以合并

2017-03-07 11:09:02 1345 1

原创 Travis 和 CircleCI 配置文件

以下都用 BrakeLight 项目举例。Circleci在项目目录中创建 circle.yml 文件,内容如下:machine: java: version: oraclejdk8dependencies: pre: - if [ ! -d "/usr/local/android-sdk-linux/platforms/android-24" ]; then echo

2016-11-08 14:59:55 3337

原创 自建私有 Maven 仓库

项目组从2015年上半年全面切换到 AndroidStudio 进行开发,随着这1年多业务逻辑和代码逻辑的增长,导致项目 LibraryModule 由最初的3个增长到如今的8个。代码量的增加必然导致编译的变慢,AndroidStudio 在编译项目时会先编译 LibraryModule 生成 aar 包,之后这些 aar 包会和 APPModule 进行集成编译,最终生成 APK。这个编译过程,

2016-09-01 17:32:27 6882 4

原创 TextUtils方法介绍

把一个List<String>输出成a,b,c这种形式,我们项目里面提供了一个这样的工具类:public static String getString(List<String> list) { if (CollectionsWrapper.isEmpty(list)) return null; StringBuilder sb = new StringBuilder(

2016-07-07 17:41:53 11455

原创 Mac 下反编译 apk

1,环境准备brew install apktool brew install dex2jar jd-gui2,反编译 代码解压 apk 拿到 dex 文件 执行 d2j-dex2jar classes.dex 获取到 jar 文件,拖进 jd-gui 就可以了3,反编译资源文件执行 apktool d *.apk -f 如果目标文件存在,删除存在 -o 指定目标文件夹名字 -s

2016-06-21 11:59:03 645

原创 CURL常用指令

一,查看网页源代码curl www.bitauto.com 保存网页 curl -o demo.txt www.bitauto.com二,自动跳转curl -L www.bitauto.com三,显示头信息curl -i www.bitauto.com四,显示通信过程curl -v www.bitauto.com 更多详细信息 curl --trace demo.txt www.bitaut

2016-06-21 11:58:11 829

原创 React-Native Android 学习笔记——2,自定义 logger

通过上一篇《 React-Native Android 学习笔记——1,配置环境》下载了AwesomeProject项目并运行了 demo。如下图: 应该和你运行起来的相同,但是除了Welcome to React Native的颜色。一,index.android.js 文件demo 默认展示在我们面前的这个页面其实是我们下载AwesomeProject项目下的index.android.j

2016-03-23 16:35:48 1704 1

原创 React-Native Android 学习笔记——1,配置环境

一,设备与环境1,一台 mac2,安装软件包管理器 Homebrew(中文)终端里输入/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"进行安装。3,安装 wget 或者 curlwget,终端里输入brew install wget进行安装。 curl

2016-03-18 15:30:43 4850

原创 Android 自定义字体,字替换为图片

不久前开发的版本中有这样一个需求,根据服务器返回的分数,显示分数,各位可能觉得这有什么呢?那么请看下图。 没错,这就是我们的需求。思路一,添加字体库,通过设置 TextView,在初始化的时候设置我们的字体。例如:TextView textView = (TextView) findViewById(R.id.custom);// 将字体文件保存在assets/fonts/目录下T

2015-12-03 13:54:59 1399

原创 Android 翻转动画 Rotate3dAnimation 效果

十一前请了一天假,后面请了三天假,串起来一共休息了十二天,这期间见了女朋友的家长,也领女朋友见了我家长,好消息是各方家长反馈不错,坏消息是涨了五斤肉,毕竟是吃了12天的呼伦贝儿牛羊肉哈。玩了这么多天,回来要收收心好好工作了,毕竟要攒钱娶媳妇哈~上班回来,按照产品的需求做了这样一个效果,如下图:这其中包含了3个动画,分别是移动动画、放大动画、旋转动画。前两个动画比较好完成,可以用 TranslateA

2015-10-16 17:05:57 3118

原创 Android 可拖拽 GridView 并且实时切换和拖动到下部删除

最近在公司做了一个这样的需求,拖动GridView 中的 item 到指定区域删除,具体效果,请看下面的动图。 拖动效果是通过隐藏 GridView中被选中的 item,并且同时在 Window 上注册一个 View 来实现,具体逻辑和代码,请参照这篇博客http://blog.csdn.net/xiaanming/article/details/17718579。我的需求当中,多了一个拖动到底部

2015-09-29 15:22:08 3716

原创 高仿SinaWeibo新浪微博发布页面话题效果

最近做了一个仿新浪微博话题效果的功能,网上搜索了几个效果,都存在一定问题,最终借鉴别人的思路,完成这一套效果. 首先,我们拆分逻辑以及开发顺序. 1,首先实现话题变色效果 2,实现插入话题效果 3,实现话题选中删除效果 下面我们就一步一步实现效果.

2015-08-10 00:06:33 6213 2

翻译 介绍MVP Model-View-Presenter在Android中的应用

这篇文章是我学习MVP模式时翻译的,原文是Konstantin Mikheev所写,传送门。 因英语水平有限,翻译的很生硬,基本靠Google,请见谅。以下是译文。这篇文章我会通过一个最简单的例子去一步步介绍MVP模式在Android中的最佳实践。同时我也会介绍一个使MVP模式在Android开发中变简单的library。简单?怎么才能从中获益呢?什么是MVPView层是用来显示数据和相应数据操作

2015-05-25 13:47:35 6218 7

原创 Android获取运营商

今天接到一个新需求,要给服务器上送设备运营商名称,之后我的第一反应是,umeng都无法精确统计运营商,我如何判断上送具体的运营商呢?如下图: 这张图里反映了友盟统计到用户手机的运营商名称,这些名称什么样子的都有。有什么办法精确判断具体是什么运营商呢?比如,只返回“中国移动”,“中国联通”,“中国电信”。 我这里解决的方案是通过设备的MCC/MNC代码来判断。 首先,我们要了解MCC/MNC是什

2015-05-08 16:40:08 6147

原创 WebView填坑——小功能篇

这两天负责修改了几个关于在webview中打开公司移动站的bug。本身不是很难解,网上查查都有,但是也有必要记录下来作为备忘。Webview中上传文件这里的效果类似在pc端上传文件效果,点击打开一个文件选择器,上传文件图片之类的。 openFileChooser()方法的重载是因为在不同系统中调用的方法参数不一样,具体看注释。 ValueCallback<Uri> mUploadMessage作

2015-04-22 16:31:06 1730

原创 Android程序猿如何泡设计妹之快速掌握dp和px才可以

相信很多Android程序猿已经对身边的设计妹垂涎三尺了,那么如何博得设计妹的好感呢,学好这篇文章就可以了。程序猿与UI设计妹讨论设计稿和切图的时候,经常会因为dp和px的问题搞的不愉快,这里可以分析出两个原因:1,程序猿原因,不懂dp和px的换算关系。包括我,以及我见到的大多数开发,更多的时候其实不是很关心dp和px是如何来的,以及如何转换的,只知道掌握一般情况用dp,字体大小用sp

2015-01-25 22:44:22 2278

原创 CardView初级使用

CardView发布于android sdk v7的支持包中,具体如何将项目加入v7包,请看这里传送门。卡片化是全新的Material风格设计中重要的组成部分之一,卡片设计适合重要信息的展示,以及在list中作为一个包含有复杂操作的item使用。CardView继承于Framelayout,比FrameLayout多了3个重要的属性,card_view:cardElevation,

2014-12-28 14:08:54 5264

原创 RecyclerView初级使用

RecyclerView是Android在v7包中包含了一个新的widget,RecyclerView是一个ListView进阶版,但不继承与AdapterView,相比ListView,RecyclerView更加灵活和先进。1,导入RecyclerView首先要保证SDK Tools和Android Support Repository为最新版。如下图:

2014-11-10 15:18:15 2568

原创 Palette的使用

(转载,请注明出处:http://www.kennethyo.me/post/android/palettechu-ji-shi-yong)相信有不少的人已经开始关注Android Lollipop,全新的Material设计风格让人眼前一亮,Material强调大胆的阴影和高亮搭配,引用那些意料之外和充满活力的颜色。这里就要说到,不久前Android在v7包中更新的P

2014-11-04 16:19:53 4498

原创 LayoutInflater.inflate详解

###介绍常见inflate方法在日常开发中经常会用到通过资源id去获取view的场景,我们通常有四种方式去获取view,分别是以下四种:```//1,通过系统服务获取布局加载器LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

2014-10-24 16:27:08 2260

原创 Android API,版本对照

API等级1:   Android 1.0 API等级2:   Android 1.1 Petit Four  花式小蛋糕API等级3:   Android 1.5 Cupcake  纸杯蛋糕API等级4:   Android 1.6 Donut  甜甜圈API等级5:   Android 2.0 Éclair   松饼API等级6:   Android 2.0.1 Écl

2014-08-22 10:51:53 1000

翻译 Android文本的测量和绘制

翻译与Chris Banes的博客   原文地址如果你想手动在Android Canvas上画些什么东西,你最好从绘制文本开始。文本绘制之前,你需要知道测量文本的绘制位置,计算文本X/Y轴的位置。

2014-06-23 11:20:50 2208

原创 自定义TextView实现内容的旋转和偏移

有的时候,设计会要求我们的文字qing'xie

2014-05-08 14:10:00 5946

原创 博主毕业以来总结的android经验,想起来什么就加点

1,api10以下尽量用padding,margin很多的时候会有bug,显示不出效果2,混淆,最好不要混淆实体类,用到反射的时候会报错-keep public class com.bocop.commons.bean.**-keepclasseswithmembers class com.bocop.commons.bean.** { *;}3,非常好用的收键盘

2014-04-23 13:41:35 1368

原创 用Fragment来代替过期的Tabhost和ActivityGroup

我去年9月份做的一个项目中,主界面也是选项卡这种效果,搭建项目的另一位工程师仍然使用的是Tabhost。最近想起这件事来,便有了这篇博客。(Tabhost和ActivityGroup分别在api 13 和 14 中标记为过期)本篇博客主要介绍如何用Fragment实现Tabhost效果。下图红色部分是RelativeLayout,用来实现Fragment的容器;绿色部分为Rad

2014-02-11 13:24:14 2694

转载 Google Java编程风格指南

作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言源文件基础源文件结构格式命名约定编程实践Javadoc后记前言这份

2014-02-10 11:51:27 995

原创 解决TextView自动换行

***Android开发中会经常遇到TextView自动切行的情况,解决办法有两种:*****1,把所有字母、标点、符号、数字全部转换成全角字符,让其与汉字同样占用两个字节。****2,把所有字符,标点,符号换成英文符号。**之前搜索的第二种方法的代码```public static String StringFilter(String str) throws PatternS

2013-12-31 18:35:20 1663

转载 Android学习笔记(五十):声明、请求和检查许可

基于安全需求,应用对Android系统提供的content provider或者service的访问需要在安装时进行许可,这就是AndroidManifest.xml文件中的permission中声称,之前已经很多例子。同样如果其他应用要访问我们的数据,我们也可以要求这些应用必须获得用户授权方可访问我们的数据。申请授权:请求permission申请许可的格式为uses-pe

2013-12-31 17:39:15 1187

转载 多种动画效果

效果图:核心代码:1234567891011121314151617181920212223242526272829

2013-12-31 17:32:57 1178

转载 Node.js express 版本出现的几个常见问题

对着《Node.js》这本书练手,却发现现在express3里出现一些常见问题   1、使用connect-mongdo时,报错:Cannot read property ‘Store’ of undefined  Js代码  var express = require('express');  var MongoSt

2013-12-19 23:53:10 2675

原创 关于学习《 Express MongoDB 搭建多人博客》报has no method 'router'错误

作者在路由规划之后,写到:“这里还要修改app.js里的路由配置,用app.use(express.router(routes)) 代替 app.use(app.router)。”按照作者这样修改,运行会报has no method 'router'的错误。解决办法就是不用修改,因为作者在之前已经说在app.js最后加入routes(app);来进行路由规划。

2013-12-14 19:16:43 1665

原创 关于DatePickerDialog点击返回键取消调用回调方法onDateSet()的解决办法

昨天测试上报了一条bug,内容大概为:在小米2手机中点击生日弹出DatePickerDialog后,修改日期,不点击完成,点击返回键,会修改TextView中的日期。经过分析,代码当中我把处理日期的判断逻辑放在了OnDateSetListener监听的onDateSet()回调方法,当逻辑判断通过,就会修改的TextView当中的日期,这说明当我们点击返回键的时候会调用到onDateSet

2013-10-14 23:41:10 2624 2

原创 应用验签

看到有的同学求应用如何验签(验证签名),这里,我来分享一下我们公司如何进行验签,如果有其他同学有更好的方法,请留言指导,共同进步。首先说下,为什么要系统验签。想必大多数同学们肯定都反编译过android apk吧,也许有的同学还知道有一些小作坊,专门做一些把apk反编译之后加入广告,再次进行打包,投放到市场的工作。这不仅危害了原有开发者的利益,也危害了使用用户的权益。我们要做到的就

2013-10-14 23:37:46 1761

用Fragment来代替过期的Tabhost和ActivityGroup

用Fragment来代替过期的Tabhost和ActivityGroup

2014-02-11

图标资源图标资源图标资源

一个比较老的图标资源,可以用于ICON,本人开发C++的时候下载的

2010-12-23

数字电子技术基础课程设计篮球30秒计时器

数字电子技术基础课程设计篮球30秒计时器

2010-06-29

空空如也

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

TA关注的人

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