- 博客(103)
- 资源 (5)
- 收藏
- 关注
转载 android TextView 垂直自动滚动
在做android 应用的开发的时候,横向滚动或者要做出跑马灯的效果很简单,textview本身的属性就支持,只要设置准确就会滚动,开发起来比较简单,但是textview 不支持垂直滚动,那么垂直滚动就需要自己来实现了,很多网友提供的垂直滚 动方案都是千篇一律,使用ScrollView来进行滚动,但是都不完美,做起来有些别扭。有一位网友给出的歌词的滚动思路明确,能从根本上解决问题,因此我实现的这个滚
2016-06-23 15:14:21 1110
原创 android中的Handler机制原理解析
通过一个独立线程下载图片,主线程中更新UI,在主线程中更新imageView显示的例子,解析Handler的原理和机制。
2015-12-31 01:27:31 353
转载 android的消息处理机制(图+源码分析)——Looper,Handler,Message
转载自http://www.cnblogs.com/codingmyworld/archive/2011/09/12/2174255.html作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对
2015-12-24 17:27:42 237
原创 android 开启调试小技巧
对android APP进行调试,大部分情况下,启动调试是件so easy的事情。 在Eclipse或Android Studio下,直接就可以对工程进行启动debug。 APP跑起来后就会先去连接调试器,运行过程中自动会触发断点。 但有另外一种情况,若APP是通过其他工具编译的,如ant或是插件APP等,则无法直接通过eclipse直接进行Debug,必须先等APP运行起来之后,通过DD
2015-12-08 18:06:13 592
原创 关于Class的一个坑
今天遇到一个关于Class类的坑,分享给大家。 有一个需求是,通过intent启动一个Activity来加载某插件,要在intent中传递插件的代理类(Class)到Activity中,由于intent里面只能传递基本类型或是可序列化的类型,故而将需要传递的所有参数全部放入json字符串中,在Activity中对json进行解析,得到其中代理类Class的名字,再利用Class类的方法Class.
2015-12-08 12:00:24 329
原创 由Handler引起内存泄露引发的java类设计思考
由Handler引起内存泄露引发的java类设计思考在用eclipse编写Android应用时,可能导致内存泄漏问题的handler一般会被提示 Lint警告: This Handler class should be static or leaks might occur 意思:Handler类应该使用静态声明,否则可能导致内存泄露。
2015-12-07 00:44:40 277
原创 android性能优化基础篇(循环的优化)
从Android开发者网址上学习到的性能优化知识。1.循环遍历的优化需要对某集合进行循环遍历时,若该数据集实现了Iterable接口,可用增强型的for来进行循环(for-each),而不用手动写length个长度进行一个一个访问。static class Foo { int mSplat;}Foo[] mArray = ...public void zero() {
2015-08-24 15:55:14 819
转载 UML类图几种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特
2015-07-08 17:45:24 275
转载 wifi分析2
声明:本文纯属网上资料收集,版权归源作者所有,转载时请标明为转载文章现在对android平台的wifi模块了解了一段时间,现在做一些简要总结,以便以后查阅和与修正,上正文。【Wifi模块学习流程】最近研究Wifi模块,查了不少的相关资料,但发现基本上是基于android2.0版本的的分析,而现在研发的android移动平台基本上都是2.3的版本,跟2.0版本的差别,在Wifi模块上
2014-11-21 18:29:26 237
转载 WiFi分析1
Wifi模块 最近研究Wifi模块,查了不少的相关资料,但发现基本上是基于android2.0版本的的分析,而现在研发的android移动平台基本上都是2.3的版本,跟2.0版本的差别,在Wifi模块上也是显而易见的。2.3版本Wifi模块没有了WifiLayer,之前的WifiLayer主要负责一些复杂的Wifi功能,如AP选择等以提供给用户自定义,而新的版本里面的这块内容基本上
2014-11-21 18:28:40 487
转载 Android App 性能优化
原文 http://developer.android.com/guide/practices/design/performance.html 性能优化Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航。由此,它必须是高效的。电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了。由于续航对用户的重要性,当电量
2014-10-23 16:55:21 276
转载 Dalvik VM (DVM) 与Java VM (JVM)的区别
Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。(dx 是一套工具,可以将 Java .class 转换成 .dex 格式. 一个dex档通常会有多个.class。由于dex有
2014-10-11 10:29:28 293
转载 xml字符转义
在项目测试阶段,测试人员会输入一些特殊字符,比如:、、&及 都转化成、&及空格,原因是用java代码直接取的并没有对特殊字符做转义。 因为Html中的,&有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义序列。 & 的转义序列为 & amp 或 & #38; > 的转义序列为 & gt; & #62
2014-10-11 09:38:21 424
转载 腾讯内部深度文章曝光:微信向左 手机QQ向右
腾讯内部文章曝光:微信向左,手Q向右 内部人建议:微信,要有所为有所不为,接盘MSN,和QQ一块垄断全量用户群 虎嗅注:在1月25日虎嗅发表的《腾讯在用生命山寨腾讯》中,曾提到一位“生活电商团队成员”最近在腾讯内网贴了一篇盛赞手机QQ(“手Q”)的文章,通篇将手Q与微信做了对比与分析。 随后我们收到了一篇匿名投稿,将这篇文章原文投递给了我们,原来它的作
2014-10-11 09:38:14 1141
转载 Android中关于多屏幕适配
Android中关于多屏幕适配 现在的Android手机屏幕越来越大,我们写的程序当然应该与不同屏幕的手机完美适配。以前面试时,面试官也经常问这个问题:怎么处理屏幕适配?好了,不多说了,下面进入正题: 1、基本概念 a、屏幕大小(screen size) 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸)。android把屏幕分为以下4种:small,norm
2014-10-09 11:01:43 272
转载 ProtoBuf开发者指南
目录1 概览1.1 什么是protocol buffer1.2 他们如何工作1.3 为什么不用XML?1.4 听起来像是为我的解决方案,如何开始?1.5 一点历史2 语言指导2.1 定义一个消息类型2.2 值类型2.3 可选字段与缺省值2.4 枚举2.5 使用其他消息类型2.6 嵌套类型2.7 更新一个数据类型2.
2014-10-08 11:09:02 273
转载 Android动画学习笔记-Android Animation
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 可通过NineOldAndroids项目在3.0之前的系统中使用P
2014-10-06 17:39:36 264
转载 Android多线程下安全访问数据库
为了记录如何线程安全地访问你的Android数据库实例,我写下了这篇小小札记。文章中引用的项目代码请点击这里假设你已编写了自己的 SQLiteOpenHelper。[java] view plaincopypublic class DatabaseHelper extends SQLiteOpenHelper { ... }
2014-09-12 15:20:40 634
转载 java设计模式详述
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真
2014-09-02 23:50:36 295
转载 Sqlite3中replace语句用法详解
由于自己的孤陋寡闻, 也由于之前的项目中, 很少参与过数据库模块的开发, 以至于前几天才知道Sqlite数据库也支持replace语句。 本文主要讲解在Sqlite中replace语句的行为,也算是学习笔记。此外, replace语句和update语句有相似的地方, 但是也有很多不同之处。 本文还要对比一下Sqlite中的 replace语句和update语句 。在本例中使用如下数据库
2014-08-20 11:32:42 1512
转载 sqlite3常用命令&语法
http://blog.csdn.net/linchunhua/article/details/7184439sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite大量的被用于手机,PDA,MP3播放器以及机顶盒设备。 Mozilla Firefox使用SQLite作为数据库。 Mac计算机中的包含了多份SQLit
2014-08-20 11:30:36 329
转载 Android触摸事件分发机制
最近做了一个类似桌面应用图标可以点击,长按拖动效果,然后研究了下android触摸事件机制。Android中的事件分为按键事件和触摸事件,这里对触摸事件进行阐述。Touch事件是由一个ACTION_DOWN,n个ACTION_MOVE,一个ACTION_UP组成onClick,onLongClick,onScroll等事件。Android中的控件都是继承View这个基类的,而控件分为两种:
2014-08-13 09:40:25 327
转载 Android自定义类似ProgressDialog效果的Dialog
Android自定义类似ProgressDialog效果的Dialog.方法如下:1.首先准备两张自己要定义成哪样子的效果的图片和背景图片(也可以不要背景)。如我要的效果:2.定义loading_dialog.xml布局文件(这里你也可以按自己的布局效果定义,关键是要有个imageView):[html] view plaincopy 3.定义一个loadingDialog中imageView转动
2014-08-05 17:35:35 315
转载 android 模拟返回键功能
我测试发现,有两种方法可行。①、java.lang.RuntimeRuntime runtime = Runtime.getRuntime();runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);②、android.app.InstrumentationInstrumentation in
2014-08-05 15:13:16 1428
转载 java中synchronized的用法(1)
第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,
2014-06-27 11:22:37 335
转载 android:configChanges
AndroidManifest.xml中android:configChanges的简介 程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等,这样的事情一发生,Activity会重新启动,其中的过程是:在销毁之前会先 called onSaveInstanceState()去保存你应用中的一些数据,然后called onDestroy(),最后才去called on
2014-06-13 15:16:29 259
转载 DDMS查看Threads情况
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然。 手机连接上USB,确保adb连通,然后启动Eclipse里的DDMS,这时候应该手机就正常连接上了 就如上图中显示的,只要连接上了就可以查看某个进程里的所有线程的活动了; 下面具体解释下Threads
2014-06-09 15:06:37 354
转载 linux的常用信号量和进程的四种状态
linux下的所有信号[root@localhost binboot]# kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV
2014-06-09 15:05:19 946
转载 android UI事件处理、focus处理
在Android平台上,捕获用户在界面上的触发事件有很多种方法,View类就提供这些方法。你在使用各种View视图来布局界面时,会发现几个公用的回调方法来捕捉有用的UI触发事件,当事件在某个View对象上被触发时,这些方法会被系统框架通过这个对象所调用,例如:当一个View(如一个Button)被点击,onTouchEvent()方法会在该对象上被调用,所以,为了捕获和处理事件,必须去继承某个类,
2014-06-07 17:03:26 360
转载 Android核心分析
Android核心分析(20)----Android应用程序框架之无边界设计意图Android的应用框架的外特性空间的描述在SDK文档(http://androidappdocs.appspot.com/guide/topics/fundamentals.html#acttask)有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述。在外特性空间中,Android提
2014-05-29 13:36:59 347
转载 Android中选取并绑定AppWidget
转载自http://blog.csdn.net/thl789/article/details/7880650Android添加一个窗口小部件的过程,实际是AppWidgetPickActivity为AppWidgetHost选取AppWidgetProvider并与之绑定的过程。一般地,Launcher扮演AppWidgetHost角色,AppWidgetProvider可以从
2014-05-29 11:26:45 394
转载 Android中Launcher对于AppWidget处理的分析:AppWidgetHost角色
转载Launcher在Android的AppWidget整个体系中扮演AppWidgetHost的角色,本文分析Launcher对于AppWidget的处理,主要包括:选取AppWidgetProvider之后的处理;Launcher初始化过程中加载(包括第一次加载和之后正常的加载)AppWidget信息的处理,等。 由《Android中选取并绑定AppWidg
2014-05-29 11:22:22 298
转载 Android中使用Handler造成内存泄露的分析和解决
什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可
2014-05-07 15:14:54 322
转载 java类的成员初始化顺序和初始化块知识
转载自http://blog.csdn.net/lgfeng218/article/details/7606735属性、方法、构造方法和自由块都是类中的成员,在创建类的对象时,类中各成员的执行顺序:1.父类静态成员和静态初始化快,按在代码中出现的顺序依次执行。2.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。3. 父类的实例成员和实例初始化块,按在代码中出现的顺序依次执
2014-05-05 10:45:10 319
转载 Java数组你知多少?
下面我带大家一起加深一下对Java数组的认识:1.理解数组数组也是一种数据类型,本身就是一种引用类型,我们从它的初始化方法,通过关键字new去完成定义及初始化就可以知道。数组的长度是不变的,一旦数组完成初始化后,它的长度就固定下来了,在内存中占有的空间也就固定了,即使里面的数据被清空了,占有的空间还是保留下来了,依然是属于数组的,当然长度依旧是不变的。数组里边存放的
2014-04-26 23:49:21 376
转载 declare-styleable:自定义控件的属性
做Android布局是件很享受的事,这得益于他良好的xml方式。使用xml可以快速有效的为软件定义界面。可是有时候我们总感觉官方定义的一些基本组件不够用,自定义组件就不可避免了。那么如何才能做到像官方提供的那些组件一样用xml来定义他的属性呢?现在我们就来讨论一下他的用法。一、在res/values文件下定义一个attrs.xml文件,代码如下:
2014-04-22 19:13:17 312
转载 Android开发之APN网络切换
本文介绍Android平台中关于APN网络切换的相关知识以及如何实现APN切换。 由于最近的项目中用到APN切换的功能,所以就借着这个机会介绍一下APN的相关知识及如何在Android实现切换过程。关于APN的基本知识我会在下面给大家介绍。 在这个示例中,我使用圆角ListView显示效果,关于Android实现ListView圆角效果,大家可以查看我以前的一篇博文:
2014-04-08 16:42:16 411
转载 Android 信号处理面面观 之 trace 文件含义
在前一章Android 信号处理面面观 之 信号定义、行为和来源 中,我们讨论过,Android 应用在收到异常终止信号(SIGQUIT)时,没有遵循传统 UNIX信号模型的默认行为 (终止 + core )。而是打印出trace 文件来,以利于记录应用异常终止的原因。 本文就重点分析 trace 文件是怎么产生的,并详细解释trace文件的各个字段的含义。一. TRACE 文
2014-03-24 18:01:45 428
转载 android 退出程序 个人解决方法
// 杀死各种activity for (WeakReference a : al) { if (a.get() != null) { a.get().finish(); } } // 清空缓存 al.removeAll(al); android.os.Process.sendSignal(android.os.Process.myPid()
2014-03-24 16:40:12 303
The 8051 Microcontroller
2009-12-02
Keil实例教程和Cx51编译器中文手册
2009-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人