
Android应用开发总结与分享
Android应用程序开发总结与分享,欢迎各位讨论
唐小尘
敲代码
展开
-
【Android应用开发】-(23)Android SIP 支持
一、什么是sip?请移步SIP二、Android中如何使用sip?目前比较完善的Sip应用:Sipdroid, Demo: android-sdk-windows\samples\android-9\ SipDemo三、系统不支持sip?Android自2.3之后就提供了SIP功能,SIP相关的API在目录frameworks/base/voip/java/android/net/sip中,存在a原创 2012-09-13 15:59:16 · 9788 阅读 · 5 评论 -
【Android应用开发】-(22)Excel数据导入Sqlite
大家好,好久不写博客。今天分享下如何将Excel的数据导入到Sqlite,最近做一个拨号程序,需要做来电提醒的功能,来电提醒有几种实现方式,第一种方式是通过一些开发的接口,通过提交号码进行查询,在没联网的情况下,这就不可能了,所以断然放弃。最后通过在本地构建一个存取号码段的数据库来进行查询。全国的电话号码段,数据量高达25万条。这些数据存在一个Excel表格中,这么大的数据量,在SqlServer原创 2012-09-13 10:08:18 · 7125 阅读 · 4 评论 -
【Android应用开发】-(21)Android中巧用反射解决程序兼容性问题
Android的更新速度太快,因为她的开源,所以造就了一批技术公司,一堆的方案,从而各有特色。对于一个想要深入了解系统的开发者来说这是幸运的,但从一个产品角度来看,这是致命的。我们开发应用程序,为了保证程序的兼容性,我们买了很多设备做兼容性测试,但往往不如人意。这里不打算解决此问题,只是唠叨下。本文只是介绍一个简单的技巧来做兼容。 背景:框架层的某个方法在新版本中添加了一个参数或者少了几个参原创 2012-08-29 23:56:27 · 3263 阅读 · 0 评论 -
【Android应用开发】-(20)简单的模拟按键发送消息
前段时间做了一个PSTN通话的应用程序,PAD连接座机实现通话功能。座机上有上翻、下翻通讯录的功能。通讯录用的是Google默认的。在不改动通讯录的情况下只有使用模拟按键来发送消息。代码很简单,共享下!!public class MenuDemoActivity extends Activity { protected static final String TAG = "MenuDemo原创 2012-08-29 10:11:10 · 9621 阅读 · 0 评论 -
【Android应用开发】-(19)Android 串口编程原理和实现方式(附源码)
提到串口编程,就不得不提到JNI,不得不提到JavaAPI中的文件描述符类:FileDescriptor。下面我分别对JNI、FileDescriptor以及串口的一些知识点和实现的源码进行分析说明。这里主要是参考了开源项目android-serialport-api。 串口编程需要了解的基本知识点:对于串口编程,我们只需对串口进行一系列的设置,然后打开串口,这些操作我们可以参考串口调试助手原创 2011-11-28 23:40:25 · 75787 阅读 · 117 评论 -
【Android应用开发】-(18)静默方式实现批量安装卸载应用程序
前段时间做了一个批量安装卸载应用程序的小应用,由于安装卸载应用程序的部分API是隐藏的,所以必须在ubuntu下下载Android系统源码,并编译之后使用MM命令编译生成APK文件,其实也难。思路是这样的,在XX/packages/apps目录下有一个PackageInstaller的应用程序,Android机器中安装卸载都是由这个应用程序完成的。但是它没有批量安装和卸载的功能,如果要在自己的应用原创 2011-08-12 12:46:09 · 17579 阅读 · 27 评论 -
【Android应用开发】-(17)获取Google天气预报通过Xml和JSON解析数据
最近在做一个天气预报的Widget,通过google提供的api可以查询全世界的天气情况,这篇文章主要讲述如何通过Android的JSON获取城市的经纬度,程序很简单。稍后我将demo供来此博客的朋友。废话少说,且看下文: 设计如下:通过JsonDemoActivity输入国家简称,跳转到CityListActivity(用来显示城市列表),点击需要查询城市返回天气信息。在JsonDemoA原创 2011-06-04 14:04:00 · 12716 阅读 · 13 评论 -
【Android应用开发】-(16)如何绕开Google Play地区限制
Google Market自从升级为Google Play,改进了很多功能,我们比较关注的可能还是关于下载的限制。比如说要下某个应用程序,发现所在的地区受到限制,又或者之前曾经用过的应用程序在Google Play上搜不到了。那该怎么办呢?这篇文章就来分析这个问题。其实要避开GooglePlay的限制网上已经有方法了--伪装运营商!也有开源的代码(MarketEnabler 3.0.8 / Mar原创 2012-08-02 12:51:57 · 26797 阅读 · 1 评论 -
【Android应用开发】-(15)JNI----基本数据类型
前一篇拙文分析JNI的经典实例。这篇拙文将通过实例的方式来简易学习JNI的数据类型。任何语言都有其基本的数据类型,要深入了解,必须要了解最基础的东西,在JNI中,我们会问:Java语言中的数据类型是如何映射到C/C++本地语言中的呢?目录: 1. 一个简单的实例分析 2. Java与JNI数据类型的映射 3. 字符串的处理 4. 数组的处理 1. 一个简单的实例分析编程中,向原创 2012-07-18 07:19:08 · 3003 阅读 · 0 评论 -
【Android应用开发】-(14)JNI----经典实例分析
接下来几篇文章,学习JNI开发,主要是学习《JNI详解》,将里面的实例通过Android平台实现,首先由一个经典实例引出 – HelloWorld!!HelloWorld是经典的,一想起学编程,就想起那些年我们一起写过的HelloWorld。这里用HelloWorld来讲解JNI的开发过程。这个过程大致可通过下图来说明:1) 新建一个HelloWorld工程;2) 创建一个带有native方法原创 2012-06-27 16:59:54 · 4257 阅读 · 1 评论 -
【Android应用开发】-(13)屏幕截图功能--截取全屏,无需Root(附源码)
由于要做说明书,或者给客户看效果图,不得不通过截图的方式把屏幕接下来(当然了,还可以通过拍照来达到目的)。于是就Google找到一些需要Root权限,和不需要Root权限的截图应用,有些失望,多数不可用。于是就想自己开发一个截图的应用。在View 中提供一个getDrawingCache的方法,可以通过次方法获取View的截屏,但仅仅是截取View的。如果要截取状态栏呢? 其实不然,在I原创 2012-06-25 09:36:42 · 13870 阅读 · 22 评论 -
【Android应用开发】-(12)图文详解Dalvik虚拟机
一、什么是Dalvik? Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在原创 2012-06-21 10:21:43 · 3785 阅读 · 0 评论 -
【Android应用开发】-(11)使用JPCT-AE 3D框架实现旋转的立方体(附效果图及源码)
本文采用http://www.eoeandroid.com/thread-114268-1-1.html的代码 使用JPCT-AE 3D框架,实现一个立方体,代码中有具体的说明。一、效果图:二、下载地址:http://download.youkuaiyun.com/detail/tangcheng_ok/4374199三、源码:package org.winplus.hw;impo原创 2012-06-15 16:32:33 · 6781 阅读 · 1 评论 -
【Android应用开发】-(10)一个应用程序开发的蜕变过程
因为首先是个人开发者,而不是团队开发。开发的过程中就没有那么规范,没有详细的需求,没有界面设计,也没有详细的开发计划等。所以一个应用程序的开发要经过很多次蜕变才能变得完美或者说取得更好的用户体验。当然了,这一切都是根据自己的开发技巧和技术层次而定的。 下文是我在开发过程中遇到的一些有意思也很无奈的事。是看客的笑话也好,共鸣也好,我也都愿意将它记录下来,以飨看客。 我们公司应用开原创 2012-06-12 23:42:03 · 2679 阅读 · 1 评论 -
【Android应用开发】-(9)应用程序安装卸载原理
本文粗体部分来自网络上的一篇文章,已不知出处,知道的告知,在此谢谢原作者。引出安装卸载的原理之前,先实现一个简单的安装卸载应用程序的功能。文章是我之前写的一篇博客,这里就不在叙述,只补充几点:1、由于代码中用到了PackageInstallObserver,PackageInstallObserver在Eclipse中是不能调用的,必须在Linux环境下编译好系统后才能编译此应用程序。2、原创 2012-06-12 21:24:17 · 9299 阅读 · 1 评论 -
【Android应用开发】-(8)Android开发指南-59个必备知识点
大家好,这里向大家推荐一个文档,如果你是高手请勿下载,又或者您英文过了4、6级也不用下载,这文档只适合初学者或者像博主这样的菜鸟享用。嘿嘿~ 文章很长,不知道是哪位大鸟翻译整理的,也不清楚这个原文处于何处,知道的请留言附上~。如果此文有侵权或者异议请留言,我将及时处理之。下面我列出目录,需要此文的可到此处下载1. 应用程序基础Application Fundamen原创 2012-06-11 11:40:13 · 3393 阅读 · 3 评论 -
【Android应用开发】-(7)安全性设计(完整版请参考官方)
Android的设计为大多数开发者能够使用默认的设置构建应用程序,而不需要在安全性方面作出更多的思考。Android还有许多操作系统内置的安全功能,大幅度减少应用程序安全性的问题和频率。 一些安全特性可以帮助开发人员构建安全的应用程序,其中包括: 1、Android应用程序沙箱在每个应用程序的基础上分离数据和执行代码。 2、 Android应用程序框架实现了共同的安全翻译 2012-06-11 11:05:54 · 3162 阅读 · 0 评论 -
【Android应用开发】-(6)响应灵敏性设计(Designing for Responsiveness)
可能会存在这样的情况,你写的代码通过了所有的性能测试,但当用户尝试使用你的应用程序时,仍然让用户感到不爽。应用程序响应不够灵敏的地方包括——反映迟钝,挂起或冻结很长时间,或者需要花费很长的时间来处理输入。 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding翻译 2012-06-05 21:42:10 · 2145 阅读 · 0 评论 -
【Android应用开发】-(5)无缝设计(Designing for Seamlessness)
即使你的应用程序是快速且响应灵敏的,但一些设计仍然会给用户造成问题——与其它应用程序或对话框未事先计划的交互,意外的数据丢失,意料之外的阻塞等等。避免这些问题,有助于理解应用程序运行的上下文和系统的交互过程,而这些又正影响着你的应用程序。简而言之,你应该竭尽全力去开发一个与系统和其它应用程序流畅交互的应用程序。 一个常见的流畅问题是,一个应用程序的后台处理——例如,一个Service或者翻译 2012-06-05 17:48:09 · 2036 阅读 · 0 评论 -
【Andorid应用开发】-(4)布局优化原则及方法
前面说到性能优化,主要是针对Java代码进行优化的,这篇文章分享布局优化。布局的优化主要依据下面的原则: 一、避免不必要的嵌套,不要把一个布局放置在其他布局里面,除非是必要的; 二、避免使用太多试图,在一个布局中每增加一个新的视图,都会在inflate操作耗时和消耗资源。任何时候都不要在一个布局中包含超过80个视图,否则,消耗在inflate操作上的时间会很大。 三、避免深度嵌套原创 2012-06-05 17:09:20 · 2759 阅读 · 0 评论 -
【Andorid应用开发】-(3)性能优化设计
这篇文章说性能设计,我估摸着有很多童鞋都没看到过原文,这里推荐下,文章来自Android官方,在下载的Android Docs的Dev Guide可以看到。如果你没读过这篇文章,那么我强烈建议去细读它。 看到了吗?Best Practices,最佳实践!我很惭愧做了这么久开发也是在一个偶然的机会才关注到它!请猛击下面链接:http://developer.androi原创 2012-06-03 23:00:41 · 2783 阅读 · 3 评论 -
【Andorid应用开发】-(2)Linux、Windows开发环境配置
这篇文章主要介绍Android应用开发环境配置。Android开发环境有两种,一是在Windows上开发,二是在Linux系统中开发,当然还有在IOS上开发的。这里重点介绍在Ubuntu系统中配置Android开发环境。我是3年前接触Ubuntu的,当时CentOS,Redhat都玩过,唯独对它情有独钟。因为他简洁,稳定而且用的人多,教程文章自然就多了,学起来也很容易。1、Windows上的A原创 2012-06-02 01:02:22 · 2149 阅读 · 0 评论 -
【Andorid应用开发】-(1)博客总结,记在专栏之前
30多篇博客汇总,更多的开发技巧,好记性不如烂博客,让我们一起在Android世界狂欢吧~(1) Launcher中预设Widget(即通过修改配置文件在Launcher上添加Widget)在Launcher目录下的default_workspace.xml文件中将需要添加的Widget编写如下配置即可<appwidget launcher:packageName="c原创 2012-05-31 22:23:13 · 5608 阅读 · 0 评论