- 博客(137)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注

原创 微博校招开始,欢迎投递简历
本人组内开始校招拉,快来投递,工作地点:北京微博客户端开发(Android,iOS 和 前端)岗位职责:1、负责新浪微博客户端的功能设计和研发;2、负责维护微博客户端,分析和解决用户碰到的问题;3、负责客户端的性能优化以及各种辅助系统的设计和研发。任职要求:1、2021年毕业统招大学本科及以上学历;2、熟悉Android/iOS/前端开发,对计算机技术有浓厚的兴趣,热衷于追求技术极致与创新(有项目经验优先);3、具备扎实的理论基础,熟悉常用的数据结构、网络知识、算法以及数据库技术;4、具
2020-07-17 14:28:47
461

原创 React Native学习(二)
上一小节讲了如何安装、创建项目,以及工程目录的一些基本概念。现在来看看代码。 首先来看下当前与React Native类似的框架与其的区别和优劣势:对比React Native、dcloud、LuaView三个框架技术(内部) 先看下app目录下的代码:public class MainApplication extends Application implements ReactApplica
2016-11-30 10:27:40
726

原创 React Native初步学习(一)
React native真是个好东西,页面上的东西都由JS来渲染、处理。它是由Facebook公司开发的,秉承着: Learn once, Write everywhere: Build Mobile APP with React.如果你会想什么是 React Native 并且为什么 Facebook 构建了它,这篇文章解释了为什么。当然最好有React经验,如果没有的话,可以从 React
2016-11-29 18:30:41
718

原创 Retrofit详解:基本API + 自定义Converter
本文是围绕Retrofit2.1版本来讲的,一些老版本API和新版本不一样了,就不讲了,与时俱进。 Retrofit是Square公司开发的,大神是JakeWharton。官网对其描述是: a type-safe REST client for Android and Java.你可以使用注解去描述一个HTTP请求、Url参数替换、查询参数。另外也支持文件上传等。如何引用:dependenc
2016-11-28 19:34:13
4556

