Android
文章平均质量分 56
sddyljsx
这个作者很懒,什么都没留下…
展开
-
Android :task 与 back stack解读之初步了解.(包括 task,back stack,lauchMode, taskAffinity ,intent flags等解析)
Android应用程序通常由许多activity组成。原创 2014-11-19 23:40:16 · 1472 阅读 · 0 评论 -
解决Android中的SQLite数据库并发访问
译自:https://github.com/dmytrodanylyk/dmytrodanylyk/blob/gh-pages/articles/Concurrent%20Database%20Access.md我曾经写过一篇很简短的文章,阐述了线程安全的访问android sqlite数据库。样例程序可以在这里获取到。/////////////////////转载 2015-08-11 14:18:07 · 1265 阅读 · 0 评论 -
Android ViewGroup触摸事件拦截详解
前言在自定义ViewGroup中,有时候需要实现触摸事件拦截,比如ListView下拉刷新就是典型的触摸事件拦截的例子。触摸事件拦截就是在触摸事件被parent view拦截,而不会分发给其child,即使触摸发生在该child身上。被拦截的事件会转到parent view的onTouchEvent方法中进行处理。但是这个交互过程还是挺复杂的,有多种情况,今天我们就来分析一下吧。这篇分析文转载 2015-08-13 17:56:06 · 767 阅读 · 0 评论 -
apk包安装过程
http://www.it165.net/pro/html/201405/13617.html转载 2015-08-28 21:21:44 · 639 阅读 · 0 评论 -
DEX 文件和APK 加载
DEX 文件和APK 加载在Android 中,对编译出来的DEX 字节码和APK 文件的加载过程,也进行了尽可能的优化。对于预置应用,Android 会在系统编译后,生成优化文件,以ODEX 后缀结尾,这样在发布时除APK 文件(不包含DEX)外,还有一个相应的ODEX 文件。对于非预置应用,运行前,Android会优化DEX文件,在第一次启动应用时,执行文件的DEX被优转载 2015-08-28 21:28:11 · 724 阅读 · 0 评论 -
自己实现的一个不会奇奇怪怪换行的TextView.
public class TextDrawView extends View { private int textColor = 0xffafafaf; private float textSize = 12; private String textToDraw = ""; private List textLines=new ArrayList(); pr原创 2015-08-26 19:20:59 · 1353 阅读 · 0 评论 -
Android 插件化 动态升级
Android 插件化 动态升级不少朋友私信问到这个问题,这里简单介绍下我的了解1、作用大多数朋友开始接触这个问题是因为 App 爆棚了,方法数超过了一个 Dex 最大方法数 65535 的上限,因而便有了插件化的概念,将一个 App 划分为多个插件(Apk 或相关格式) 常用的其他解决方法还包括:Google Multidex,用 H5 代替部分逻辑,转载 2015-08-17 22:21:03 · 587 阅读 · 0 评论 -
Android 广播 总结
1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间);2.同一app内部的不同组件之间的消息通信(单个进程);3.同一app具有多个进程转载 2015-08-20 14:00:49 · 584 阅读 · 0 评论 -
Android service
Service通常总是称之为“后台服务”,其中“后台”一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件:1.并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与Notification界面结合使用的);2.具有较长时间的运行特性。1.转载 2015-08-20 14:34:22 · 652 阅读 · 0 评论 -
自定义 View的常用方法:
Android游戏开发之旅 View类详解 自定义 View的常用方法: onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发 onSizeChanged转载 2015-09-16 21:39:05 · 1128 阅读 · 0 评论 -
android 动态广播与静态广播区别
广播接收器注册一共有两种形式 : 静态注册和动态注册.两者及其接收广播的区别:1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。 静态注册是常驻型,也就是说当应用程序关闭后,如果原创 2015-09-11 11:41:40 · 2457 阅读 · 0 评论 -
android双进程守护
做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论。这里先总结一下网上流传的各种解决方案,看看这些办法是不是真的可行。1.提高优先级这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的被系统回收了,还是无法让应用自动重新启动! 2.让service.onStartC转载 2015-09-08 22:31:24 · 1048 阅读 · 0 评论 -
android service详解
一、首先,让我们确认下什么是service? service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互、它必须由用户或者其他程序显式的启动、它的优先级比较高,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦。 二、那么,什么时候,我们需要使用service呢转载 2015-08-11 14:03:28 · 454 阅读 · 0 评论 -
Binder与AIDL服务
Binder与AIDL服务服务(Service)是Android系统中4个应用程序组件之一。服务主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。通过AIDL服务可以实现不同进程之间的通信,这也是服务的重要用途之一。跨进程访问(AIDL服务)Android系统中的进程转载 2015-08-11 14:15:40 · 528 阅读 · 0 评论 -
Android :task 与 back stack解读之进阶之路.(包括 task,back stack,lauchMode, taskAffinity ,intent flags等解析)
二、进阶之路 通过上面的介绍,我们对Android的task,back stack有了一定的了解,一般来讲,我们不用去关注activity是怎么被放入task的,以及在back stack的存储状态。但是,有时候我们也会有一些特殊的需求。比如说,在一个新的activity启动时,我们想把它放进一个新的task中;或者启动一个activity时,我们不希望创建一个新的实例,而是使用原创 2014-11-20 16:27:02 · 1373 阅读 · 0 评论 -
Android 实现微信,QQ的程序前后台切换:back键切换后台;点击通知栏恢复前台。
实现类似QQ的前后台切换:back键切换后台;点击通知栏恢复前台。原创 2014-11-22 21:59:31 · 17640 阅读 · 5 评论 -
Android开源项目汇总
android目前包括:Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView转载 2015-04-18 15:59:09 · 2052 阅读 · 0 评论 -
Android 屏幕录像教程
一直以来,在 Android 系统上录制屏幕都是件令人困扰的事情。虽然第三方录屏工具多不胜数,但无一不要 Root 权限,且兼容性较差。而在 Android 4.4 上,屏幕录制终于被深度集成在系统中。无需 Root 权限,简单几步就可以将手机/平板上的屏幕操作录制成片。若然你的设备已升级到 Android 4.4 及以上版本,不妨试试这个方法。如何使用原生功能进行屏幕录制转载 2015-04-19 11:04:21 · 1490 阅读 · 0 评论 -
以非gradle方式将 Eclipse 项目导入Android Studio
自从使用了Android Studio之后,相信100%的同学都不会想换回Eclipse了。以前我觉得Eclipse很好用,用的很开心,但是现在觉得Eclipse已经成渣了。基于IntelliJ IDEA的Android Studio找不到任何让我拒绝的理由。但是有一点可能会有一些小小的不爽,就是Android Studio是基于gradle来构建项目,很多同学还是用不惯,而且大部分项目还是用an原创 2015-04-14 20:45:17 · 14286 阅读 · 13 评论 -
Android内存泄露解读
Android的应用被限制为最多占用16m的内存,至少在T-Mobile G1上是这样的(当然现在已经有几百兆的内存可以用了——译者注)。它包括电话本身占用的和开发者可以使用的两部分。即使你没有占用全部内存的打算,你也应该尽量少的使用内存,以免别的应用在运行的时候关闭你的应用。Android能在内存中保持的应用越多,用户在切换应用的时候就越快。作为我的一项工作,我仔细研究了Android应用的内存转载 2015-04-13 21:43:55 · 611 阅读 · 0 评论 -
基于Google Volley的Android Http连接库
android http lib based on volley—基于Google Volley的Http库项目Github地址:https://github.com/sddyljsx/android-http-lib-based-on-volley使用说明:一、优化了volley的组织结构,重新定义的包架构更加清晰明了,方便阅读,扩展包组织结构图如下所示:base包中包括了volley架构的基础原创 2015-04-17 19:01:01 · 938 阅读 · 0 评论 -
基于Apache mina 的android 客户端tcp长连接实现
TCP-long-connection-based-on-Apache-mina基于Apache mina 的tcp长连接实现,可用于android客户端推送。项目将Apache的mina项目移植到了android平台。实现长连接的主要思想是使用了mina的KeepAliveFilter过滤器。acceptor.getFilterChain().addLast("keeplive", new Kee原创 2015-04-17 23:50:56 · 9427 阅读 · 0 评论 -
Android下拉刷新库,利用viewdraghelper实现,集成了下拉刷新,底部加载更多,数据初始加载显示loading等功能
Github地址:https://github.com/sddyljsx/pulltorefreshAndroid下拉刷新库,利用viewdraghelper实现。集成了下拉刷新,底部加载更多,以及刚进入加载数据的loadview。包括了listview与gridview的改写。效果1:效果2:效果3:效果4:效果5:使用说明: imageList=(ListView)findViewById原创 2015-04-17 21:22:20 · 2427 阅读 · 0 评论 -
使用maven构建android项目
为什么引入maven构建方式做过java后台开发的人员应该都知道,maven使用解决依赖包管理问题的,同时优化测试,打包,部署等流程的.在android里,maven可以管理你的依赖包打包成apklib,管理自己的组件库动态配置你的发布渠道(此点非常方便)签名,打包,混淆一条龙服务.开始使用maven引入pom.xml xmlns=转载 2015-06-13 10:33:02 · 2500 阅读 · 0 评论 -
Android绘制波浪曲线,效果很赞的。
直接上代码:原创 2015-08-17 15:32:46 · 10233 阅读 · 1 评论 -
android 实现应用卸载反馈
实现原理fork分叉函数 fork分叉(分裂)函数可以创建一个新进程, 并且新创建出来的进程(子进程)拥有创建它的那个进程(父进程)的数据空间, 堆栈资源等的拷贝. 并且相互不影响. (跟fork zha弹原理一样) 返回值会返回两次, 但有三种情况:在父进程中, fork返回新创建子进程的进程ID.在子进程中, fork返回0.如果转载 2015-09-08 22:21:11 · 1023 阅读 · 0 评论