胖虎Android之旅
胖虎
vx:ljpzj1216, 11年移动端开发经验,先后在国内大厂就职过,目前在一家公司担任全栈工程师&技术总监,我和朋友长期接软件外包,如果你有web / app / 小程序等软件开发需求,可以联系我
展开
-
AccessibilityService 辅助功能
AccessibilityService 辅助功能简介无障碍辅助功能,Android提出这个功能,主要是用于帮助残疾人使用Android设备和应用程序。它们在后台运行,AccessibilityEvents事件被触发时接收系统的回调。这样的事件是指用户界面中的一些状态转换,例如,焦点改变,按钮被点击,界面变化。这样的服务Service可以选择性地查询活动窗口内容的功能。服务的开发需要扩展AccessibilityService这个类并实现它的抽象方法。开发实践首先需要定义一个Service Cl原创 2020-12-14 15:07:18 · 1331 阅读 · 0 评论 -
Android两种方式实现横向滚动图标+指示器
啊哈,先上应用效果图,符合你的需求,你再继续看这篇博文哈~类型1 :RecyclerView实现非分页效果的左右滑动类型2 :ViewPager+RecyclerView实现分页效果的左右滑动GitHub地址 : https://github.com/xiaoyaomeng/TopicView/tree/master类型1:RecyclerView实现非分页效果的左右滑动private...原创 2020-04-28 10:31:09 · 6232 阅读 · 4 评论 -
WebView优化提升H5加载速度方案
WebView优化提升H5加载速度方案WebView加载H5经历的过程图示上图体现的是用户打开一个H5页面,经历的过程与代码内部所做的事情的对应关系。用户:无感知(WebView进行初始化)->看到白屏(DNS,Connection,接收页面)->看到Loading界面(静态资源加载完毕后,拉取数据)->展现(数据请求成功)再来看一下,一个Url是如何被浏览器加载并且呈...原创 2020-01-07 11:21:03 · 10863 阅读 · 1 评论 -
Action、Category、Data、Extras知识详解
开头 Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。 诸如此类,都可以通过设置Intent属性来完成。Intent主要有以下四个重要属性,它们分别为:Action:Action属性的值为一个字符串,它代表了系统中已经定义了原创 2014-08-24 15:48:04 · 9325 阅读 · 0 评论 -
Android 实用工具Hierarchy Viewer实战
原文乃本人创作,发表在http://tech.it168.com/a2011/0802/1226/000001226690.shtml上 转载请注明: 在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计,调试和调整界面时,提高用户的开发效率。转载 2014-08-25 17:35:06 · 6335 阅读 · 0 评论 -
Android Studio中利用JavaDoc生成项目API文档
1. 在Android Studio中的菜单项中点击Gener原创 2014-11-13 10:05:48 · 18357 阅读 · 0 评论 -
Android内存泄露分析简要思路
工作中遇到挺多需要分析内存泄露问题的情况,现在大致简要写下思路,等之后时间相对比较充裕再进行补充。1.明白内存泄露的判断依据?个人总结为:持续增加,只增不减!理解一下这8个字,配合几个命令和工具来确定一下你的应用是否存在内存泄露问题,这是很关键的,如果一开始就判断错误了,那么没有继续往下进行的理由。命令如下: adb shelldumpsys meminfo 应用包名 [当然,比较粗略地话,可以用原创 2015-04-09 22:23:21 · 9484 阅读 · 3 评论 -
Android Studio常用操作技巧(不断更新)
Android Studio常用操作技巧,帮助我们更好更快地使用Android Studio进行开发。(持续更新)原创 2014-07-13 16:15:48 · 20014 阅读 · 7 评论 -
Android代码连接Wifi时被系统切换到其他Wifi的问题
首先说下Android代码连接Wifi的几个步骤:(以下涉及到具体API函数自查哈,写的时候凭借印象大致写了下)转载请注明出处:胖虎:http://blog.csdn.net/ljphhj1.首先要开启Wifi连接开关,mWifiManager.setWifiEnabled(true)2.通过获取List<ScanResult>来获取到Wifi连接列表...原创 2015-10-02 20:09:33 · 14276 阅读 · 12 评论 -
Android系统源码下载与编译、刷机--Nexus6实测
前言此博文记录一下Android从系统源码下载到刷机的全过程。(https://source.android.com/source/build-numbers.html 页面中列表信息找到自己设备对应的Android版本进行选择,博文中选择MOB301)硬件:Google 亲儿子 Nexus6("shamu")Android系统:选择了Android官网上的MOB301对应的andr原创 2016-05-28 00:41:41 · 20707 阅读 · 15 评论 -
Activity横竖屏切换时先看到横屏/竖屏再变换回竖屏/横屏
因为公司APP上的一个Bug遇到一个问题,跟了下这个问题,稍微记录一下。需求:当App从后台回到前台的时候,要弹出一个广告页Activity A ,而广告页希望是竖屏显示的,这样才符合引人入胜的效果咯。开发的实现:做这个需求,之前开发的实现是,在Application中注册Application.ActivityLifecycleCallbacks来监听Activity的变化情况,根据Acti...原创 2018-11-26 17:56:58 · 7054 阅读 · 0 评论 -
IDE+Smalidea插件+Baksmali调试破解APK
下载地址:https://bitbucket.org/JesusFreke/smali/downloads1.将apk转成smalijava -jar baksmali-2.2.6.jar disassemble 201901231140356079733.apk -o /Users/meetyou/mypojie/src2.导入AndroidStudio一直Next!!!工程创建成...原创 2019-06-25 09:42:33 · 5266 阅读 · 1 评论 -
Gradle加快编译方法
1.常见的都是在配置上做手脚 jvm 内存大小,线程数等2.从根本上优化就是要用到缓存(class 和 resource)目前有的一些插件有:阿里的freeline(gradle 3.1后用不了) 、instant run (总有莫名其妙的问题)、Jrebel这边主要讲的是关于Jrebel的,首先Jrebel的配置在AS中pulugins下添加Jrebel的插件源地址 :http://d...原创 2019-06-25 09:46:09 · 3123 阅读 · 0 评论 -
多种Native Hook检测机制分析
阿里系产品Xposed Hook检测机制原理分析https://www.cnblogs.com/jiaoxiake/p/6243d5344b71a1f9dcf71ae2dabc9687.html1.反射Xposed的类:通过反射获取de.robv.android.xposed.XposedHelpers类的成员变量,检测obXposedHelper成员fieldCache,methodCach...原创 2019-06-25 09:49:05 · 3939 阅读 · 0 评论 -
AudioManager详解(结合源代码)
AudioManager:用来对音量大小,声音模式(静音,震动,震动加声音等模式)的管理, 还有用它来注册“插入耳机”时的广播接收者(Action: android.intent.action.MEDIA_BUTTON)源码(没有Android源码的可以看下我之前的博文,有提供下载地址哈~)所在位置:Android-4.0/frameworks/base/media/java/andr原创 2013-09-24 21:41:56 · 6092 阅读 · 0 评论 -
Service涉及之RPC协议浅谈
摘至百度文库Android的 Service工作流程1.Android虚拟机启动之前系统会先启动service Manager进程;2.service Manager打开binder驱动,并通知binder kernel驱动程序这个进程将作为System Service Manager;3.然后该进程将进入一个循环,等待处理来自其他进程的数据。4.用户创建一个Sys原创 2013-08-06 19:16:52 · 1746 阅读 · 0 评论 -
Context类详解
http://blog.csdn.net/qinjuningContext类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法 ; 说它陌生,完全是 因为我们真正的不懂Context的原理、类结构关系。一个简单的问题是,一个应用程序App中存在多少个Cont转载 2013-08-06 20:00:48 · 2945 阅读 · 0 评论 -
Android应用更新自动检测下载
由于Android项目开源所致,市面上出现了N多安卓软件市场。为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量。因此我们有必要给我们的Android应用增加自动更新的功能。既然实现自动更新,我们首先必须让我们的应用知道是否存在新版本的软件,因此我们可以在自己的网站上放置配置文件,存放软件的版本信息:upda转载 2013-08-06 22:04:29 · 1636 阅读 · 0 评论 -
Android推送方案分析(MQTT/XMPP/GCM)
本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案。 方案1、使用GCM服务(Google Cloud Messaging) 简介:Google推出的云消息服务,即第二代的 C2DM。 优点:Google提供的服务、原生、简单,无需实现和部署服务端。 缺点:Android版本限制(必转载 2013-08-06 22:07:00 · 2175 阅读 · 0 评论 -
[移动] 谈谈自定义Android界面切换效果库的使用
界面或者板块的切换是Android应用中非常常见的一个功能,本文将给大家介绍一个由本人开发的好用的Android界面切换效果库,同时也谈谈自己对“Android模块化编程”的一些想法。希望大家能通过对界面切换效果库的研究和思考,总结出一套自己的常用功能类库的开发思路。界面切换效果库Demo项目的源码(ShiftEffect.zip)可以点击“ 此处下载”。将解压后的项目源码(ShiftEffect转载 2013-08-06 22:19:19 · 1463 阅读 · 0 评论 -
浅谈Activity之启动方式(5种启动方式和隐式启动)
Activity在Android APP中的重要性不言而喻,那么了解Activity的几种不同的启动方式对设计出好的App至关重要!众所周知Activity的启动方式有如下几种1.在“Home”下点击图标,启动应用程序的首个Activity。我们称之为主Activity,这是最常见的启动方式,而且代表程序具备独立的运行条件。通常会在Manifest中指定某个Activity的and原创 2013-08-06 18:54:45 · 4986 阅读 · 1 评论 -
android组件间的交互和进程间IPC通信
在Android中窗体与窗体之间如何互相调用和交换数据?窗体(Activity)和后台的服务(Service)如何通信?基于 Unix(Linux)的系统都有一个很优秀的传统,就是倡导非常轻便的进程间通信(IPC)机制;倡导进程通过IPC来互相协作;倡导功能单一,小巧而强壮的进程,而不是又大又复杂的“万金油”。同样,在Android中我们可以将我们的Activity和Service放在不同的进转载 2013-08-06 20:19:36 · 1990 阅读 · 0 评论 -
Android布局之Layout_weight属性解析
记录一下,以备日后查阅,原文地址:http://blog.csdn.net/kangyaping/article/details/7400281在网上看了一些对Layout_weight的讲解,有些说的比较片面,只列举了一种情况,然后自己通过实验和一些比较好的文章总结了一下,特此记录下来,以备以后所用。Layout_weight是线性布局,也就是LinearLayout里面用到的,下面通过转载 2013-08-07 10:06:34 · 1442 阅读 · 0 评论 -
AndroidManifest.xml配置文件详解
From: http://blog.csdn.net/shagoo/article/details/7485958感谢: shagooAndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。[html] vi转载 2013-08-07 09:46:12 · 1505 阅读 · 0 评论 -
Android基本概念: 应用, 任务, 进程, 和线程
在大多数操作系统里,存在独立的一个1对1的可执行文件(如Windows里的exe文件), 它可以产生进程,并能和界面图标、应用进行用户交互。但在Android里,这是不固定的,理解将这些分散的部分如何进行组合是非常重要的。由于Android这种可灵活变通的,在实现一个应用不同部分时你需要理解一些基础技术:一个android 包 (简称 .apk ) ,里面包含应用程序的代码转载 2013-08-08 14:03:38 · 2516 阅读 · 0 评论 -
Android之ActivityManager简介(一)
本文主要内容是讲解一下关于Android中的ActivityManager,这个类可以得到“设备配置的属性”,"进程信息","任务信息",“服务”,“正在运行的程序”因此通过这个类,我们可以做一个类似于Windows管理器那样的demo,来管理我们的进程!关于进程,任务,线程的概念,大家可以去我转载的一篇博文中学习下:Android基本概念: 应用, 任务, 进原创 2013-08-08 15:15:08 · 10980 阅读 · 1 评论 -
Handler消息机制的一些原理(直接用code讲解)
package com.example.handlertest;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import android.app.Activity;import android.view.Menu;impor原创 2013-09-12 01:05:12 · 3189 阅读 · 0 评论 -
Intent和PendingIntent的区别
From: http://blog.csdn.net/zeng622peng/article/details/6180190intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的act转载 2013-09-24 21:21:35 · 1320 阅读 · 0 评论 -
Android开发之InstanceState详解
本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用InstanceState保存和恢复数据功能、Android实现屏幕旋转异步下载效果这样两个示例。 首先来介绍onSaveInstanceState() 和 onRestoreInsta转载 2013-10-10 18:12:08 · 1435 阅读 · 0 评论 -
Android的系统服务一览
System Server进程运行在system server进程中的服务比较多,这是整个android框架的基础 Native服务SurfaceFlinger 这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuffer)的服务程序 Java服务:这部分的服务大部分都有一个转载 2013-08-06 19:06:11 · 1578 阅读 · 0 评论