android工程实践
“一键清理”是一个桌面图标,点击图标后,显示一个视图。进行清理动画。之后显示清理了几个进程,释放了多少M内存。点击“设置过滤名单”启动另外一个Activity编辑过滤名单
“一键清理”是一个桌面图标,点击图标后,显示一个视图,进行清理动画,之后显示清理了几个进程,释放了多少M内存。点击“设置过滤名单”启动另外一个Activity编辑过滤名单
android 技术总结
介绍怎样使用源代码中的 (testkey:普通APK,默认情况下使用。platform:该APK完毕一些系统的核心功能,经过对系统中存在的目录的訪问測试。这样的方式编译出来的APK所在进程的UID为system,shared:该APK须要和home/contacts进程共享数据,media:该APK是media/download系统中的一环。)4种密钥公钥进行签名。
介绍什么是MVC以及MVC在SDK中的使用,扩展了ListView,adapter的简单使用。
介绍什么是反射机制,着重讲述反射机制在android中的详细应用:1.通过反射技术能够訪问到其它包名下数据方法等。这些为一些APK换皮肤提供了方便 2. 訪问android 隐藏的API (不消失的Toast)3. 改动某些“不可改” 的系统资源(高速滑块)。
以班级学生简单实体。介绍SQLite的增、删、查、改等简单使用,SQLite的具体语法点击这里。
对于触摸(Touch)触发的事件,在Android中,事件主要包含点按(onClick)、长按(onLongClick)、拖拽(onDrag)、滑动(onScroll)等,点按又包含单击和双击。另外还包含单指操作和多指操作。当中Touch的第一个状态是 ACTION_DOWN, 表示按下了屏幕。之后,touch将会有兴许事件。比方移动、抬起等,一个Action_DOWN, n个ACTION_MOVE, 1个ACTION_UP。就构成了Android中众多的事件。文章中做出了具体分析。
打开拨号。短信。设置,电量信息,壁纸。图库等系统程序。
具体介绍standard、singleTop、singleTask、singleInstance4中LauncherMode的差别和使用方法
大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的: Canvas、ColorFilter、Point(点)和RetcF(矩形)等。另一些动画相关的:AnimationDrawable、 BitmapDrawable和TransitionDrawable等,文章中都有具体说明。
用代码说明子线程与主线程的差别。
使用Handle、Thread、TimeTask、AlarmManager来进行任务延时。
安装好应用后须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将具体分析Launcher应用程序的启动过程。
迄今为止是我看到最好的一片关于生命周期的文章了。
使用这个漏洞能够进行屏幕劫持。添加系统负荷,窃密等(demo)
文件读写操作的类,能够留做工具。
3种换皮肤的思路,能够适用市面上大多数产品的换皮肤工作。
Android系统为我们提供了非常多服务管理的类,包含ActivityManager、PowerManager(电源管理)、AudioManager(音频管理)
等。除此之外。还提供了一个PackageManger管理类,它的主要职责是管理应用程序包。 通过它,我们就能够获取应用程序信息。
17.SharedPreferences之你不知道的事一、SharedPreferences将数据文件保存在指定路径上
二、SharedPreferences保存图片
三、SharedPreferences保存对象
Android SDK仅仅支持採用SAX技术读取XML,SAX採用顺序读取的方式来处理XML文档。这就要求在每读取XML文档的某个节点时会触发对应的事件来处理这个节点。文章基于一个实例讲述SAX的使用。
JSON是一种轻量级的数据交换格式。具有良好的可读和便于高速编写的特性。从而能够在不同平台间进行数据交换,JSON能够将Java对象转成json格式的字符串。能够将json字符串转换成Java对象。
比XML更轻量级。Json使用起来比較轻便和简单。JSON数据格式,在Android中被广泛运用于client和server通信,在网络传输数据与解析时很方便。
一些能够复用的方法集合
总结:
假设时间自己主动同步选项未勾选,直接返回;
假设NITZ已同步且上次NITZ同步未超过24小时,则设置定时器24小时后再触发同步,即广播NetworkTimeUpdateService.ACTION_POLL。
假设NTP上次成功同步超过24小时或用户勾选自己主动同步选项,则进行以下的NTP同步,否则同上设置定时器24小时后再触发同步;
假设上次NTP成功同步超过24小时,则发起同步mTime.forceRefresh();
假设同步成功。获取此刻NTP时间ntp=mTime.currentTimeMillis();
假设同步时间与当前本机时间误差超过指定值阀值,则把ntp设置为本机时间SystemClock.setCurrentTimeMillis(ntp)
android 与UI有关
一个上下左右都能够滑动的自己定义ScrollView。
聊天软件中表情发送功能。使用SpannableString+ImageSpan能够非常easy实现、重写ondraw方法、在xml中配置....
介绍ListView的常见使用方法,适合刚開始学习的人。
介绍android:layout_weight、android:padding和android:layout_margin、android:gravity和android:layout_gravity...对照,常见误区
android 社区整理的有关动画的知识,值得收藏....
6.LineWrapLayout--依据子控件宽自己主动换行
一些带搜索功能的app。在搜索栏以下通常会提供一些keyword供用户选择。
也能够依据用户输入的文字。在下一次使用的时候该文字出如今经常使用keyword里面,仅仅要轻轻一点就能够搜索了,无需再次输入。
keyword能够动态加入,这就要考虑换行的问题了
android 异常和解决的方法
1.Android Bitmap OutOfMemory解决的方法
在Android应用里,最耗费内存的就是图片资源。
并且在Android系统中。读取位图Bitmap时,分给虚拟机中的图片的堆栈大小仅仅有8M。假设超出了。就会出现OutOfMemory异常,解决的方法有:适当时候手动释放内存、将图片压缩、代码优化...
2.PatternSyntaxException: Syntax error in regexp pattern near index 1
比如代码: temp =temp.split("}")[1];会出错,报上述异常。 由于“{” 是keyword符,要加上转意字符temp =temp.split("\}")[1];
SQLite在3.6.19版本号中才開始支持外键约束,可是为了兼容曾经的程序,默认并没有启用该功能,假设要启用该功能每次都要须要使用例如以下语句:PRAGMA foreign_keys = ON来打开。也就是说。在运行删除一个班级的语句的时候须要运行db.execSQL("PRAGMA foreign_keys=ON")
This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,导致无法正常预览布局文件。问题根源:SDK版本号过高,ADT版本号低
5.java.io.NotSerializableException的解决的方法
非静态内部类拥有对外部类的全部成员的全然訪问权限,包含实例字段和方法。为实现这一行为。非静态内部类存储着对外部类的实例的一个隐式引用。序列化时要求全部的成员变量是Serializable,如今外部的类并没有implements Serializable,所以就抛出java.io.NotSerializableException异常
因为当时的Launcher设置为强制横屏了,应该是不会引起重新启动的。
对于Configuration改变系统会发一个android.intent.action.CONFIGURATION_CHANGED的广播
于是就做了一个广播接收器去检測是不是因为Configuration改变引起的(后来发现Launcher本身有监听这个广播)
果然发现MCC值由0(没有定义)变为460(中国)
android 开发环境
Eclipse的编辑功能很强大,掌握了Eclipse快捷键功能,可以大大提高开发效率
2.ubuntu不能更新SDK ADT或更新非常慢的解决的方法
亲測可行,能够解决上述问题
非常具体非常强大,一步一步手把手教你搭建开发环境
跨平台移动开发实际上就是基于HTML5开发软件界面和基本的业务逻辑,因此一套完好的基于移动平台的HTML5开发环境是很有必要的
android API
1.setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds
setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,
所以才有The Drawables must already have had setBounds(Rect) called.setCompoundDrawablesWithIntrinsicBounds是画的drawable的宽高是按drawable固定的宽高,
所以才有The Drawables' bounds will be set to their intrinsic bounds
2.getMeasuredWidth和getWidth在何时能够取得正确数值
1.在构造方法中不管是getWidth还是getMeasuredWidth都是得不到正确数值的。
2.getMeasuredWidth得到正确数值须要在调用过onMeasure之后。
3.getWidth得到正确数值须要调用过onLayout之后。
Activity的全部属性中英对比解释,很具体的资料
其它
2005年在水木社区BLOG上发表了《清华梦的粉碎--写给清华大学的退学申请》明白要求退学,痛斥国内高等教育弊端
移动支付安全是移动支付发展一直难以逾越的坎,付password、帐号被盗比比皆是。
为了创造一个真正的网上支付的安全保护伞。支付宝最近公布的。新的安全系统引入,未来将生物识别、行为习惯来代替password给手机钱包消费支付保驾护航。