记录
文章平均质量分 55
IT_MR_Jie
只有不断强大的自己才能让你享受现在。
展开
-
Nexus 搭建私有maven库
私有 maven 库我对它的评价就一个字:香!!! 本篇标题为搭建公司私有 maven 库。但我的建议是开发者人人都可以搭建自己的私有库。 在日常开发中,拿 Android 为例,开发者总是需要准备各种各样的第三方库、jar 包及 aar 包,或者我们自己也会有一些个人的工具包等。如果是本地管理,我们就需要管理一个时常要更新的本地文件夹。这样的管理不仅繁琐而且容易出现未及时更新最新包的情况。私有 maven 库可以很好的解决这个问题,下面我们就来讲讲如何搭建个人以及公司的私有 m...原创 2021-01-25 19:24:30 · 140 阅读 · 0 评论 -
Android 面试心得
之前总是在看别人的面经,在和一个即将面临换工作的好朋友聊完之后,感觉自己的经历还是能帮助到一些有需要的人,所以决定自己也写一篇面试心得。 目前网络上的 Android 面经中绝大部分都是从技术知识体系方向上让大家去学习比较全面的知识体系。全面的知识体系,深入的技术原理确实是大家所向往的方向。但个人感觉对于大部分的中级面试者是不太适用的。想要掌握这些东西,不仅需要大量的学习时间同时还需要学习者有很强的自制力,不然很容易就会半途而废。 在最初的刷题过程中,我总是会觉得刷的越多自己不懂的就...原创 2021-01-18 10:53:45 · 223 阅读 · 3 评论 -
2021重新出发
时间总是在不经意间的飞速流逝。2019-2020对于我来说是特别具有意义的两年。经历了跨行学习,也经历了创业失败。虽然短暂的转化经历并没有让我成功的跨出技术圈,但对于我个人而言这两年的经历让我学会了很多。也祝愿有机会能跨出技术圈的你能够一切顺利。 回望,2019,让我体会最深的是对于公司管理上的艰辛,对于市场方向的判断及时效性。在经历过辞退一起创业的初始团队成员,到公司业务的转型。我尝到了创业路上的冷酷和艰难。在经历了赛道初期的唯唯诺诺到赛道末班车的举步维艰,我学会了果断。如果你不够快不够努...原创 2021-01-04 13:55:53 · 111 阅读 · 0 评论 -
Android 判断应用是否安装 并打开或下载应用
在开发过程中,有时需要打开其他的应用(如调起支付宝支付),在打开其他应用前我们应该先去判断该应用是否已经安装,如果已经安装则直接打开该应用如果未安装则需要调起应用市场让用户去下载安装应用。下面是个人的一个工具类:import android.app.Activity;import android.content.ComponentName;import android.content.Cont原创 2017-09-25 13:44:27 · 2923 阅读 · 0 评论 -
Android 通过 WebView 请求下载 APK
很少去研究 Webview 的具体使用,之前在项目中遇到,通过点击 H5 中的按钮来进行下载 Apk 。刚收到这个需求想到的第一个想法就是调用 JS 来实现。之后实际运用前去看了看 WebView 的 API 发现了 WebView 下有一个 setDownloadListener 方法。它主要就是负责当你需要在使用 webview 时下载资源用的。具体的下载 APK 方法:一个 Downl原创 2017-09-25 14:28:36 · 5509 阅读 · 0 评论 -
Android ThreadPoolExecutor 学会管理你的线程池
初入Android 时对于线程管理是一无所知。觉得只要可以实现需求就算是完成项目了。但在接触久了之后才发现自己需要学的、做的还有那么那么多。 new Thread(new Runnable() { @Override public void run() { //todo }原创 2017-12-05 16:56:11 · 294 阅读 · 0 评论 -
Android 自定义 Dialog 详解
在实际的开发过程中,原生的 Dialog 往往不能实现我们的需求。自然而然,自定义布局的 Dialog 是你所必须掌握的技术。想要实现自定义的 Dialog 其实很简单。首先你要创建一个自定义的布局文件,然后在你要使用的地方 new 一个 Dialog 实例。通过 dialog.setContentView(View view) 方法将 LayoutInflater.inflate(布局文件lay原创 2018-01-04 14:25:06 · 201 阅读 · 0 评论 -
2017 个人总结篇
2017对于我来说应该算是一个收获满满,快乐满满的一年了吧。在家庭方面。由于地方医院的误诊,3月份就担心受怕的陪父亲在北京某医院做了各项检查,最后的结果虽然不是十分明确,但起码给了家人一颗定心丸。之后父亲回家的几次检查都显示没有问题。这应该算是2017最让我开心的事情了。母亲的身体还是老样子,偶尔会有一些小毛小病,打打麻将,卖卖小酒,干些自己喜欢的事。家里第二件重要的喜事应该算是哥哥的订婚了。原创 2018-02-23 16:57:03 · 369 阅读 · 0 评论 -
Android Handler 机制详解
Handler 机制是 Android 多线程开发中必不可少的一部分。它的常见使用场景在子线程中更新 UI 界面。开发过 Android 项目的人都应该知道,在 Android 主线程中不能进行耗时操作,所以一些耗时的(网络请求操作,大文件处理等)都应该在子线程中进行,但是由于 Android 的主线程是不安全的,不能通过子线程中进行 UI 操作。这时 Handler 机制就成为了子线程更新 UI...原创 2018-03-12 11:25:57 · 403 阅读 · 0 评论 -
Android Activity 的四种启动模式
经历过多家面试的人或许可以看出。activity 的启动模式这个知识点或许是所有面试官都绕不开的问题之一了。一个应用程序是由一个或多个 activity 组成。它承载了 Ui 界面,与用户交互。可以说开发 Android 应用程序,activity 是必不可少的一个部分。今天先不讨论 activity 的具体功能。让我们从它是如何启动开始,一步步的深入了解它。在说启动模式之前,我们应该先了解一些 ...原创 2018-04-28 13:24:34 · 180 阅读 · 0 评论 -
Android 学习进阶之路
Android 学习进阶之路java 基础知识点java 高阶知识点数据结构及算法知识点Android 基础知识点Android 高级必备素质Android 技术难点java 基础知识点Java Object类方法HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理HashMap 和 HashTable 区别HashCode 作用,如何重载hashCode方法Array...原创 2018-10-22 11:45:52 · 580 阅读 · 0 评论 -
2018 年终总结
又一年很快过去了,2018 对于我来说还算是成长迅速的一年吧。 在家庭方面,父亲,母亲的体检结果是除了一些小的毛病,一切都还好。和她,还是相濡以沫,虽然由于工作原因我从上海又回到了北京,但异地并没有给我们的关系带来任何影响。 在工作方面,由于对技术上的追求,对安逸生活的一种恐惧,所以在8月份的时候从原来的公司离职到北京的一家技术型公司上班。从在上海时的朝九晚六到北京的朝九晚...原创 2019-01-07 18:02:56 · 633 阅读 · 0 评论 -
Android EditText 使用时遇到 StackOverflowError
一直没有仔细的研究过 Android 原生的一些控件,最近在项目中遇到一个比较常见的问题,在使用 EditText 的 addTextChangedListener() 方法时,在重载方法中使用了 自身的 SetText()方法,结果报了 StackOverflowError 的错误。虽然是一个很简单的错误,但也提醒自己确实得补充更多基础知识了。由于在 EditText 的 addTextC原创 2017-09-14 12:15:06 · 506 阅读 · 0 评论 -
Android OkHttp 网络请求 使用详解
对于 Android 开发来说,网络请求是必不可少的一件事情,但想要自己开发一个合适又好用的网络请求框架,对于一般人来说这是一件很难实现的事。毕竟在网络请求的过程中有很多因素需要你考虑到。而且目前 Git 上提供了许多好用又方便的第三方框架让你可以更快更简单的实现网络请求的功能。OkHttp 是目前市场上主流的网络请求第三方框架,它可以让你很轻易的实现许多你想要的网络请求,如:配置网络请求缓存区原创 2017-06-26 02:13:03 · 516 阅读 · 0 评论 -
Android Date、long、String相互转换的工具类
在 Android 开发过程中经常会使用的时间的类型转换,下面是个人整理的一个时间类型转换工具,直接复制就能使用。import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateFormatUtil { public DateFo原创 2017-06-02 23:34:09 · 1732 阅读 · 0 评论 -
Android android-times-square一款好用的日历控件
最近在项目中使用到了 android-times-square 日历控件,在网上搜了挺多博客结果都不是很满意,到 git 上看了源码。终于达到了自己想要的效果以下是我使用的一些小细节,希望可以帮到第一次使用 android-times-square 的你。1、先将 android-times-square 依赖到项目中去: compile 'com.squareup:android原创 2017-04-06 22:48:31 · 2201 阅读 · 0 评论 -
Android apk签名过程中遇到的坑
由于项目之前在各大平台上打包的apk是同事使用android studio自动生成的apk文件,导致了apk签名文件使用的是他个人.android下得debug.keystore文件。在版本迭代上出现了很严重也很尴尬的问题,就是只用通过他个人电脑打包的apk才能版本迭代。所以打包apk需要我们手动将自己生成的签名文件与apk一起打包,原创 2017-03-29 03:38:35 · 382 阅读 · 0 评论 -
Android EventBus 的简单使用
自从使用了 EventBus 之后,代码中的各种广播接收器就随之消失了。不仅代码量少了,而且可读性也更高了。EventBus 的作用是:发布 / 订阅的事件总线。下面我来介绍下它的简单实现。首先为项目添加 EventBus 的依赖:compile 'org.greenrobot:eventbus:3.0.0'举一个简单的例子,在App的主界面里有一个设置界面,打开原创 2017-04-12 01:44:00 · 347 阅读 · 0 评论 -
Android (OutOfMemory )Bitmap使用优化
对于大部分新手来说 OutOfMemory 是经常出现的错误,尤其是在大量使用 Bitmap 时这样的错误更是时常出现。对于新手来说以下几点可以很好的帮助你避免在使用 Bitmap 过程中出现的 OutOfMemory 错误。 1、及时手动回收 Bitmap 所占用的内存;手动回收 Bitmap 占用内存可以很好的避免错误。如何手动回收呢?Bitmap 类提供了 recyc原创 2017-05-12 18:02:15 · 251 阅读 · 0 评论 -
Android 广播(Broadcast)及广播接收器(BroadcastReceiver)的使用
在大部分项目开发过程中,广播会经常性的被使用到。广播的使用场景有很多,总体来说它的功用主要在于在通信的功能。它可以是不同应用程序间的通信也可以是不同线程间的通信等。作为四大组件之一,它的重要性不言而喻,Android 系统中也内置了许多广播(电量低、开机、锁屏等)。原创 2017-05-25 00:57:46 · 1349 阅读 · 0 评论 -
Android 自定义 View 的重绘和更新使用
对于新手来说,自定义 View 是一种很让人头疼的实现。自定义过程网上已经很多 demo 了。主要还是让自定义 View 继承自 View 类,然后重写他的onMeasure() 、onDraw()、和 onLayout()方法。在 onMeasure()方法中测量出自定义控件的宽和高并且调用setMeasuredDimension(width, height)方法将宽高配置好,然后调用 onLa原创 2017-05-27 00:20:07 · 13629 阅读 · 0 评论 -
Android 使用 Handler 避免内存泄漏的一些建议
内存泄漏是 Android 开发中经常出现的错误。由于我们发送的消息会在 Handler 的 Looper 中不断轮循处理,这样 Handler 的声明周期比 Activity 会更长。所以在使用 Handler 时我们应该将其设为静态内部类,这样可以避免他的实例在 Activity 退出后还持有外部 Activity 的引用导致内存泄漏。还有在 Handler 的中使用外部成员变量是应该尽量使用原创 2017-05-17 16:53:21 · 470 阅读 · 0 评论 -
Android 多进程使用简单实例
在 Android 开发过程中,多进程的使用是很常见的。当单进程分配的内存不能满足你的需求时,你就需要开启一个新的进程来支持内存的需求。当你的某些需求需要独立运行时,你都需要一个新的进程来实现你的功能。下面给大家提供一个简单的实现开启多进程的 Demo 。原创 2017-06-16 12:22:47 · 853 阅读 · 0 评论 -
Android IPC 进程间通信机制之 AIDL
从事 Android 开发也跨过了1年的时间了,在之前的工作、开发中,功能实现、第三方框架使用、Copy 网上的代码占据了我的大部分开发时间。学着学着就开始发现个人的综合能力并没有得到有效的提升,虽然大部分的功能都能通过查找来实现,但离开里网络、或者说涉及到底层实现就真的有点懵逼了。经验的积累很重要,个人的学习充电更为重要。对于 Android 开发来说,进程间的通信是一门大课。总会有许许多多原创 2017-06-17 13:36:59 · 270 阅读 · 0 评论 -
Android IPC 进程间通信机制之 Messenger
Messenger 作为一个跨进程通信工具,它可以让你通过互相传递 Message 来进行跨进程数据交互共享。对于Android来说,Messenger是一个轻量级的 IPC 方案,内部对 AIDL 进行了封装。它的实现较之 AIDL 方式也更为容易。1、创建我们的服务端 WorkService :import android.app.Service;import android.c原创 2017-06-17 17:44:24 · 324 阅读 · 0 评论 -
android 动画实现之 Tween Animation(补间动画)
对于 Android 初学者来说动画效果的实现是必须掌握的一项技能,官方提供动画分为 Property Animation(属性动画) 和 View Animation(视图动画) 两种。而 View Animation 又分为 Tween Animation 和 Frame animation (帧动画)两种。下面为大家介绍一下 Tween Animation (补间动画)的使用。原创 2017-05-14 23:50:44 · 263 阅读 · 0 评论 -
多重Viewpager与Fragment使用时遇到的getActivity为null
最近公司的项目里使用到了多重的Viewpager与Fragment,但是在多次切换Fragment的时候经常出现getActivity为null的空指针异常;在查询了许多资料后发现 Fragment的生命周期中,在生命周期处于onAttach时getActivity方法才不会返回null,因此我们可以在Fragment初始化的时候获取contex。在Fragment销毁的时候销原创 2016-11-25 04:36:33 · 1590 阅读 · 0 评论