原创 ConstraintLayout
android studio升级到stable 2.2之后,发现还有了个ConstraintLayout。看名字就是约束布局,用各种约束来确定widget的展示。该ConstraintLayout最低支持API 9。 看preview,也是各种线条,感觉很高端的样子。。。下面看下怎么用:dependencies { compile 'com.android.support.constr
2016-10-09 15:41:23
6019

原创 OkHttp完全解析
网上关于OkHttp的使用教程已经有很多了,先来贴一片网上的使用教程: http://blog.youkuaiyun.com/chenzujie/article/details/46994073然后直接进入正题。 看完上面这篇文章,主要理解的几个点:外部通过构造Request,初始化OkHttpClient,并由两者共同构造出Call。访问网络通过Call,Call支持两种模式:同步和异步。同步使用exe
2016-08-16 15:35:11
3832
3

原创 Android各种Menu带你飞
Android中有各种各样的菜单,Android的菜单栏(也叫操作栏):ActionBar。先来看下Menu大汇总。 具体可看该网址:https://developer.android.com/guide/topics/ui/menus.html#xml 下面菜单Demo的github:https://github.com/LxxCaroline/SampleApplication/tree/m
2016-05-23 20:04:17
6128

原创 scrollTo + Scroller + ViewDragHelper
看标题就知道这篇文章讲的主要是view滑动的相关内容。Scroller + scrollTo + ViewDragHelper
2016-05-17 10:47:41
3321
1

原创 Android KeyStore + FingerprintManager 存储密码
Android KeyStore系统允许你存储加密密钥,keystore也分为多种。如果是”AndroidKeyStore”这种类型的话,keystore难以从设备中导出,并且可以指明key的使用规则,例如只有用户验证后,才可以使用key等。但如果是bks这种的话,就比较容易导出。稍后会解释两种的区别。下面主要是讲AndroidKeyStore这种keystore。 防止导出的方法:Key ma
2016-05-09 18:49:43
24584
29

原创 FingerprintManager
Android M出了指纹验证,本文主要来介绍下Fingeprint。 Android锁屏解锁主要有几种方式: Pattern PIN Password 现在新增了Fingerprint 如果你想在Android6.0以上的手机添加指纹前,需要添加上述三种的任意一种。以免不能使用指纹时,可以采用其他方法打开手机。 下面来讲下主要的类: FingerPrintManag
2016-05-09 16:47:16
11133
1

原创 Android6.0权限管理以及使用权限该注意的地方
Android 6.0 Marshmallow首次加入了运行时权限管理,这对用户来说,可以更好的了解、控 制 app 涉及到的权限。然而对开发者来说却是一件比较蛋疼的事情,需要兼容适配,并保证程序功能的正常运行。 什么叫运行时权限管理呢?在Android 6.0以下的系统中,当我们在安装应用的时候,该应用就会提示我们这个应用所需要的权限,如果你要安装,那就必须同意赋予所有权限,但是如果不同意,那就
2016-03-31 20:11:15
10054
2

原创 android中卡号输入框控件(每四位用空格分隔)(解决输入法跳转的问题)
由于项目的需求,需要在卡号输入时,每四位用空间分隔,于是就写了个控件。该控件支持中间删除,中间增加,粘贴,末尾输入等,光标的位置显示正确。
2015-12-19 15:24:44
6943
2
原创 JNI学习笔记
1为什么使用JNI?JNI 的强大特性使我们在使用 JAVA 平台的同时,还可以重用原来的本地代码。作为虚拟机 实现的一部分,JNI 允许 JAVA 和本地代码间的双向交互。 请记住,一旦使用 JNI,JAVA 程序就丧失了 JAVA 平台的两个优点: 1、 程序不再跨平台。要想跨平台,必须在不同的系统环境下重新编译本地语言部分。 2、 程序不再是绝对安全的,本地代码的不当使用可能导致整个
2017-02-24 11:22:04
7085
1
原创 gitbook--好用的编写API文档工具
参考资料:http://gitbook.zhangjikai.com/index.html创建一个gitbook仓库包含基本的文件:.gitignore SUMMARY.md(撰写左边导航栏) README.md(简介) book.json(对gitbook基本的配置,有的时候你一个这样的仓库,可能没有该文件,可自行创建)遇到的坑:请使用gitbook2.6.7版本,使用最新版本3点几的话,出
2017-01-10 15:09:15
14031
原创 Gradle配置:Android Library打包至Maven仓库
开发Android Library项目,需要把aar包给商户app接入,如果按照原始的方法手动给包的话,那就太low了。而且Library中dependencies和proguard等都要商户app再写一遍,这实在是和low,对于商户来说,其实只要一句简单的代码就好了。compile 'xxx.xx.xx:xxx:3.x'本文章演示如何通过在build.gradle中配置,达到自动上传library
2016-12-13 11:21:51
7692
原创 React Native学习之调用Android自定义view
参考资料:原生UI组件 本篇文章中大部分还是来自参考资料中,还附带了一些我遇到的坑。Android是一个开源的项目,有许多丰富并且功能强大的第三方自定义控件,那么React Native如何调用Android自定义的控件呢?请听我娓娓道来。 这里就不讲究如何自定义Android控件,假设你是一位Android经验丰富的人。Android端代码:先看下待React-Native调用的Android
2016-12-06 17:08:20
3779
2
原创 Android判断真机和模拟器
private static String getSystemProperty(String name) throws Exception { Class systemPropertyClazz = Class.forName("android.os.SystemProperties"); return (String) systemPropertyClazz.getMethod("
2016-12-01 15:35:08
2881
原创 有用的库
属性动画NineOldAndroidsGoogle MaterialDesignAndroid各个版本之间的API差别Gradle各个版本的下载地址Gradle Plugin各个版本地址Android性能检查工具的汇集地最详细的Android开源库列表Android开源库(二)Android开源App列表使用DryRun打包安装Github上任何library到手机上Androi
2016-11-30 16:25:46
440
转载 TextView预渲染研究
Android中的TextView是整个framework中最复杂的控件之一,负责Android中显示文本的大部分工作,framwork中的许多控件也直接或者间接的继承于TextView,例如Button,EditText等。其内部实现也相当复杂,单论代码行数来说,android-22中TextView有足足9509行,另外,TextView中许多操作都非常繁重,例如setText操作,需要设置Sp
2016-11-30 15:06:38
527
转载 HTTP 协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTT
2016-11-29 14:09:16
481
原创 Handler, Thread, Looper, Message,一图胜千言
问个问题:如果两个handler共享一个Looper,那么HandlerA发送的消息,HandlerB会不会收到嗫? 如果你不知道,那就看看我这篇文章,如果知道就别看了。。。Handler大家一定太熟悉了,就是发送Message的,然后在handler关联的线程里处理Message。一般用来通知消息或者切换线程工作之类的。 一个Thread对应一个Looper,Looper就是一个循环体,Loo
2016-11-03 17:55:18
745
原创 Android性能优化摘录
本博文内容均摘录自其他各个博文的一些摘要精髓。 参考资料如下:http://hukai.me/blog/archives/性能相关App启动提高程序的启动速度意义重大,很显然,启动时间越短,用户才越有耐心等待打开这个APP进行使用,反之启动时间越长,用户则越有可能来不及等到APP打开就已经切换到其他APP了。程序启动过程中的那些复杂错误的操作很可能导致严重的性能问题。Android系统会根据用户的
2016-10-18 17:45:51
1042
原创 证书Certificate以及android打包签名
证书:CA(证书信任机构) 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。 如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。 如果一个用户想鉴别
2016-10-14 11:28:23
7566
原创 Binder学习资料整理
Android正常的应用程序里只有一个进程,当然如果有需求是可以一个应用开多个进程的,那就涉及到多进程开发。 首先看下如何开启多进程: 例如某个Activity需要开启多进程,则需要在AndroidManifest.xml中的activity节点中增加android:process属性,例如<application android:allowBackup="true" andro
2016-09-21 13:56:49
566
原创 整理Zygote资料
最近看了一些关于zygote的资料,原来是抱着想看懂源码的目的去学习,结果。。。源码对我来说还是有点吃力,但是一些关于zygote的概念还是可以懂了些,在此整理一下学习过的资料。 应用基础知识:https://developer.android.com/guide/components/fundamentals.html zygote浅谈:http://www.th7.cn/Program/An
2016-09-18 10:50:10
539
原创 Android Annotation注解学习笔记
今天讲下注解吧,现在遇到的用注解的开源库越来越多,虽然知道怎么用,但是其原理,怎么写都还不清楚。学习了一些网站和资料,先共享下我的学习资料: Java Annotation 及几个常用开源项目注解原理简析 安卓注解那些事儿 Android注解支持(Support Annotations) Java基础加强总结(一)——注解(Annotation)注解的分类方式有很多:标准的Annotati
2016-09-07 17:35:25
1658
原创 webview学习笔记以及JSBridge
WebView是用来显示网页的控件,使用WebKit渲染引擎加载显示网页。 使用WebView需要申请android.permission.INTERNET 权限。 加载网页只需要调用:loadUrl或者loadData函数即可。 如果你只是简单的打开一个webView显示网页内容,不需要记录数据交互等等,可以不用在app中写WebView,使用以下代码打开浏览器显示:Intent in
2016-09-06 16:25:50
1561
原创 在SDK中使用EventBus注意的地方
EventBus这个框架是用来消息分发的,可以解除耦合,使代码更加灵活。平时使用EventBus的代码如下:EventBus.getDefault().register(this);EventBus.getDefault().post("this is a message");EventBus.getDefault().unregister(this);这个代码里面的EventBus.getDefa
2016-08-22 16:35:47
1124
原创 HTTP、HTTPS、SSL、证书的关系
参考文档: https://developer.android.com/training/articles/security-ssl.html?hl=zh-cn https://github.com/square/okhttp/wiki/HTTPSSSL(Secure Sockets Layer)以及TSL(Transport Layer Security)是在传输层对网络连接进行加密,保证数据
2016-07-29 17:18:00
7834
原创 良好的代码规范 --嵌套
平时如果加入一个新的项目中或者看别人的代码时,若该代码拥有良好的代码风格,那么阅读者也能够更加容易读懂和上手。想当年博主在当实习生的时候,在代码缩进的问题上,被组里的正式员工给吐槽过,缩进太多!!!可能有6-8层缩进吧,其实让别人看起来真的很累,自己写的时候不觉得有什么,但是别人看起来就是真的很累。下面是我在网上看到的一个如何解决多层缩进的例子,虽然简单,但是我觉得诠释的很好。 首先先看这个例子:
2016-07-28 16:07:05
2660
1
原创 Android低版本上如何调用高版本API
平时如果你的minSdk比较小,但是想调用高版本的一些API,android studio会提醒该方法在XX版本上才有,当前项目minSdk是多少。很多低版本的系统上就会找不到这个方法。那怎么做呢?可以去support包中找相应的方法。例如5.0才出的background tint,那么如果你的minSdk是小于5.0的话,那么studio就报错了,你可以去使用support-v4包中的Drawab
2016-07-26 10:22:32
4192
原创 Android Studio上gradle配置Lambda表达式
在工程project的build.gradle中buildscript -> dependencies中加入以下:classpath 'me.tatarka:gradle-retrolambda:3.2.5'在app module下的build.gradle中添加apply plugin: 'me.tatarka.retrolambda'android { ... compileOp
2016-06-27 17:19:33
1034
原创 Android 多Fragment屏幕旋转的问题
平时写项目的时候会碰到一些需求是涉及到屏幕旋转的,如果旋转屏幕,你的界面布局什么都没改变的话,那就很简单了,但是如果当你屏幕旋转后,需要更改页面布局的话,那就有点麻烦了。 举个简单的例子: 一开始新建一个项目,studio已经自动帮你新建好hello world的代码。运行,然后手机设置可旋转屏幕。 当你旋转屏幕,你看到其实页面没什么变化,还是一样的布局。但是这个显示的Activity却已经变
2016-06-21 15:15:50
6442
原创 Android native code和Javascript通信
如果android和js交互的话,那就是要通过一个控件WebView。如果js要调android中方法的话,要通过JavascriptInterface,百度一下就能看到很多资料,这里不详述。 在API17之前的话,是不需要加@JavascriptInterface注释的,但是在17版本后,需要在方法上加上@JavascriptInterface。 看个简单的例子: 这是html的代码,点击按
2016-06-03 15:55:00
1729
1
转载 AndroidStudio中ADB Wifi插件
【扯淡】 你还在为在使用真机测试时,缺乏数据线而发愁吗? 你还在为同事踩烂了你的一根数据线而耿耿于怀吗?(说实话我今天就被踩烂了一根) 你还在为每次用数据线连接真机测试时,都得抽拔抽拔而不耐烦吗?好,下面分享个东西来解决你的苦恼!感谢交流群里的 谢盒盒 童鞋:http://my.youkuaiyun.com/xzq35110 插件地址:https://plugins.jetbrains.com/plug
2016-06-03 10:13:28
972
原创 Android background tint颜色渲染
该篇文章主要是讲Android颜色渲染,首先先来看看PorterDuff,对绘图非常重要。 PorterDuff的由来: 相信大多数人看到这个ProterDuff单词很奇怪了吧,这肿么个意思呢,然后就用有道啊,金山啊开始翻译,但是翻译软件给出的结果肯定还是 ProterDuff或者”未找到”. 这是神马情况呢?因为ProterDuff是两个人名的组合: Tomas Proter和 Tom D
2016-05-26 17:43:32
36826
1
原创 Android字符串映射找resource下资源
例如你的main.xml中有一个button,id为button1,你可以通过以下方式去获得这个button的id。getResources().getIdentifier(“button1,”id”,getPackageName());这种方法适合批量找id或者drawable等资源。
2016-05-26 15:45:15
1673
原创 Android 6.0 ConfirmCredential
Android 6.0新出了指纹验证Fingerprint Authenticate和确认凭证Confirm Credential,都可以用来验证手机用户的身份。对于指纹验证,可以看该篇博客:FingerprintManager 在google官方提供的视频Fingerprint and Payment APIs中讲到Fingerprint Authenticate和Confirm Credent
2016-05-25 17:36:29
3016
原创 Fragment.getActivity().getCurrentFocus = null解决办法
需求场景: FragmentActivity上显示DialogFragment,当关闭FragmentActivity的时候,如果DialogFragment有控件获得焦点并且键盘弹出,希望可以关掉键盘。网上最多的办法:InputMethodManager manager = (InputMethodManager) actv.getSystemService(Context.INPUT_METH
2016-05-24 17:55:06
8511
2
原创 Android优化
布局优化: 布局优化的思想比较简单,主要就是尽量减少布局的层级,如果布局的层级少了,绘制就会更简单更快,程序的性能可以提高。 可以选择性能较高的LinearLayout和FrameLayout。如果LinearLayout和FrameLayout不能满足需求,需要添加层级来完成的,可以考虑使用RelativeLayout。 也可以采用标签<include>,<merge>和ViewStub。i
2016-05-11 14:22:22
600
AXMLPrinter.jar
2020-09-15
ComponentCallback中onConfigurationChanged
2015-05-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人