- 博客(31)
- 收藏
- 关注
原创 不一样的拦截Activity的生命周期方法
public static void attach(Activity activity){ try{ //获取Activity中的mMainThread对象,是一个ActivityThread对象 Field mMainThread = Activity.class.getDeclaredField("mMainThread"); ...
2018-03-23 17:44:36 858
转载 怎样防止App在后台运行,点击应用桌面图标重新启动?
在项目中,遇到一个问题百思不得其解,那就是:我在app使用过程中,点击了home键,然后去看看微信之类的其他应用,这个时候再点击app桌面的图标,这个时候app是重新启动的,而不是从上次停止的界面开始的。 对于上面的情况,我觉得既然我的app已经在后台还运行着,为什么就不能继续重上一个界面继续运行,非得从新运行呢。然后我就去查资料解决了这个问题。首先讲讲这个现象的本质。
2017-08-31 09:50:35 1512
转载 Android 2016新技术
2016你需要了解Android有以下新兴的技术与框架,有些也许还不成熟,但是你应该去了解下,也许就是未来的方向。Kotlin作为 Android 领域的 Swift,绝对让你如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。 http://t.cn/
2016-07-08 10:14:09 272
转载 看,这个工具栏能伸缩折叠——Android CollapsingToolbarLayout使用介绍
我非常喜欢Material Design里折叠工具栏的效果,bilibili Android客户端视频详情页就是采用的这种设计。这篇文章的第二部分我们就通过简单的模仿bilibili视频详情页的实现来了解下CollapsingToolbarLayout的使用。文章的第三部分介绍了CollapsingToolbarLayout与TabLayout的组合使用。有基础的朋友可以直接跳过第一部分。
2016-06-15 17:03:48 1106
转载 Android基于AOP的非侵入式监控之——AspectJ实战
一引言二什么是AspectJ1 它只是一个代码编译器2 它是用来做AOP编程的3为什么要用AspectJ三AspectJ原理与运用1 基本原理2 使用方式21 纯注解方式22 AspectJ语言23 结合自定义注解使用四AspectJ实战监听方法执行耗时打印并输出五一些比较常见的问题六推荐文章一、引言本博文的目的不是详细的介绍Aspe
2016-06-13 15:39:25 875
转载 Android中的AOP编程
Android 中的 AOP 编程原文链接 : Aspect Oriented Programming in Android原文作者 : Fernando Cejas译文出自 : 开发技术前线 www.devtf.cn译者 : byronwind校对者: bboyfeiyu状态 : 校对完成 面向切面编程(AOP,Aspect-oriented programmin
2016-06-13 15:25:10 643
转载 各大热补丁方案分析和比较
最近开源界涌现了很多热补丁项目,但从方案上来说,主要包括Dexposed、AndFix、ClassLoader(来源是原QZone,现淘宝的工程师陈钟,在15年年初就已经开始实现)三种。前两个都是阿里巴巴内部的不同团队做的(淘宝和支付宝),后者则来自腾讯的QQ空间团队。开源界往往一个方案会有好几种实现(比如ClassLoader方案已经有不下三种实现了),但这三种方案的原理却徊然不同,那么
2016-06-08 17:12:57 1739
转载 Android动态加载进阶 代理Activity模式
技术背景简单模式中,使用ClassLoader加载外部的Dex或Apk文件,可以加载一些本地APP不存在的类,从而执行一些新的代码逻辑。但是使用这种方法却不能直接启动插件里的Activity。启动没有注册的Activity的两个主要问题Activity等组件是需要在Manifest中注册后才能以标准Intent的方式启动的(如果有兴趣强烈推荐你了解下Activity生命周期
2016-06-07 16:26:43 327
转载 Android studio 多渠道打包(超简洁版)
最近一直用android studio 进行开发,在开发和发版的时候,遇到一个多渠道打包的问题,由于公司里是有七个渠道的包进行分发,由于每次去AndroidManifest.xml修改渠道的值,甚是麻烦。。。最后去google了一番,发现有些方法,是在gradle文件里切换各种不同的AndroidManifest.xml文件,感觉这样也太麻烦些了。。。后面搜索了些,发些大家写得都差不多,发
2016-05-30 17:55:42 409
转载 带你一步步理解使用 ConstraintLayout
说明Google I/O 2016 上发布了 ConstraintLayout, 简直是要变革 Android 写界面方式. 于是第二天我立即找到相关文档尝试, 这是官方提供的 Codelab 项目. 手把手教你探索 ConstraintLayout. 英文原文: https://codelabs.developers.google.com/codelabs/constraint-
2016-05-30 15:50:25 330
转载 手把手教你使用Git
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够
2016-05-30 15:26:05 296
转载 你需要知道的Android拍照适配方案
拍照功能实现Android 程序上实现拍照功能的方式分为两种:第一种是利用相机的 API 来自定义相机,第二种是利用 Intent 调用系统指定的相机拍照。下面讲的内容都是针对第二种实现方式的适配。通常情况下,我们调用拍照的业务场景是如下面这样的:A 界面,点击按钮调用相机拍照;A 界面得到拍完照片,跳转到 B 界面进行预览;B 界面有个按钮,点击后触发某个业务
2016-05-25 12:45:25 330 1
转载 activity劫持反劫持
1、Activity调度机制Android为了提高用户的用户体验,对于不同的应用程序之间的切换,基本上是无缝。他们切换的只是一个activity,让切换的到前台显示,另一个应用则被覆盖到后台,不可见。Activity的概念相当于一个与用户交互的界面。而Activity的调度是交由Android系统中的AmS管理的。AmS即ActivityManagerService(Activity管理服
2016-05-24 15:34:38 697 1
转载 Android 线程的正确使用姿势
线程是程序员进阶的一道重要门槛。对于移动开发者来说,“将耗时的任务放到子线程去执行,以保证UI线程的流畅性”是线程编程的第一金科玉律,但这条铁则往往也是UI线程不怎么流畅的主因。我们在督促自己更多的使用线程的同时,还需要时刻提醒自己怎么避免线程失控。除了了解各类开线程的API之外,更需要理解线程本身到底是个什么样的存在,并行是否真的高效?系统是怎么样去调度线程的?开线程的方式那么多,什么样的姿势才
2016-05-03 19:25:33 388
转载 Android之自动化压力测试工具:Monkey的使用
原文地址:http://blog.csdn.net/t12x3456/article/details/7799764monkey 压力测试adb -d shell monkey -p your.package.name -v 6000 一、 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事
2016-04-26 20:20:32 412
转载 android textview 自动链接网址 修改默认点击事件
1 修改XML文件即可,android:autoLink="web" [code=xml"] android:id="@+id/text_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:a
2016-04-26 20:19:44 415
原创 C# 基本知识纪录
1:获取IP地址PC有多个网络适配器,例如蓝牙等,这些都是有IP地址的,所以需要获取出来的IP地址可能是多个的,根据自己的需求获取对应的IP地址 NetworkInterface[] interfaces= NetworkInterface.GetAllNetworkInterfaces(); foreach (var networkInterface in in
2016-04-26 20:19:07 930
转载 Eclipse关联ndk-build(自建Builder方法)
1. Project->Properties->Builders->New,新建一个Builder 2. 参数配置2.1 Main①Name:NDK_Builder②Location为ndk-build.cmd的路径,可以如图所示绝对路径,也可以以环境变量的形式,即 ${ANDROID_NDK}\ndk-build.cmd,其中ANDROID_NDK为配置的NDK路径
2016-04-26 20:18:33 384
转载 AOP面向方面编程
1.引言 软件开发的目标是要对世界的部分元素或者信息流建立模型,实现软件系统的工程需要将系统分解成可以创建和管理的模块。于是出现了以系统模块化特性的面向对象程序设计技术。模块化的面向对象编程极度极地提高了软件系统的可读性、复用性和可扩展性。向对象方法的焦点在于选择对象作为模块的主要单元,并将对象与系统的所有行为联系起来。对象成为问题领域和计算过程的主要元素。但面向对象技术
2016-04-26 20:18:00 250
转载 Android应用性能调试
开篇关于Android性能方面,不能不读这篇文章。作者是GOOGLE员工,同时也是个摄影爱好者。本文就是通过阅读这篇文章,结合Android 4.4平台和自身实践总结出来的,个人认为对Android应用程序性能优化较有帮助的一些工具及使用示例。不足之处欢迎指正。性能问题汇总性能问题总的来说,就是反映慢。实际上,从图形学意义来讲,就是帧率低。性能问题最终可以归纳成两类问题:布
2016-04-26 20:14:38 472
转载 12个顶级开发者社区网站帮助程序员走上人生巅峰
公元二十一世纪,世界迎来了大互联网时代,程序员这个行当已然成为了医生、律师等高端中产阶级职业之外的又一高薪职业。不过既然是技术职业,自然也就会分三六九等,没理想的程序员只能写着自己擅长的代码,加着没玩没了的班,拿着固定的工资,日复一日。而肯努力的程序员肯定会抓住一切机会提升自己,从而升职、加薪、迎娶白富美、走上人生巅峰。那么今天,雷锋网就为广大想提升自己的程序员们介绍一些国外的高级代码猴们经常
2016-04-26 20:13:42 489
转载 Android内存优化之OOM
Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配: http:
2016-04-26 20:13:09 204
转载 给 App 提速:Android 性能优化总结
我在几周前的 Droidcon NYC 会议上,做了一个关于 Android 性能优化的报告。我花了很多时间准备这个报告,因为我想要展示实际例子中的性能问题,以及如何使用适合的工具去确认它们 。但由于没有足够时间来展示所有的一切,我不得不将幻灯片的内容减半。在本文中,将总结所有我谈到的东西,并展示那些我没有时间讨论的例子。你可以在这里观看报告视频。幻灯片在这里可以看到。现在,让我们
2016-04-26 20:12:31 315
转载 Android中Touch事件的总结
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:Tou
2016-04-26 20:11:47 190
转载 解决Android帧动画在Oncreate中启动只显示第一帧
Android 开发过程中部分 Activity 在显示的时候就要求给用户显示一个进度框来改善用户体验,比如:Activity 在启动的时候就去联网请求数据、读取数据库内容等。进度框显示样式如下,采用帧动画,而非 ProgressBar。帧动画的启动方式有四种,代码分别如下: ▐ 第一种方式在 Activity 启动时自动运行动画package cn.sunzn.anim;
2016-04-26 20:11:08 722
转载 解决Dex超出方法数的限制问题,让你的应用不再爆棚
随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:[java] view plaincopyUNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: method I
2016-04-26 20:10:35 537
转载 Android中Canvas绘图基础详解(附源码下载)
Android中,如果我们想绘制复杂的自定义View或游戏,我们就需要熟悉绘图API。Android通过Canvas类暴露了很多drawXXX方法,我们可以通过这些方法绘制各种各样的图形。Canvas绘图有三个基本要素:Canvas、绘图坐标系以及Paint。Canvas是画布,我们通过Canvas的各种drawXXX方法将图形绘制到Canvas上面,在drawXXX方法中我们需要传入要绘制的图形
2016-04-26 20:09:44 574
转载 安卓App热补丁动态修复技术介绍
1.背景当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布App,不再需要用户重新下载,覆盖安装?虽然Andr
2016-04-26 20:05:42 361
转载 android:ToolBar详解
今年(2014) 的 google i/o 发表令多数人为之一亮的 material design,而 google 也从「google i/o 2014」 开始,大家也陆陆续续地看到其更新的 android app 皆套用了这个设计介面。当然,这个设计介面著实让大家感到惊艳外,更让 android 开发者开始担心未来 app 的界面处理了。不过,所幸有着之前 actionbar 的经验后
2016-04-26 20:05:01 201
转载 Android完美解决输入框EditText隐藏密码打勾显示密码问题
长话短说,一共有两种方法。首先你需要在布局文件里面给EditText设置一个android:inputType="numberPassword"属性。我这里默认规定密码只能是数字了。如果你需要你的密码不止是数字,你可以设置android:inputType="textPassword"。方法一:使用setInputType设置(适用于textPassword)@Overridepubli
2016-04-26 20:04:09 418
原创 html知识点总结积累
1:accesskey的使用 这是一个测试的界面 姓名 密码 在windows平台下,同时点击alt和n的时候,姓名的输入框就会获取焦点,下边的类似2:contenteditable属性的使用这是一个可以编辑的内容当点击这段内容的时候,显示的效果这段内容就变成了可以编辑的内容3:dir属性的使用左到右右到
2016-04-26 20:02:55 316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人