android开发
bellxiongzw
车载 Android APP
展开
-
android TextView 垂直自动滚动
在做android 应用的开发的时候,横向滚动或者要做出跑马灯的效果很简单,textview本身的属性就支持,只要设置准确就会滚动,开发起来比较简单,但是textview 不支持垂直滚动,那么垂直滚动就需要自己来实现了,很多网友提供的垂直滚 动方案都是千篇一律,使用ScrollView来进行滚动,但是都不完美,做起来有些别扭。有一位网友给出的歌词的滚动思路明确,能从根本上解决问题,因此我实现的这个滚转载 2016-06-23 15:14:21 · 1133 阅读 · 0 评论 -
Android中选取并绑定AppWidget
转载自http://blog.csdn.net/thl789/article/details/7880650Android添加一个窗口小部件的过程,实际是AppWidgetPickActivity为AppWidgetHost选取AppWidgetProvider并与之绑定的过程。一般地,Launcher扮演AppWidgetHost角色,AppWidgetProvider可以从转载 2014-05-29 11:26:45 · 414 阅读 · 0 评论 -
DDMS查看Threads情况
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然。 手机连接上USB,确保adb连通,然后启动Eclipse里的DDMS,这时候应该手机就正常连接上了 就如上图中显示的,只要连接上了就可以查看某个进程里的所有线程的活动了; 下面具体解释下Threads转载 2014-06-09 15:06:37 · 370 阅读 · 0 评论 -
android UI事件处理、focus处理
在Android平台上,捕获用户在界面上的触发事件有很多种方法,View类就提供这些方法。你在使用各种View视图来布局界面时,会发现几个公用的回调方法来捕捉有用的UI触发事件,当事件在某个View对象上被触发时,这些方法会被系统框架通过这个对象所调用,例如:当一个View(如一个Button)被点击,onTouchEvent()方法会在该对象上被调用,所以,为了捕获和处理事件,必须去继承某个类,转载 2014-06-07 17:03:26 · 372 阅读 · 0 评论 -
Android开发之APN网络切换
本文介绍Android平台中关于APN网络切换的相关知识以及如何实现APN切换。 由于最近的项目中用到APN切换的功能,所以就借着这个机会介绍一下APN的相关知识及如何在Android实现切换过程。关于APN的基本知识我会在下面给大家介绍。 在这个示例中,我使用圆角ListView显示效果,关于Android实现ListView圆角效果,大家可以查看我以前的一篇博文:转载 2014-04-08 16:42:16 · 426 阅读 · 0 评论 -
declare-styleable:自定义控件的属性
做Android布局是件很享受的事,这得益于他良好的xml方式。使用xml可以快速有效的为软件定义界面。可是有时候我们总感觉官方定义的一些基本组件不够用,自定义组件就不可避免了。那么如何才能做到像官方提供的那些组件一样用xml来定义他的属性呢?现在我们就来讨论一下他的用法。一、在res/values文件下定义一个attrs.xml文件,代码如下:转载 2014-04-22 19:13:17 · 329 阅读 · 0 评论 -
Android中使用Handler造成内存泄露的分析和解决
什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可转载 2014-05-07 15:14:54 · 341 阅读 · 0 评论 -
Android 信号处理面面观 之 trace 文件含义
在前一章Android 信号处理面面观 之 信号定义、行为和来源 中,我们讨论过,Android 应用在收到异常终止信号(SIGQUIT)时,没有遵循传统 UNIX信号模型的默认行为 (终止 + core )。而是打印出trace 文件来,以利于记录应用异常终止的原因。 本文就重点分析 trace 文件是怎么产生的,并详细解释trace文件的各个字段的含义。一. TRACE 文转载 2014-03-24 18:01:45 · 444 阅读 · 0 评论 -
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 · 321 阅读 · 0 评论 -
浅谈ANR如何分析解决ANR /转
手机中pull处理trace.txt进去 data/anr 再pull 一:什么是ANR ANR:Application Not Responding,即应用无响应二:ANR的类型 ANR一般有三种类型: 1:KeyDispatchTimeout(5 sec转载 2014-03-24 15:02:20 · 324 阅读 · 0 评论 -
观察者模式
观察者模式定义: Define a one-to-many dependency between objects so that when one object changes state, all its dependents aer notified and updated automatically. 定义对象间一种一对多的依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得转载 2014-03-20 13:04:00 · 315 阅读 · 0 评论 -
把Android源码中的密码对转换为keystore的方法
如果要在Eclipse中调试Android源码中非test key签名的程序(也就是使用platform, media or shared key签名的程序),需要把Android源码中的公私钥对(build/target/product/security)转换为Eclipse能够使用的keystore。转换步骤如下:0. 把build/target/product/securit转载 2014-03-03 16:31:16 · 328 阅读 · 0 评论 -
Android判断App是否在前台运行
Android开发中,有时候需要判断App是否在前台运行。代码实现如下:[java] view plaincopyprivate boolean isRunningForeground (Context context) { ActivityManager am = (ActivityManager)context转载 2013-12-14 17:10:25 · 431 阅读 · 0 评论 -
基于CyberGarage库的dlna开发(android)
关于dlna的介绍就不多说了,具体可以看这篇博文http://blog.csdn.net/geniuseoe2012/article/details/8230877或者问百度谷歌 Dlna通讯采用upnp协议,详看这篇博文:http://blog.csdn.net/geniuseoe2012/article/details/8132719或者问百度谷歌转载 2013-12-06 15:50:47 · 1781 阅读 · 1 评论 -
android 接入标准地图APP草稿
//geo:latitude,longitude//geo:latitude,longitude?z=zoom,z表示zoom级别,值为数字1到23//geo:0,0?q=my+street+address//geo:0,0?q=business+near+cityUri mUri = Uri.parse("geo:39.940409,116.355257?q=西直门");Intent原创 2013-11-25 20:01:26 · 394 阅读 · 0 评论 -
android 设置APN
android 设置APN 转载▼android的APN设置,也就是移动网络的接入点设置,有些时候可能项目需要会用到一些专用的apn专网,如果需要用户去手动设置的话显然可行性不高,所以需要在代码中自动为客户生成一个接入点,并在应用启动的时候自动切换到改接入点,退出的时候重新换回用户的默认接入点,这里只讲关键技术点,具体实现自行研究,实践才能出真知;1、首先了解一下A转载 2013-11-07 09:45:14 · 533 阅读 · 0 评论 -
与其他Apps进行交互
Android中最重要的功能之一就是可以利用一个带有action的"intent"使得当前app能够跳转到其他的app。例如:如果你的app拥有一个地址想要显示在地图上,你并不需要在你的app里面创建一个activity用来显示地图。你只需要使用Intent来发出查看地址的请求。Android系统则会启动能够显示地图的程序来呈现那个地址。正如在第0章:Building Your First A转载 2013-10-08 16:24:20 · 362 阅读 · 0 评论 -
android 开机动画(boot animation)的制作
Android开机动画有两种修改方法,android 2.0及之后,使用bootanimation程序显示开机画面,如需修改开机画面,不用修改代码,只需按格式要求做bootanimation.zip包,放在系统的/system/media目录中,或/data/local目录中即可,两个目录下都存在时,优先使用/data/local下的。android 2.0之前,则需要修改源码。 开机画面转载 2013-09-20 13:23:35 · 416 阅读 · 0 评论 -
Android中Launcher对于AppWidget处理的分析:AppWidgetHost角色
转载Launcher在Android的AppWidget整个体系中扮演AppWidgetHost的角色,本文分析Launcher对于AppWidget的处理,主要包括:选取AppWidgetProvider之后的处理;Launcher初始化过程中加载(包括第一次加载和之后正常的加载)AppWidget信息的处理,等。 由《Android中选取并绑定AppWidg转载 2014-05-29 11:22:22 · 318 阅读 · 0 评论 -
Android核心分析
Android核心分析(20)----Android应用程序框架之无边界设计意图Android的应用框架的外特性空间的描述在SDK文档(http://androidappdocs.appspot.com/guide/topics/fundamentals.html#acttask)有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述。在外特性空间中,Android提转载 2014-05-29 13:36:59 · 363 阅读 · 0 评论 -
android:configChanges
AndroidManifest.xml中android:configChanges的简介 程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等,这样的事情一发生,Activity会重新启动,其中的过程是:在销毁之前会先 called onSaveInstanceState()去保存你应用中的一些数据,然后called onDestroy(),最后才去called on转载 2014-06-13 15:16:29 · 275 阅读 · 0 评论 -
android 开启调试小技巧
对android APP进行调试,大部分情况下,启动调试是件so easy的事情。 在Eclipse或Android Studio下,直接就可以对工程进行启动debug。 APP跑起来后就会先去连接调试器,运行过程中自动会触发断点。 但有另外一种情况,若APP是通过其他工具编译的,如ant或是插件APP等,则无法直接通过eclipse直接进行Debug,必须先等APP运行起来之后,通过DD原创 2015-12-08 18:06:13 · 622 阅读 · 0 评论 -
关于Class的一个坑
今天遇到一个关于Class类的坑,分享给大家。 有一个需求是,通过intent启动一个Activity来加载某插件,要在intent中传递插件的代理类(Class)到Activity中,由于intent里面只能传递基本类型或是可序列化的类型,故而将需要传递的所有参数全部放入json字符串中,在Activity中对json进行解析,得到其中代理类Class的名字,再利用Class类的方法Class.原创 2015-12-08 12:00:24 · 349 阅读 · 0 评论 -
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 · 252 阅读 · 0 评论 -
由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 · 295 阅读 · 0 评论 -
android中的Handler机制原理解析
通过一个独立线程下载图片,主线程中更新UI,在主线程中更新imageView显示的例子,解析Handler的原理和机制。原创 2015-12-31 01:27:31 · 371 阅读 · 0 评论 -
android性能优化基础篇(循环的优化)
从Android开发者网址上学习到的性能优化知识。1.循环遍历的优化需要对某集合进行循环遍历时,若该数据集实现了Iterable接口,可用增强型的for来进行循环(for-each),而不用手动写length个长度进行一个一个访问。static class Foo { int mSplat;}Foo[] mArray = ...public void zero() {原创 2015-08-24 15:55:14 · 831 阅读 · 0 评论 -
wifi分析2
声明:本文纯属网上资料收集,版权归源作者所有,转载时请标明为转载文章现在对android平台的wifi模块了解了一段时间,现在做一些简要总结,以便以后查阅和与修正,上正文。【Wifi模块学习流程】最近研究Wifi模块,查了不少的相关资料,但发现基本上是基于android2.0版本的的分析,而现在研发的android移动平台基本上都是2.3的版本,跟2.0版本的差别,在Wifi模块上转载 2014-11-21 18:29:26 · 252 阅读 · 0 评论 -
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 · 517 阅读 · 0 评论 -
Android中关于多屏幕适配
Android中关于多屏幕适配 现在的Android手机屏幕越来越大,我们写的程序当然应该与不同屏幕的手机完美适配。以前面试时,面试官也经常问这个问题:怎么处理屏幕适配?好了,不多说了,下面进入正题: 1、基本概念 a、屏幕大小(screen size) 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸)。android把屏幕分为以下4种:small,norm转载 2014-10-09 11:01:43 · 285 阅读 · 0 评论 -
Android App 性能优化
原文 http://developer.android.com/guide/practices/design/performance.html 性能优化Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航。由此,它必须是高效的。电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了。由于续航对用户的重要性,当电量转载 2014-10-23 16:55:21 · 289 阅读 · 0 评论 -
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 · 274 阅读 · 0 评论 -
java设计模式详述
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真转载 2014-09-02 23:50:36 · 311 阅读 · 0 评论 -
Android多线程下安全访问数据库
为了记录如何线程安全地访问你的Android数据库实例,我写下了这篇小小札记。文章中引用的项目代码请点击这里假设你已编写了自己的 SQLiteOpenHelper。[java] view plaincopypublic class DatabaseHelper extends SQLiteOpenHelper { ... }转载 2014-09-12 15:20:40 · 644 阅读 · 0 评论 -
Android触摸事件分发机制
最近做了一个类似桌面应用图标可以点击,长按拖动效果,然后研究了下android触摸事件机制。Android中的事件分为按键事件和触摸事件,这里对触摸事件进行阐述。Touch事件是由一个ACTION_DOWN,n个ACTION_MOVE,一个ACTION_UP组成onClick,onLongClick,onScroll等事件。Android中的控件都是继承View这个基类的,而控件分为两种:转载 2014-08-13 09:40:25 · 338 阅读 · 0 评论 -
android 模拟返回键功能
我测试发现,有两种方法可行。①、java.lang.RuntimeRuntime runtime = Runtime.getRuntime();runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK);②、android.app.InstrumentationInstrumentation in转载 2014-08-05 15:13:16 · 1440 阅读 · 0 评论 -
Android自定义类似ProgressDialog效果的Dialog
Android自定义类似ProgressDialog效果的Dialog.方法如下:1.首先准备两张自己要定义成哪样子的效果的图片和背景图片(也可以不要背景)。如我要的效果:2.定义loading_dialog.xml布局文件(这里你也可以按自己的布局效果定义,关键是要有个imageView):[html] view plaincopy 3.定义一个loadingDialog中imageView转动转载 2014-08-05 17:35:35 · 330 阅读 · 0 评论 -
Android中如何查看内存(上)
Android中如何查看内存(上) 2011-05-20 10:07:57| 分类: Android内存 | 标签:内存使用 |字号 订阅文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android#22转载 2013-09-04 09:22:05 · 334 阅读 · 0 评论 -
Android数据库升级策略
Android数据库升级策略一:问题产生的一般原因版本的升级引发以往的数据结构不能满足新的要求新的数据表的不断引入小版本迭代可能会导致数据库的频繁变更二:目前常用的方案方案:每次更新数据库时,删除旧的数据,重新建表避免使用复杂的数据表,采用json或者xml存储对数据库的每次变更做记录,在升级时执行变更的记录分析:可以避免数据库变更对新版本程序的转载 2013-08-08 19:31:27 · 346 阅读 · 0 评论 -
Android数据库升级实例
做Android应用,不可避免的会与SQLite打交道。随着应用的不断升级,原有的数据库结构可能已经不再适应新的功能,这时候,就需要对 SQLite数据库的结构进行升级了。 SQLite提供了ALTER TABLE命令,允许用户重命名或添加新的字段到已有表中,但是不能从表中删除字段。并且只能在表的末尾添加字段,比如,为 Subscription添加两个字段:1 ALTER TABLE Su转载 2013-08-08 19:27:41 · 355 阅读 · 0 评论