- 博客(114)
- 资源 (20)
- 收藏
- 关注

原创 Android打包那些事
我们在完成一个项目后期肯定会进行打包操作,那么打包过程中的那些问题大家有了解过吗?今天就带大家了解一下Android打包的那些事.主要分四个部分:Apk如何生成 Apk签名过程中遇到的问题 V1和V2签名的区别 美团两种打包方案的对比Apk如何生成首先先看一张图: 大致流程概述: 1、打包资源文件,生成R.java文件 2、处理aidl文件,生成相应java 文...
2018-08-29 11:08:27
861

转载 Android路由框架ARouter最佳实战
转载请标明出处:http://blog.youkuaiyun.com/zhaoyanjun6/article/details/76165252 本文出自【赵彦军的博客】 一:什么是路由?说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。二:为什么需要路由Android系统已经给我们提供了api来做页面跳转,比如startActivity,为什么还需要路由框架...
2018-02-24 15:22:07
4070

原创 jadx-gui反编译apk
mac电脑: 打开终端,切到某个路径下,输入以下命令:git clone https://github.com/skylot/jadx.git cd jadx ./gradlew dist 其实这里只是做了两个动作:第一,使用git命令将 项目clone下来(这里需要配置git环境,如果没有,请先搜资料配置git环境,然后再来)然后,执行jadx目录
2016-06-08 10:55:18
21497
1
原创 React Native错误记录
我们在开发RN过程中难免会遇到一些错误,下面是本人遇到过的一些,记录下来,方便大家尽快解决问题: 1.The development server returned response error code:404http://10.0.2.2:8081/index.android.bundle?platform=android&dev=true&hot=false&min...
2018-08-15 19:27:02
622
原创 2018上半年总结
2018上半年工作总结前段时间看大家都在总结前半年,所以也凑个热闹,毕竟大半年过去了,对自己得有个交代. 2018前半年总结起来一个字-乱,前半年由于之前的老东家业务线调整,平时没有什么工作,特别清闲,所以出来看机会,现在想起来那会真是惬意,不加班,平时也没什么活,可以自己多研究.五月份换了工作后,太忙了,连着两个月平时工作时长都在13,14个小时,感觉有干不完的活,踩不完的坑,不过也学到了...
2018-08-05 13:56:24
440
原创 2018大公司面试分享(百度,京东,搜狗,小米等)
2018年初面试总结又到了一年一度的面试季,本人参加了百度,京东,搜狗,小米等面试,现在在面试中的一些问题抛出来,供大家参考,希望大家可以拿到满意的offer百度 一面: 自我介绍 介绍下四大组件 git merge和rebase区别 ListView 与 RecyclerView缓存机制 如何进...
2018-03-20 09:52:06
3199
原创 区块链之初识区块链
简书链接 最近公司在做区块链的项目,但是由于一些原因还没有上线,碰巧昨天网易推出了首款区块链产品-星球,刷爆朋友圈,所以今天在这边班门弄斧,普及一下,不到之处,欢迎指正,共同学习。首先得明白几个概念:区块链,比特币,中心化,去中心化,挖矿区块链和比特币区块链是啥呢?区块链和比特币有啥关系呢?比特币是区块链,但区块链不是比特币。区块链是一种技术,比特币是其的一种体现形式,除了比特币...
2018-02-10 16:09:25
1208
原创 NDK开发之Java-C互相传值
简书链接 在平时的NDK开发中,我们通常使用C/C++封装好so库,然后客户端调用so库以完成我们的需求,在上一遍入门中(NDK开发之初入门-Hello Word)我们在So库方法中实现返回字符串Hello Word,然后在Java中进行调用so库中实现好的方法,以达到我们的需求,那么如果我们需要在C/C++中调用Java中的方法时,该如何实现呢?或者在C/C++中修改Java中的数值,该
2018-01-15 14:59:37
781
原创 NDK开发之初入门-Hello Word
简书链接在我们日常的App开发中都是使用基本的SDK开发,那么什么时候使用NDK开发呢?NDK开发用什么用呢?要了解NDK,首先需知道Jni,那么Jni是什么呢?Jni是Java和C沟通的入口,啥意思呢?我们使用Java语言进行Android开发,众所周知Android的安全性一直是一个热议的话题,为了防止被反编译,我们需要用C/C++编写重要核心的内容增大系统的安全。另一方面An
2018-01-09 19:19:28
443
原创 TextView去除内边距
实际开发中当TextView字体设置很大时,内边距也特别大,影响UI布局效果: android:letterSpacing="-0.1" 列间距 android:lineSpacingMultiplier="0.7" 行间距android:lineSpacingMultiplier的值可以为任意浮点数。如果值大于1.0表示增加行间距,如果值小于1.0表示减少行间距。androi
2017-11-21 10:41:42
8668
原创 React Native之初试小Demo
学习React Native一段时间了,做了个简单Demo,分享出来,督促自己。 先上效果图: 主要组件: react-native-tab-navigator react-native-scrollable-tab-view react-native-side-menu react-native-swiper react-native-wechat代码:https://githu
2017-11-03 11:40:38
586
转载 设计模式之工厂模式
抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们
2017-10-11 15:18:36
377
原创 设计模式之初识设计模式
常用的设计模式一共有23中,分为三大类,创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。创建型模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 包含:单例模式(Singleton
2017-10-11 12:45:48
398
原创 设计模式之简单工厂模式
Android中简单工厂用处: Bitmap bitmap = BitmapFatory.deresources(res,id); 简单工厂模式:提供创建对象的功能,不需要关心具体的实现 优点:降低客户端与模块之间的耦合度 核心类: Api接口: 具体实现类,这里三个类是一样的: 测试:
2017-10-11 11:10:27
364
原创 2017国庆后有感
距离毕业已经近两年半时间了,回首工作的这两年,走了太多的坑,过去了就不说了,距离年底再有不到三个月,立个flag: 1.React Native学习,完成一个项目 2.手头Android书籍阅读,吃透 3.Android视频重新回顾,学习 4. 身体锻炼,回到125 5. 英语学习
2017-10-09 16:59:48
581
原创 React-Native之Hello World
经过上一章节的学习,我们已经打开第一个项目,作为一个程序员,必须Hello World 当前在Android下进行操作,iOS类似 1.在Sublime Text下引入项目,打开index.adnroid.js文件: 2.对当前项目进行修改 切换到当前项目的根目录:cd MyFirstAppreact-native run-android模拟器必须为打开状态,运行成功: He
2017-09-20 12:37:13
480
原创 Android6.0运行时权限解析,RxPermissions的使用
参考文章:Android6.0运行时权限解析,RxPermissions的使用,自己封装一套权限框架Android6.0权限适配的那些坑 //正常获取权限 private void checkPermissionForNormal() { //判断是否同意此权限 if (ContextCompat.checkSelfPermission(t
2017-09-19 10:33:29
2057
原创 Android短信自动添加功能
场景:注册登录App时需要发送验证码,接收验证码时直接现在在app中1.onCreate中调用initMessage方法 private void initMessage() { SMSBroadcastReceiver mSMSBroadcastReceiver=new SMSBroadcastReceiver(); mSMSBroadcastRe
2017-08-03 12:33:13
1007
转载 Android内存泄露自动检测LeakCanary
经典的面试题:a、怎样在coding过程中避免内存泄露?b、怎样检测内存泄露?这两个问题我想大部分Android 职位面试时都会被问到吧。 怎样避免就不赘述了,网上很多答案。 工具呢,当然也有很多,比如DDMS、MAT等,但是怎样在我们编码过程中植入内存检测代码,让我们程序在开发调试阶段就能发现内存泄露呢?好了,现在该大名鼎鼎的LeakCanary出场了,
2017-07-13 17:10:06
646
原创 图片加载库之缓存策略和加载策略
当前用的最多的就是Picasso和Glide,ImageLoader等,那么如何实现一个图片加载库呢,且等我慢慢道来先说两个概念: 缓存策略和加载策略 加载策略分两种FIFO(First in First out)和LIFO (Last in First out),顾名思义,先进先出和后进先出,什么意思呢?比如我们使用listView浏览图片时,可能会不断向下滑动,不断浏览图片,那么这
2017-07-10 18:16:20
1194
原创 Android6.0通讯录权限问题
if (targetSdkVersion >= 23) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 调用系统checkSelfPermission() 有效,可检测系统是否有该权限,弹出权限提示框 } } else { 无法检测是否拥有该系统权限 }else{//targetS
2017-07-10 17:49:58
5847
原创 Android监听键盘打开或关闭
1.AndroidManifes 当前Activity下添加属性 android:windowSoftInputMode="stateAlwaysHidden|adjustResize"2.Oncreate调用 private void listenKeyboard() { // TODO Auto-generated method stub InputMe
2017-03-29 18:20:07
972
原创 App启动优化
参照博客:徐宜生App启动优化博客现在大多数App启动时会有加载页,然后跳转到主页面,那么如何优化App启动,减少应用启动时间呢? 1.不要在Application的构造方法中,attachBaseContext(),onCreate()里面进行初始化的耗时操作。 2.减少MainActivity的布局层次,如果有自定义布局,减少测量,布局,绘制的时间。 3.不要再onCreate
2017-02-10 11:38:25
541
原创 Android图片压缩总结
通常开发中会对一张图片进行压缩,通常有三种方式:质量压缩,尺寸压缩,采样率压缩。一.质量压缩通常通过设置bitmap的options属性来降低图片的质量,但图片的像素不会减少,所占内存也不会减少 public static void compressImageToFile(Bitmap bmp,File file) {//bmp为需要压缩的bitmap图片对象 file图片保存的位置
2017-02-08 16:43:13
553
原创 使用MediaRecorder录制视频时模糊问题
使用MediaRecorder录制视频时有时候太模糊,这里提几种解决方法: 1:设置Camera.Parameters聚焦模式: //parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINU
2016-12-23 17:51:11
4406
原创 Android近期阅读书籍
近期阅读了不少Android书籍,整理出来供大家学习:Android群英传App研发录Android源码设计模式解析与实战Android编程实战Android应用开发必知的50个诀窍Android开发精要Android应用性能优化Android应用测试与调试实战java数据结构与算法分析感觉一次接受的太多,好好消化消化,后期给出读书笔记。书籍网上都可以下
2016-11-09 16:49:41
667
原创 AudioRecord录制音频文件并存储本地
浮躁期,太浮躁了,不能专心学习,自律,成功的人一定是自律的人。AudioRecord录音,直接上代码:int mRecordBufferSize = 0; private AudioRecord mRecordInstance = null; private ByteArrayOutputStream saveVoiceByte; private boolean isRecord =
2016-09-12 17:09:25
7044
原创 打包Jar包,混淆Jar包,合并多个Jar包
1.将程序打包成Jar包右击工程------Export------Java-JAR FileNext-----选中需要生成Jar包的项目,点击展开,只选择src(注意不是全选)----下面JARfile是生成的Jar包,自己设置就行。一路Next,Finish生成OK。2.Jar包混淆,找到SDK,tools目录下,打开Proguard---bin,打开p
2016-09-09 18:36:09
4752
原创 近期读书总结
近期读了许多书,都是非专业的,文学方面的,有丰乳肥臀,一个人的朝圣,何必等来生,中英混读,买的那几本专业书籍都是看了一半割下来了,毕业一年多了,自己水平太渣了,公司最近也不是很忙,真的很纠结,一方面懒得动,老感觉换工作还么准备好,一方面又想着年底的奖金,埃,讨厌这样的自己,后面多读读专业书籍,经济方面的,多张张这方面的知识,也要开始英语的学习,太low了,明年开春来再说吧,这段时间努力学学基础的,
2016-09-06 17:54:31
524
原创 编译Android平台的OpenCV生成动态库
看网上说使用Cmake-gui,结果本人在使用中各种坑,最后直接命令编译,因为gui也是执行的命令编译嘛。首先你得安装CMake然后你得下载一份OpenCV源代码在源代码目录下切换到scripts下,如我的:/Users/Downloads/opencv-2.4.9/platforms/scripts:cd /Users/Downloads/opencv-2.4.9/platf
2016-08-25 15:39:53
1859
原创 微信公众平台与Android的吐槽
前几天负责人告诉我准备搞搞微信公众平台,让我Android客户端做好准备,多看看官方文档,然后就屁颠屁颠跑去看文挡,首先声明本人悟性不高,于是各种不理解,各种纠结,最恨的是问问题的时候有些人直接说去看文档,文档全都有,擦,老子要能看懂,还问个毛啊,好啦,吐槽一下,进入正题。经过几天的测试学习,最后得出一条结论,与Android毛关系么有,只需要开发好微信的接口服务就可以了,其他的微信都做好了。
2016-08-23 12:30:34
988
原创 android代码片段整理,持续更新中(二)。。。。。。
一.Volley请求postRequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); StringRequest stringRequest = new StringRequest(Method.POST, httpUrl, new Listener() { @Override p
2016-08-19 11:11:12
572
原创 2016年8月15生活总结
真是光阴似箭,岁月如梭啊,日子过的太他么快了,前半年感觉啥都么干,啥都么学会就过去了,真是罪过罪过啊,一直想着坚持的事也没有坚持多少,浑浑噩噩的过着每一天,本来最近计划早晨六点起来学学英语的,结果连着三天都么起来,堕落啊,在这样下去那些梦想啥得都变扯淡,自律,一定要自律,后半年计划: 继续坚持keep,虽然体重减轻了,但是肚子还是有的,后半年争取练出点腹肌来 英语学习,一直是痛
2016-08-15 17:14:39
557
原创 NavigationView的一些故事
直截了当,先上效果:一.导入包dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:23.2.1'}二.主布局
2016-08-12 12:01:45
719
原创 仿QQ拖拽滑动删除列表条目
拖拽item,item切换,滑动时删除item,先上效果:1.依赖库:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:recyc
2016-08-10 16:27:11
795
原创 Snackbar简单使用
Google新出的design包下Snackbar控件简单使用:效果如下:引入包:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.su
2016-08-04 16:33:59
614
原创 Recyclerview的使用
Android5.0后谷歌推出Recyclerview替代ListView,Gridview,接下来实现一个Recyclerview的简单功能,先上效果图:实现了点击事件,添加分割线,自定义分割线样式,增加删除item。1.引入v7库。dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])
2016-08-01 16:51:01
664
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人