03 2014 档案

摘要:我的机子很老,开启个android模拟器都要好几分钟,但幸亏有个android的真机,这样直接在andriod手机上调试也是一个不错的选择。下面我就介绍 一下使用android手机来调试android应用程序所需要的步骤:(典型的Hello World程序)1、手机通过数据线连接在电脑上2、设置android手机为USB调试模式。步骤:menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】3、如果是window系统,系统会提示安装驱动:选择正确的android sdk安装目录,然后点击下一步,系统就开始安装驱动了4、 驱动安装完成之后,重启电脑(通常系统会有“ 阅读全文
posted @ 2014-03-28 17:18 xiaochao1234 阅读(638) 评论(0) 推荐(0) 编辑
摘要:前面讲了动画中的Frame动画,今天就来详细讲解一下Tween动画的使用。同样,在开始实例演示之前,先引用官方文档中的一段话:Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的这么一种转换过程,我们成为补间动画。我们可以以XML形式定义动画,也可以编码实现。如果以XML形式定义一个动画,我们按照动画的定义语法完成XML,并放置于/res/anim目录下,文件名可以作为资源ID被引用;如果由编码实现,我们需要使用到Animation对象。如果用定义XML方式实现动画,我们需要熟悉一下动画XML语法:0102050815202526...2728XML文件中必须有一个根元素,可以是、、 阅读全文
posted @ 2014-03-28 11:30 xiaochao1234 阅读(560) 评论(0) 推荐(0) 编辑
摘要:Selenium WebDriver 是浏览器自动测试工具,提供轻量级和优雅的方式来测试web应用。Selenium WebDriver作为Android SDK extra,支持Android 2.3(Gb)及向前版本。WebDriver是端对端的测试,可以真实测试用户行为,用户交互如触摸、手指滚动、长按等,还支持HTML5的一些特性,比如本地存储、session存储、应用缓存等。这些测试作为Android tests project的一部分,基于Junit。可以从Eclipse加载或者是通过命令行。WebDriver可以运行在手机、平板、平板模拟器或者真实的设备上。一旦启动,WebDriv 阅读全文
posted @ 2014-03-28 08:45 xiaochao1234 阅读(1474) 评论(0) 推荐(0) 编辑
摘要:JSON数据格式,在Android中被广泛运用于客户端和网络(或者说服务器)通信,非常有必要系统的了解学习。 恰逢本人最近对json做了一个简单的学习,特此总结一下,以飨各位。 为了文章简明清晰,尽量多列点,少废话。 参考文档:http://www.ietf.org/rfc/rfc4627.txt?number=46271.JSON解析 (1).解析Object之一:{"url":"http://www.cnblogs.com/qianxudetianxia"}复制代码解析方法:JSONObject demoJson = new JSONObject(j 阅读全文
posted @ 2014-03-27 16:22 xiaochao1234 阅读(494) 评论(0) 推荐(1) 编辑
摘要:自动化单元测试可以做许多的事,并帮你节省时间。它也可以被用作快速检验新建工程或进行冒烟测试。始终,单元测试是作为一种有效的、系统的检验应用程序各功能执行的方式。Android SDK支持JUnit的自动化单元测试。本教程假设你已熟悉Android和JUnit在Eclipse的使用。创建一个Android的JUnit项目如果你的Eclipse中已经有Android项目,就不用再创建了。如果你的Eclipse中没有Android项目,你可以创建一个JUnit项目,在创建JUnit项目的同时也会为你创建Android项目。对现有的Android项目,在Eclipse中右键单击,选择“Android 阅读全文
posted @ 2014-03-27 10:14 xiaochao1234 阅读(501) 评论(0) 推荐(0) 编辑
摘要:宜未雨而绸缪,毋临渴而掘井。----朱用纯《治家格言》 离线下载,在有网络的情况下下载服务器数据,以便无网络时也能阅读,就是离线阅读。 离线下载的功能点如下: 1.下载管理(开始、取消下载)。 2.网络判断(Wi-Fi,3G)。 3.独立进程。 4.定时和手机催醒。 5.自启动。1.下载管理 这里不便关注下载的细节方法,网络下载的方法很多,大概如下: /*** 下载文件* @param url 下载地址* @param dest 下载存放的本地文件* @param append 断点续传* @return* @throws Exception*/public long do... 阅读全文
posted @ 2014-03-26 11:53 xiaochao1234 阅读(612) 评论(1) 推荐(1) 编辑
摘要:这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下面把自己的经验分享给大家。Android开机启动Activity或者Service方法【原理】 当Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_COMPLETED 的广播,我们便可在一个BroadcastReceiver中捕获这条广播,然后启动我们的Activity或者Service,当然要注意的是,我们的application必须具有捕获该广播的权限,下面请看 阅读全文
posted @ 2014-03-26 08:42 xiaochao1234 阅读(751) 评论(0) 推荐(0) 编辑
摘要:本文算是一篇漫谈,谈一谈关于Android开发中工程初始化的时候如何在初期我们就能搭建一个好的架构。 关于android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的。 从艺术的角度看,其实我们是在追求一种美。 本文先分析几个当今比较流行的android软件包,最后我们汲取其中觉得优秀的部分,搭建我们自己的通用android工程模板。 1. 微盘 2. 久忆日记 3.网易新闻 4.小米应用1.微盘 微盘的架构比较简单,我把最基本,最主干的画了出来: 第一层:com.sina.VDisk:com.sina(... 阅读全文
posted @ 2014-03-25 22:21 xiaochao1234 阅读(523) 评论(1) 推荐(0) 编辑
摘要:Android SDK目录下有很多文件夹,主要都是干什么的呢? 1. add-ons 这里面保存着附加库,比如Google Maps,当然你如果安装了Ophone SDK,这里也会有一些类库在里面。 2. docs 这里面是Android SDK API参考文档,所有的API都可以在这里查到。 3. market_licensing 作为Android Market版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。 4. platforms 是每个平台的SDK真正的文件,里面会根据API Level划分的SDK版本,这里就以Android 2.2来说,进入后有一个androi... 阅读全文
posted @ 2014-03-25 14:23 xiaochao1234 阅读(1691) 评论(0) 推荐(1) 编辑
摘要:TableLayout跟TableRow 是一组搭配应用的布局,TableLayout置底,TableRow在TableLayout的上方,而Button、TextView等控件就在TableRow之上,别的,TableLayout之上也可以零丁放控件。TableLayout是一个应用错杂的布局,最简单的用法就仅仅是拖沓控件做出个界面,但实际上,会经常在代码里应用TableLayout,例如做出表格的结果。本文首要介绍TableLayout的根蒂根基应用办法。 重要的几个属性如下: 1.android:collapseColumns://隐藏指定的列 ①设置 TableLayo... 阅读全文
posted @ 2014-03-25 13:01 xiaochao1234 阅读(1230) 评论(0) 推荐(0) 编辑
摘要:下面是开始Android编程的好方法:找一些与你想做事情类似的代码调整它,尝试让它做你像做的事情经历问题使用StackOverflow解决问题 对每个你像添加的特征重复上述过程。这种方法能够激励你,因为你在保持不断迭代,不经意中你学到了很多。然而,当你发布应用时你还要做一些更深入的事情。 从一些可正常工作的代码到一个可怕的应用程序是一个巨大的跳跃,相比iOS平台Android更是如此 。当在iOS上发布应用时只是在一个设备上跳跃–你的手机–对很多设备而言都很相似–同样大小的屏幕,都有很好的硬件,95%上运行相同版本的操作系统。在Android应用中你不会遇到这种情况。 你的程序必须能够处... 阅读全文
posted @ 2014-03-24 15:57 xiaochao1234 阅读(735) 评论(0) 推荐(1) 编辑
摘要:经过连续几天的编制,安卓手机代码终于完成了,目前已经将我宿舍,家里,集控室的红外遥控电气设备完好的遥控了,另外还遥控了我的D7000相机,不错终于完工了。代码分为二类:各种电视、相机、等等遥控编码最简单,只要将按键的编码复制下来,直接变成手机发射码就可以了。(这种编码单个按键只发射单个信息)最难的是空调编码,由于空调编码是将单个按键要发射所有控制信息,如增加一度温度,同时要将控制模式、温度、风量等等所有信息一同发射出去,还有检验码,通过长时间实验,如果像一般模仿遥控器的设备(例如万能遥控器)编码是将各种组合分别保存起来,这要就很长,也很麻烦,但用第一种方法实现起来就很容易。第二种方法主要是找规 阅读全文
posted @ 2014-03-21 17:29 xiaochao1234 阅读(5703) 评论(6) 推荐(1) 编辑
摘要:有些东西看多了,就厌烦了:extjs对我这种感觉最为强烈。甚至,有时觉得设计之殇是审美疲劳。直角看多了,就想看看圆角,不知何时,这几年刮起了一阵阵的圆角设计风:CSS新标准纳入圆角元素,iphone中几乎随处可见圆角设计,也开始出现很多圆角名片了...今天我们就实现一个圆角的ListView效果。圆角的设计,我们并不追求到处都用,无处不用,android中有少数界面用直角确实容易显得锋利,和周边界面太过对比而显得不协调,比如大栏目列表,设置等等,而采用圆角实现,则会活泼,轻松的多,也融合的特别好。1.感觉实际上在Android中因为SDK中没有默认对圆角的一个完整的支持,需要麻烦自定义设置才能 阅读全文
posted @ 2014-03-21 08:51 xiaochao1234 阅读(628) 评论(0) 推荐(1) 编辑
摘要:Android应用程序结构分析由于是初学者,对于Android应用程序的结构的认识是一穷二白的,对于开发Android应用程序,必须先了解其程序的结构和作用。一下就用一个简单的例子来解剖:从上图的程序来看,主要的文件有一下几个:HelloActitity.javaHelloActitity.是继承Actitity基类的,其主要功能就相当于界面文件,用来将数据和和界面显示给用户,是用户交互的第一入口。以下是其文件的代码结构:从图中可以看出,它有两个方法,onCreate(BundlesaveInstanceState)和onCreateOptionsenu(Menumenu)。当HelloAct 阅读全文
posted @ 2014-03-20 21:38 xiaochao1234 阅读(670) 评论(0) 推荐(0) 编辑
摘要:01privatefinalBroadcastReceiverhomePressReceiver=newBroadcastReceiver(){02finalStringSYSTEM_DIALOG_REASON_KEY="reason";03finalStringSYSTEM_DIALOG_REASON_HOME_KEY="homekey";04@Override05publicvoidonReceive(Contextcontext,Intentintent){06Stringaction=intent.getAction();07if(action. 阅读全文
posted @ 2014-03-20 10:12 xiaochao1234 阅读(1423) 评论(0) 推荐(0) 编辑
摘要:游标ListView,提供索引标签,使用户能够快速定位列表项。 也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧。 一看图啥都懂了:1.游标(Fast scroll thumb) 就是右边的那个拖动的方块,这个非常的简单:复制代码也可以用在java后台书写:tweakedListView.setFastScrollEnabled(true);复制代码在数据量有一定大的时候,滑动列表,就会出现右边的所谓的"游标"了。 简单,这也是我为什么私下里喜欢自己写控件,但是工作中却喜欢用通用控件。 我们看下源代码,其实就是启用FastScrol 阅读全文
posted @ 2014-03-20 08:44 xiaochao1234 阅读(516) 评论(1) 推荐(0) 编辑
摘要:在Android的控件布局中,有一个奇葩的layout_weight属性,定义如下:layout_weight :用于指定剩余空闲空间的分割比例。用法:01030409101516为什么说是奇葩呢?以上面的布局代码为例,TextView-888和TextView-999999是横向排列的2个控件,它们的layout_weight="1",说明这2个控件平分了所在LinearLayout的剩余的空闲空间,我们很容易的就误认为这2个控件平分了水平方向的空间,即:各自占据了 50% 的宽度。其实这是错误的,而是:TextView-999999控件所占据的宽度>TextVie 阅读全文
posted @ 2014-03-19 09:10 xiaochao1234 阅读(569) 评论(1) 推荐(0) 编辑
摘要:根据前面文章中ListView拖拽的实现原理,我们也是很容易实现推拽GridView的,下面我就以相同步骤实现基本的GridView拖拽效果。 因为GridView不用做分组处理,代码处理起来更简洁,而且原理前面已经讲解清楚了,代码中只是简单的过下,必要的地方简单的注释一下。1.主界面DragGridActivity.public class DragGridActivity extends Activity { private static List list = null; //自定义适配器 private DragGridAdapter adapter = null; @Ov... 阅读全文
posted @ 2014-03-18 08:55 xiaochao1234 阅读(705) 评论(2) 推荐(1) 编辑
摘要:android ViewPager滑动事件讲解今天在做项目的时候,由于要处理viewPager页面滑动的事件,所以对其进行了一个小小的研究:首先ViewPager在处理滑动事件的时候要用到OnPageChangeListenerOnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChanged,onPageScrolled ,onPageSelected)onPageScrollStateChanged(intarg0) ,此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0. 阅读全文
posted @ 2014-03-17 20:40 xiaochao1234 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:接着上篇Android学习系列(10)--App列表之拖拽ListView(上)我们继续实现ListView的拖拽效果。7.重写onTouchEvent()方法。 在这个方法中我们主要是处理拖动和放下。 拖动是选中项的影像随着手指滑动;放下是在拖动结束的时候交换数据。 方法的整体结构如下:/*** 触摸事件*/@Overridepublic boolean onTouchEvent(MotionEvent ev) { //如果dragmageView为空,说明拦截事件中已经判定仅仅是点击,不是拖动,返回 //如果点击的是无效位置,返回,需要重新判断 if(dragImageView!=n... 阅读全文
posted @ 2014-03-17 09:02 xiaochao1234 阅读(497) 评论(0) 推荐(0) 编辑
摘要:在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台。它不仅是一个廉价的工具,而且有着良好的开发社区,以及从所周知的编程语言(Java),使得开发Android应用程序变得前所未有的简单。即便是这样,我们仍然看到不少Android开发新手一遍又一遍地犯着同样的错误。以下是10个最常见的误区。1、不读Android开发文档 Android开发者网站可以很好的帮助你。很多的文档也可以通过SDK工具下载。这些文档不仅仅是Javadoc API的参考,它包括许多指南、教程、视频、培训以及其他有用的资料来创建Android应用程序。 Andro... 阅读全文
posted @ 2014-03-14 09:46 xiaochao1234 阅读(783) 评论(0) 推荐(1) 编辑
摘要:研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨。 鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章。一、准备。1.需求问题 初步:实现列表的拖拽效果(可参考Android源码下packages/apps/Music中的播放列表TouchInterceptor.java源码)。 (提前说明一下,本文不是完全按照Music中实现的,代码实现方式做了一些调整,去掉来很多无关的东西,方便大家理解,效果上也修改成了另外一种 个人认为是更简单更高效的一套。) 拓展:借鉴上一篇文章Android学习系列(9)... 阅读全文
posted @ 2014-03-13 21:33 xiaochao1234 阅读(472) 评论(0) 推荐(0) 编辑
摘要:吸引用户的眼球,是我们至死不渝的追求; 第一时间呈现最有价值的信息,简明大方,告诉客户,你的选择是多么的明智,这正是你寻觅已久的东西。 分组的应用场合还是很多的,有数据集合的地方往往要分组显示; 分组的形式也很多,最常见的就是镶嵌在列表中,网上说的很多ExpandListView的也是一种。 Android自带的通讯录中的联系人是按照拼音首字母(A,B,C,D......)分组分类的,效果如下: 我们今天也是要实现这样类似的一个效果。1.样本数据: 为了突出重点,直击要点,这里提供一个整理好的数据样本://list:数据集合private List list = new Array... 阅读全文
posted @ 2014-03-13 06:43 xiaochao1234 阅读(667) 评论(0) 推荐(0) 编辑
摘要:有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面。这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.消息推送机制 服务器器端需要变被动为主动,通知客户一些开发商认为重要的信息,无论应用程序是否正在运行或者关闭。 我想到了一句话:Don't call me,i will call you! QQ今天在右下角弹出了一个对话框:"奥巴马宣布本拉登挂了...",正是如此。 自作聪明,就会带点小聪明,有人喜欢就有人讨厌。2.独立进程 无论程序是否正在运行,我们都要能通知到客户,我们需要一个独立进程 阅读全文
posted @ 2014-03-12 06:02 xiaochao1234 阅读(659) 评论(0) 推荐(2) 编辑
摘要:反编译的目的在于学习一些优秀的Android应用程序代码。在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下):这些工具的下载地址:http://down.51cto.com/data/266751下面开始进行反编译APK文件:1.先将上面的apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解压到一个盘的根目录的一个文件下面(这里我选择D:\APKTool)2.Win+R打开运行界面,输入cmd,进入dos窗口,输入cd /d D:\APKTool进入到D:\APKTool下面,然后输入下面的命令, 阅读全文
posted @ 2014-03-11 13:11 xiaochao1234 阅读(507) 评论(0) 推荐(0) 编辑
摘要:这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.需求 无论是在.net还是java平台,合理的分层架构是最普遍的模块化思路之一。 dll,jar文件无不风靡盛行,无处不在。 一天,tx团队和我说,我们现在要做android上做三个论坛的客户端,一个是新闻论坛,一个是文学论坛,一个是音乐论坛。除了数据,界面和很少的模块不一样,其他的都一摸一样。 jar是我第一刻就想到的东西,但是共用的jar文件无法方便的共享资源或者覆盖资源。 而我们也不会傻傻的单独做三个客户端的吧,也不会傻傻的做3个客户端再傻傻的copy3份,依次修改吧。2.问题 在A... 阅读全文
posted @ 2014-03-11 08:50 xiaochao1234 阅读(1254) 评论(0) 推荐(0) 编辑
摘要:Intent寻找目标组件的两种方式:显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。一.显式Intent一般情况下,一个Android应用程序中需要多个屏幕,即是多个Activity类,并且在这些Activity之间进行切换通过Intent机制来实现的。在同一个应用程序中切换Activity时,我们通常都知道要启动的Activity具体是哪一个,因此常用显式的Intent来实现的。下面的 阅读全文
posted @ 2014-03-09 09:36 xiaochao1234 阅读(426) 评论(0) 推荐(0) 编辑
摘要:人类科技的进步源自探索,探索来自于发现本原,当然App布局没这么先进,本文也只是一个归类总结。这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。Android界面开发多多少少会有很多雷同或者相似的布局,不仅如此,纵观Android应用的界面,总也逃不出那些熟悉的结构。今天,我根据经验,把我认为的常见的布局做一个分析,归纳出几种简单的模型,这些模型一般是我认为解决其对应布局问题的最佳布局,具体要看情况。因为工作的限制,我无法专门研究天马行空,万罗天象的布局,只能根据我工作中碰到的布局,略加斟酌。还有一点我要强调,这些布局的原则就是:简单,灵活。模型一: 阅读全文
posted @ 2014-03-08 10:01 xiaochao1234 阅读(419) 评论(1) 推荐(1) 编辑
摘要:一.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息。Gallery还可以和ImageSwitcher组件结合使用来实现一个通过缩略图来浏览图片的效果。Gallery常用的XML属性属性名称描述android:animationDuration设置布局变化时动画的转换所需的时间(毫秒级)。仅在动画开始时计时。该值必须是整数,比如:100。android:gravity指定在对象的X和Y轴上如何放置内容。指定一下常量中的一个或多个(使用 “|”分割)ConstantValueDescriptiontop0x30紧 阅读全文
posted @ 2014-03-07 11:02 xiaochao1234 阅读(359) 评论(0) 推荐(0) 编辑
摘要:做人要大度,海纳百川,做事要圆滑,左右逢源,这让我想到了编程也是如此,代码要扩展,界面也要考虑自适应。这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.背景自适应且不失真问题的存在 制作自适应背景图片是UI开发的一个广泛问题,也是界面设计师渴望解决的问题,我相信我们彼此都深有体会。 比如,列表的背景图一定,但是列表的高度随着列表数据项会发生变化;标题栏的背景,无论横屏还是竖屏,高分辨率还是低分辨率,都能自动填充满,而且不失真等等背景问题。 根据以往的经验,我们一般采用先切图后拼凑的做法,这种做法本来我想在这里和大家介绍一下,其实有的时候还是很... 阅读全文
posted @ 2014-03-07 06:39 xiaochao1234 阅读(362) 评论(0) 推荐(0) 编辑
摘要:activity的生命周期不管是在面试还是在工作中我们都会经常遇到,这当然也是非常基础的,基础也很重要哦,学会activity的生命周期对我们以后开发更健壮的程序会有很大帮助。下面来看一下Activity生命周期图:为了便于理解,我简单的写了一个Demo,不明白Activity周期的朋友们,可以亲手实践一下,大家按照我的步骤来。第一步:新建一个Android工程,我这里命名为MainActivity.再创建一个OtherActivity继承activity。源码打印?public class MainActivity extends Activity {/** Called when the 阅读全文
posted @ 2014-03-06 09:02 xiaochao1234 阅读(413) 评论(0) 推荐(0) 编辑
摘要:友好的视觉感知和稳定的不出错表现,来自于我们追求美感和考虑的全面性,博客园从技术的角度,一直我都很欣赏。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。这一篇是对上一篇《Android学习系列(2)--App自动更新之通知栏下载》的补充,因此只是以点为要,点到为止。1.内部存储 出于考虑到用户可能禁掉了SDCard或者电脑暂时插在电脑上且为磁盘连接状态等等,对于这么个情况下,我们应该也要保证我们的程序也是能正常的运行。所以我们要考虑内部存储。 我暂时把内部存储定在/data/data/xxxxxappxxxx/files目录,核心代码如下:12345 阅读全文
posted @ 2014-03-05 13:36 xiaochao1234 阅读(601) 评论(0) 推荐(0) 编辑
摘要:这次讲得深入些,探讨下蓝牙方面的隐藏API。用过Android系统设置(Setting)的人都知道蓝牙搜索之后可以建立配对和解除配对,但是这两项功能的函数没有在SDK中给出,那么如何去使用这两项功能呢?本文利用JAVA的反射机制去调用这两项功能对应的函数:createBond和removeBond,具体的发掘和实现步骤如下:1、使用Git工具下载platform/packages/apps/Settings.git,在Setting源码中查找关于建立配对和解除配对的API,知道这两个API的宿主(BluetoothDevice);2、使用反射机制对BluetoothDevice枚举其所有方法和 阅读全文
posted @ 2014-03-05 10:11 xiaochao1234 阅读(500) 评论(0) 推荐(0) 编辑
摘要:这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名3.具体操作 方法一: 命令行下对apk签名(原理) 创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对ap... 阅读全文
posted @ 2014-03-04 08:52 xiaochao1234 阅读(610) 评论(0) 推荐(1) 编辑
摘要:一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。2.SQLite的特点:轻量级SQLite和C/S模式的数据库软件不同,它是进程内的 阅读全文
posted @ 2014-03-03 16:13 xiaochao1234 阅读(424) 评论(0) 推荐(1) 编辑
摘要:这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.设计思路,使用VersionCode定义为版本升级参数。 android为我们定义版本提供了2个属性: android:versionName="1.0">复制代码谷歌建议我们使用versionCode自增来表明版本升级,无论是大的改动还是小的改动,而versionName是显示用户看的软件版本,作为显示使用。所以我们选择了VersionCode作为我们定义版本升级的参数。 2.工程目录 为了对真实项目或者企业运用有实战指导作用,我模拟一个独立的项目,工程目录设置的合理严谨 阅读全文
posted @ 2014-03-03 10:27 xiaochao1234 阅读(1437) 评论(2) 推荐(1) 编辑
摘要:在Andorid平台中,各个组件运行在自己的进程中,他们之间是不能相互访问的,但是在程序之间是不可避免的要传递一些对象,在进程之间相互通信。为了实现进程之间的相互通信,Andorid采用了一种轻量级的实现方式RPC(Remote Procedure Call远程进程调用)来完成进程之间的通信,并且Android通过接口定义语言(Andorid Interface Definition Language ,AIDL)来生成两个进程之间相互访问的代码,例如,你在Activity里的代码需要访问Service中的一个方法,那么就可以通过这种方式来实现了。 AIDL是Android的一种接口描述语言. 阅读全文
posted @ 2014-03-01 10:39 xiaochao1234 阅读(1056) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示