Android
文章平均质量分 50
天外来客1009
永远不要低估一颗冠军的心,一颗永不服输的心!低调做人、认真做事!努力工作、好好生活、细心照顾身边的人!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android自定义吐司Toast:自定义样式、自定义显示时长
Android自定义吐司Toast:自定义样式、自定义显示时长鉴于系统toast,一般都是黑色背景且位于界面底部,我们看到有些app弹出的toast,有的在界面中间、有的在界面顶部,还有的是带图片的,那是怎么实现的呢?了解系统toast类有哪些方法setView( ):设置toast视图,也就是通过layout布局来控制toast显示不同的视图。 setGravity( ):设置toast显示位原创 2016-11-21 18:40:34 · 15481 阅读 · 2 评论 -
Android动画效果translate、scale、alpha、rotate详解
[转自:http://blog.youkuaiyun.com/sun6255028/article/details/6735025]动画类型Android的animation由四种类型组成XML中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果JavaCode中AlphaAnimation渐变透明度动画效果ScaleAnima原创 2016-06-24 14:26:50 · 516 阅读 · 0 评论 -
Android5.0报错:java.lang.IllegalArgumentException: Service Intent must be explicit
Android5.0报错:java.lang.IllegalArgumentException: Service Intent must be explicit。主要是因为Android5.0不支持隐式in Android5.0报错:java.lang.IllegalArgumentException tent,必须是显示intent。原创 2016-06-24 14:26:56 · 606 阅读 · 0 评论 -
Android app1打开app2的实现
场景:在app1的MainActivity界面,点击一个button,打开app2的DemoActivity界面,如何实现?解决方案的步骤:1、在app1的mainfest.xml文件中,在MainActivity的声明中,加上如下代码: …… …… …… …… …… …… 2、在MainActivity界面的button点击事件中,加上如下代码:Intent it = n原创 2016-06-24 14:26:58 · 531 阅读 · 0 评论 -
Android Json基础知识
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.orgJSON Vs XML 对比1.JSON和XML的数据可读性基本相同2.JSON和XML同样原创 2016-06-24 14:24:47 · 363 阅读 · 0 评论 -
Android:一个TextView分段改变样式、添加监听事件的实现方式(类似朋友圈评论)
TextParser 实现类似“朋友圈、QQ空间说说”评论的功能原创 2016-06-24 14:27:01 · 949 阅读 · 0 评论 -
Android 使用TBS提高WebView的兼容性和性能
因Android各大厂商都有自己定制的ROM,导致app端开发时,WebView的兼容性和性能是一个让很多人头疼的问题。不过,目前可以使用TBS(腾讯浏览服务)SDK,此SDK已经在WebView的兼容性、性能上作了很大提升。首先,介绍一下TBS的优势。1)速度快:相比系统WebView的网页加载速度有近30%的提升;2)省流量:云端优化技术使流量节省20%;3)更安全:24小时安原创 2016-07-11 15:05:34 · 10720 阅读 · 4 评论 -
Android Studio常用插件整理
现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+I转载 2016-07-07 17:17:21 · 928 阅读 · 0 评论 -
Android监控内存泄露利器-使用Leak Canary
Android监控内存泄露利器---Leak Canary,先看一下,在Android Studio如何集成?很简单,两步。1、在build.gradle中添加两行代码。dependencies { //leakcanay检测内存泄露 start debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3原创 2016-07-07 16:56:10 · 1157 阅读 · 0 评论 -
Eclipse 如何导入Android系统源码
对于想看Android系统源码的人来说,可以说有很多编辑工具都可以查看,比如,我看到身边有同事用sourceInsight软件,但我们平时开发Android app一般都是用Eclipse、Android Studio来开发,要查看源码,还要另外下载sourceInsight,如何用已有的Eclipse查看Android系统源码呢?仅以此来记录一下。主要分为以下几步:1、将Android系原创 2016-07-05 15:03:23 · 4760 阅读 · 0 评论 -
Android实现“判断域名是否有效”的功能
近期在做公司某一个app项目时,有这样的一个需求:公司app接口有部署在不同ip的服务器,通常我们app是直接请求带公司域名的接口服务器,但有可能遇到公司域名被DSN劫持的情况,这时就需要app转为请求另一个ip的接口服务器。 这种情况就需要实现“判断域名是否有效”的功能。主要有两种方法:第一种、通过ping命令来判断域名是否可ping通。主要实现代码如下:Proc原创 2016-06-29 08:46:02 · 9331 阅读 · 0 评论 -
Android ListView实现某些item被盖上一层蒙版的效果
最近做项目,产品和UI出的一个效果图是这样的:有一个产品列表,可以购买的正常显示,已售罄的产品item被灰掉(即:看起来像是被盖上一层半透明的蒙版)。其实要实现这个效果,想一想也不难。基本思路:1、ListView的每个item是一个单独的布局,给这个布局设置前景色来实现。一般都是用LinearLayout、RelativeLayout实现,那么这两种布局有设置背景色(backgr原创 2016-08-15 15:02:48 · 4177 阅读 · 1 评论 -
利用AccessibilityService实现“微信红包”插件
利用AccessibilityService实现“微信红包”插件。AccessibilityService是android的一个辅助服务抽象类,它是继承Service类,可以用于监听通知栏的变化、窗体改变、窗体内容改变、EditText光标移动、TextView内容改变等事件。原创 2016-11-10 11:04:44 · 4607 阅读 · 0 评论 -
Android实现自定义PasswordInputView密码输入
欢迎来到“实现自定义密码输入控件”这一章节。先上图 PasswordInputView是做什么的?PasswordInputView是一个自定义密码输入的控件,类似支付宝、微信支付的密码输入,同时定义了密码输入的监听实现原理1.创建一个类 ‘PasswordInputView’ ,让其继承EditText,因为我们要实现的自定义view是用来密码输入的,所以必须继承EditText原创 2016-11-29 18:08:42 · 6786 阅读 · 2 评论 -
Android相关技术博客汇总
下面是Android国内、国外相关技术博客汇总,欢迎大家补充此页面内容Github地址,fork一下,保存方便国内部分Android开发者博客(备注:按A-Z排序) 昵称 GitHub 博客 介绍 androiddevtools androiddevtools Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载原创 2016-11-28 18:02:16 · 1607 阅读 · 0 评论 -
Android截图如何生成gif动态图
我们在博客里面经常看到有人上传的截图是动态的,即gif格式,那么截图怎么生成gif格式的图片呢?原创 2016-11-21 11:20:28 · 3200 阅读 · 0 评论 -
Android系统架构
Android系统采用分层的思想,如下图所示,从下层到上层,分别是:Linux内核、系统库和运行时、应用程序框架层、应用层。 一、 Linux内核 Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、原创 2016-06-24 14:26:47 · 1222 阅读 · 0 评论 -
Android热修复“AndFix”中文解析(使用说明)
AndFixDownload|0.5.0 build|passing License|Apache2.0 Gitter|join chatAndFix源码下载AndFix的官方解释AndFix是一种“不用重新发布版本,直接在线修复bug”的解决方案。一般以Android Library形式发布。AndFix名字的由来AndFix是“Android hot-fix”(即:Android热修复)的翻译 2016-11-22 20:03:08 · 1489 阅读 · 0 评论 -
Android自定义View完美实现指示器位置随进度变化的IndicateProgressView
该文章同步发布在公众号”LinminTech”上,请在本文最后扫码关注,获取更多精彩Android开发文章。在平时开发过程中,UI经常要求实现进度百度分比位置随进度变化的的ProgressBar,但是Android系统自带的ProgressBar并不能满足我们的要求,这就要求我们自定义实现这样的控件。基本原理在网上看到很多类似直接继承系统ProgressBar来实现此控件,但是在实现进度指示器都比较复杂,这里简单实现原创 2016-12-08 20:26:44 · 4379 阅读 · 2 评论 -
Android:同一App不同Activity间跳转踩过的坑
Android:同一个app,不同activity间跳转,从第一个activity正常跳转(startActivity)到第二个activity,第一个activity就被onDestroy了,这是为什么呢?原创 2017-01-10 18:17:54 · 2522 阅读 · 1 评论 -
Android:使用PopupWindow.update( )碰到的坑
背景前期做项目实现了一个自定义键盘的控件,主要是通过extends PopupWindow来实现,后期我会考虑把这个自定义键盘开源,敬请关注。其中用到了PopupWindow.update( )方法,在Android7.0正式发布前,即在Android7.0以下的系统上没有问题,最近Android7.0的手机已经陆续进入市场。就在这几天,有同事反应我们项目里面那个自定义键盘原来在界面底部,是正常,但原创 2017-01-16 20:07:24 · 12497 阅读 · 1 评论 -
Android开源项目如何发布到JCenter上
Android开源项目如何发布到JCenter上?第一步:配置module的build.gradle;第二步:生成需要发布的zip包;第三步:注册binary账号;第四步:创建项目;第五步:上传zip包;第六步:点击“Add to JCenter”,提交审核原创 2017-02-17 18:59:35 · 707 阅读 · 0 评论 -
Android程序报“程序包org.apache.http不存在”的原因和解决办法
问题描述最近做Android项目用到网络请求,结果碰到“程序包org.apache.http不存在”的问题,但是以前的项目用同样的网络请求没有问题。 原因在Android Studio开发项目时,Android6.0(API:23)开始不支持HttpClient了。解决办法在app的build.gradle添加如下代码android { useLibrary 'org.apache.htt原创 2017-02-24 16:33:43 · 4875 阅读 · 0 评论 -
Android App不被手动强制停止和卸载的实现
最近在做项目时,遇到一个这样的问题,如何让我们的App在“系统设置”里面,不被手动强制停止和卸载?首先,我们分析一下:- 要实现不被手动停止,必须让系统设置的App详情页面的“强制停止”按钮被置灰才能做到。- 要实现不被手动卸载,必须让App 获取系统的设备管理权限。要实现以上两点,我们必须想办法让App在启动时自动获取系统的设备管理权限。接下来,我们通过查阅相关资料,需要按照以下步...原创 2018-08-14 15:52:04 · 11164 阅读 · 10 评论 -
APK下载完成后,点击提示无法打开,如何解决
APK下载完成后,点击提示无法打开,如何解决近期在做一个项目时,实现了扫码下载的功能,其基本流程如下:集成了zxing的扫描库,当识别了二维码后,跳转到一个WebView页面。 设置此WebView的的下载监听器,如下:// 设置WebView下载监听器 wvDetail.setDownloadListener(new DownloadListener() { ...原创 2018-08-15 19:35:23 · 136855 阅读 · 1 评论 -
Android常用优秀开源框架强烈推荐
Android常用优秀开源框架1.网络请求框架okhttpOkGo2.图片下载框架glidepicasso 加载一般图片 加载gif 图片质量细节 方法数 缓存 glide OK OK且显示动图 有锯齿 2678 根据ImageView尺寸,为不同尺寸缓存图片 picasso OK OK,...原创 2018-09-20 15:53:33 · 3827 阅读 · 2 评论 -
Android如何实现获取手机CPU的温度?
Android如何实现获取手机CPU的温度?在做项目过程中,有时需要获取手机CPU的温度。目前市面上常见的CPU主要有两种:MTK(联发科)、Qualcomm(高通)。当然还有我们华为的海思麒麟CPU,以及三星的CPU。后两种CPU在本篇文章中就不做展开,有兴趣的同学,可以自行去研究研究。通过研究发现,CPU的信息基本都是在/sys/class/thermal/目录下,通过adb shell...原创 2019-02-15 17:15:44 · 9050 阅读 · 3 评论 -
Activity启动流程简明总结
App安装后,在桌面(Launcher)会出现App的图标,用户点击App图标后,App的第一个Activity是如何启动起来的呢。简明总结如下:Launcher 点击App图标,Activity启动流程:①Launcher响应用户点击,通知AMS(ActivityManagerService)需要启动Activity【Launcher通过ActivitiyManagerProxy与AMS通...原创 2019-03-20 18:57:06 · 336 阅读 · 0 评论 -
Android N调用系统安装APK方法报错原因整理及解决方案
最近在做App的改版(由系统App改为普通App)过程中,经原来的静默安装方式改为调用系统普通安装APK的方式时,报错了,堆栈信息如下:fatal errorjava.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/Android/data/com.x...原创 2019-04-08 09:46:58 · 2134 阅读 · 0 评论 -
Android App性能优化,你知道如何做吗
一.何为App的性能拿小车举例,大家知道什么是一辆小车的性能吗?同学甲说,是否省油、加速是否够快、开起来是否稳定、安全等等。没错,那就是小车的性能。那App的性能又是指什么呢?同学已说,App启动是否够快,运行是否流畅,是否省电、省流量,安装包体积是否够小等等。是的,这就是App的性能。二.关注App性能,有什么用我们知道,一辆小车性能越好,加速越快,跑的越稳,越省油。App也一样,...原创 2019-04-28 19:06:17 · 513 阅读 · 0 评论 -
Android中的Binder机制,一看就明了
Binder的作用Binder主要用于进程间的通信(IPC)。Binder的架构Binder采用的是C/S架构(Client/Server架构)。发送消息的是Client,接收消息的Server。Binder机制Client和Server分别属于不同的进程,二者需要ServiceManager来配合完成通信。Server向ServiceManager注册服务,注册过程是在Binder...原创 2019-05-08 14:40:11 · 404 阅读 · 0 评论 -
Android的ClassLoader知多少
loadClass基本流程/** * Loads the class with the specified <a href="#name">binary name</a>. The */protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundExcep...原创 2019-05-08 14:53:23 · 333 阅读 · 0 评论 -
android:SharedPreference 读取失败的原因及解决办法
如下代码:private int typeLastItem = 0;private int areaLastItem = 0;private int timeLastItem = 0;读取数据:SharedPreferences sp = getSharedPreferences("yst_filter", Context.MODE_PRIVATE);typeLastItem = sp.getIn原创 2016-06-24 14:25:51 · 7492 阅读 · 0 评论 -
Android 点击back键两次退出程序
public class MainActivity extends Activity { private long firstime = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act原创 2016-06-24 14:25:11 · 398 阅读 · 0 评论 -
Android 防止Service被系统回收
对于Service被系统回收,一般做法是通过提高优先级可以解决,在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = "1000"这个属性设置最高优先级,1000是最高值,如果数字越小则优先级越低,同时实用于广播。如: android:enabled="true" android:nam原创 2016-06-24 14:25:14 · 746 阅读 · 0 评论 -
Android:adb 启动activity、service,发送broadcast
一、adb启动activity:$ adb shell$ am start -n {包(package)名}/{包名}.{活动(activity)名称}如:启动浏览器# am start -n com.android.browser/com.android.browser.BrowserActivity二、adb启动service:$ adb shell$ am startservice -n {原创 2016-06-24 14:25:16 · 417 阅读 · 0 评论 -
Android java.lang.RuntimeException: Can\'t create handler inside thread that has not called Looper.prepare()
E/AndroidRuntime(7200): Uncaught handler: thread Thread-8 exiting due to uncaught exceptionE/AndroidRuntime( 7200): java.lang.RuntimeException: Can't create handler inside thread that has not called L原创 2016-06-24 14:25:19 · 530 阅读 · 0 评论 -
Android:monkey测试工具
一、 什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。“monkey测试”可简称“猴子测试”,像猴子一样在手机界面上随机点击,即“压测”,可作为app的稳定性测试的一个工具原创 2016-06-24 14:25:22 · 439 阅读 · 0 评论 -
android:根据下载文件的url获取文件名
1、通过UrlConnection来获取2、通过截取url地址最后一个"/"来获取public static String getFileName(String url) { String filename = ""; boolean isok = false; // 从UrlConnection中获取文件名称 try {原创 2016-06-24 14:25:25 · 4969 阅读 · 0 评论 -
android:从ArrayList<HashMap<String, Object>>中获取键值对
直接上示例:public void getList(String cmdStr, int index, int type, ArrayList> mList) { try { JSONArray gethotlist = new JSONObject(cmdStr).getJSONArray("list"); JSONObject jso = (JSONObject)gethotlist原创 2016-06-24 14:25:27 · 6643 阅读 · 0 评论
分享