实践
Sahadev_
挨踢程序员-糖炒栗子
展开
-
JAVA1.6实现动态编译加载运行
一直以为我们写好的程序都需要预先编译好,然后再运行,直到今天在看书的时候才看到书上说JAVA1.6之后可以动态的编译JAVA文件,这着实让我高兴了一把,为什么这么兴奋呢,我一心想着能用技术实现动态更新APK,不用一次次的发布打包,有了动态加载,可以说是成功了一大截。于是赶紧试试:package com.sahadev;import java.io.IOException;import j原创 2015-11-03 17:43:50 · 923 阅读 · 0 评论 -
如何修改TextView链接点击实现(包含链接生成与点击原理分析)
*这篇文章的主要目的是想要大家学习如何了解实现,修改实现,以达到举一反三,自行解决问题的目的。某天遇到这么一个需求:在TextView中的文本链接要支持跳转,嗯,这个好办,TextView本身是支持的,我们只用添加一项属性就可以搞定: android:autoLink="web"在添加后发现确实是有效果了。但是如果我们不想使用系统默认的浏览器,而是想要这个地址跳入某个页面或者自己应用内的浏览器该怎原创 2016-12-14 14:57:36 · 5980 阅读 · 1 评论 -
一步步手动实现热修复(二)-类的加载机制简要介绍
一个类在被加载到内存之前要经过加载、验证、准备等过程。经过这些过程之后,虚拟机才会从方法区将代表类的运行时数据结构转换为内存中的Class。我们这节内容的重点在于一个类是如何被加载的,所以我们从类的加载入口开始。类的加载是由虚拟机触发的,类的加载入口位于ClassLoader的loadClassInternal()方法: // This method is invoked b原创 2016-11-25 15:23:33 · 5014 阅读 · 2 评论 -
一步步手动实现热修复(一)-dex文件的生成与加载
热修复技术自从QQ空间团队搞出来之后便渐渐趋于成熟。我们这个系列主要介绍如何一步步手动实现基本的热修复功能,无需使用第三方框架。在开始学习之前,需要对基本的热修复技术有些了解,以下文章可以帮助到你:安卓App热补丁动态修复技术介绍【腾讯Bugly干货分享】Android Patch 方案与持续交付Android dex分包方案dodola/HotFixdex文件的生成与加原创 2016-11-24 13:08:57 · 11653 阅读 · 35 评论 -
ScrollView嵌套EditText联带滑动的解决办法
本篇文章的相关内容需结合上文:从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法在说完了如何解决ScrollView嵌套EditText的滑动事件冲突之后,我们接下来说一下如何实现它们两者之间的联带滑动。什么是联带滑动呢,就是当EditText滑动到底部的时候,这时就应该让外部的ScrollView接着滑动,让它原创 2016-04-21 17:51:10 · 8996 阅读 · 1 评论 -
由Actvity启动模式之SingleInstance引起的坑的反思
以前对于Activity的启动模式只限于文字说明理解的层面,但最近的一个问题让我对启动模式有了更深的了解。Activity有四大启动模式:standard,singleTop,singleTask,singleInstance,这些启动模式的特点就不在这里细说,主要说一下SingleInstance这种启动模式的Activity启动其它模式的Activity的效果与可能出现的问题:问题是这原创 2016-02-19 19:17:21 · 3110 阅读 · 2 评论 -
解决AndroidStudio添加ProjectLibary后在编译时遇到的各种问题之解决方式索引(finished with non-zero exit value and so on...)
解决AndroidStudio添加ProjectLibary后在编译时遇到的各种问题之解决方式索引(finished with non-zero exit value and so on...)因为项目需要,我需要将一个外部工程作为Libary导入项目,起初导入还是比较简单的,但是在编译的时候就遇到了各种问题:Error:Execution failed for task ':app:原创 2015-12-15 13:22:07 · 52639 阅读 · 7 评论 -
设计模式之观察者模式在Listview中的应用
有时候我们会有这么一个需求,在Listview的某个Item上有个按钮,点击这个按钮之后呢,需要对其它的item做一些操作,就像下面这个:采纳按钮点击之前:采纳按钮点击之后:简单介绍一下这两张图的意思:模拟了一个Listview,在每个Item上都有一个“采纳”按钮,当点击其中一个“采纳”之后,需要将其它“采纳”按钮隐藏,并且自身需要改为“已采纳”,如后面的图所示。我们有一种简原创 2015-10-28 10:43:31 · 1545 阅读 · 5 评论 -
Android如何给无法更改继承关系的Activity更换ActionBar(setContentView方法实战)
前言:通常我们有时候会直接使用ADT工具直接新建一个Activity页,而这个Activity我们又无法更改它的父类,那遇到这种情况该如何处理呢?其实很简单,好,看如何来解决这个问题:先来看看这个问题出现的情况,我们以SettingsActivity举例:上图是SettingActivity的继承关系,在PreferenceActivity的内部被引用了一些internal包内原创 2015-10-21 18:20:33 · 1995 阅读 · 1 评论 -
一步步手动实现热修复(三)-Class文件的替换
在上一节了解了基本的类加载原理之后,我们这一节开始对工程内部的类实行替换。 Tips: 本章主要依赖文章http://blog.csdn.net/vurtne_ye/article/details/39666381中的未实现代码实现,实现思路也源自该文章,在阅读本文之前可以先行了解。这一节我们主要实现的流程有:在工程内创建相同的ClassStudent类,但在调用getName()方法返回字原创 2016-11-27 09:48:07 · 7902 阅读 · 13 评论