06 2012 档案

摘要:ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为: 1. 在当前应用程序中定义一个ContentProvider。 2. 在当前应用程序的AndroidManifest.xml中注册此ContentProvider 3. 其他应用程序通过ContentResolver和Uri来获取此ContentProvider的数据。 ContentResolver提供了诸如... 阅读全文
posted @ 2012-06-26 10:55 ansionchen 阅读(184) 评论(0) 推荐(0)
摘要:SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而DATE类型则可以拥有特定格式的TEXT、REAL和INTEGER的值来代替显示,为了能方便的操作DATE类型,SQLite提供了一组函数,详见:http://www.sqlite.org/lang_datefunc.html。这样简单的数据类型设... 阅读全文
posted @ 2012-06-26 10:54 ansionchen 阅读(130) 评论(0) 推荐(0)
摘要:SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而DATE类型则可以拥有特定格式的TEXT、REAL和INTEGER的值来代替显示,为了能方便的操作DATE类型,SQLite提供了一组函数,详见:http://www.sqlite.org/lang_datefunc.html。这样简单的数据类型设... 阅读全文
posted @ 2012-06-26 10:54 ansionchen 阅读(137) 评论(0) 推荐(0)
摘要:作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。 SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。 SharedPrefer.. 阅读全文
posted @ 2012-06-26 10:53 ansionchen 阅读(96) 评论(0) 推荐(0)
摘要:除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下: 一、根据Context获取SharedPreferences对象 二、利用edit()方法获取Editor对象。 三、通过Editor对象存储key-value键值对数 阅读全文
posted @ 2012-06-26 10:52 ansionchen 阅读(140) 评论(0) 推荐(0)
摘要:正则表达式口诀及教程(推荐)正则其实也势利,削尖头来把钱揣; (指开始符号^和结尾符号$)特殊符号认不了,弄个倒杠来引路; (指\. \*等特殊符号)倒杠后面跟小w, 数字字母来表示; (\w跟数字字母;\d跟数字)倒杠后面跟小d, 只有数字来表示;倒杠后面跟小a, 报警符号嘀一声;倒杠后面跟小b, 单词分界或退格;倒杠后面跟小t, 制表符号很明了;倒杠后面跟小r, 回车符号知道了;倒杠后面跟小s, 空格符号很重要;小写跟罢跟大写,多得实在不得了;倒杠后面跟大W, 字母数字靠边站;倒杠后面跟大S, 空白也就靠边站;倒杠后面跟大D, 数字从此靠边站;倒框后面跟大B, 不含开头和结尾;单个字符要重 阅读全文
posted @ 2012-06-21 09:46 ansionchen 阅读(348) 评论(0) 推荐(0)
摘要:今天发现自己连Bundle类都没有搞清楚,于是花时间研究了一下。根据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html)Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”两个activity之间的通讯可以通过bundle类来实现,做法就是:(1)新建一个bundle类[java]view plaincopyBundlemBundle=newBundle();(2)bundle类中加入数据(k 阅读全文
posted @ 2012-06-20 16:48 ansionchen 阅读(147) 评论(0) 推荐(0)
摘要:动画类型Android的animation由四种类型组成XML中 alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果JavaCode中AlphaAnimation渐变透明度动画效果ScaleAnimation渐变尺寸伸缩动画效果TranslateAnimation画面转换位置移动动画效果RotateAnimation画面转移旋转动画效果Android动画模式Animation主要有两种动画模式:一种是tweened animation(渐变动画)XML中JavaCodealphaAlphaAnimationsca 阅读全文
posted @ 2012-06-20 09:29 ansionchen 阅读(222) 评论(0) 推荐(0)
摘要:android:shape的使用2011-11-01 10:38Android中渐变效果的设置在Drawable文件夹下建立xml文件: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#00000000 阅读全文
posted @ 2012-06-14 23:25 ansionchen 阅读(584) 评论(0) 推荐(0)
摘要:引言我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方 阅读全文
posted @ 2012-06-13 10:30 ansionchen 阅读(205) 评论(0) 推荐(0)
摘要:在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此android提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask生来就是处理一些后台的比较 阅读全文
posted @ 2012-06-13 07:01 ansionchen 阅读(136) 评论(0) 推荐(0)
摘要:在SQL中用NOT IN会影响性能,导致的主要原因就是索引无效,所以最好是将NOT IN改为其他方式实现。没修改之前的NOT IN写法:[sql]view plaincopySELECTDISTINCTt2.a_idFROMtemp_bt2WHEREt2.a_idNOTIN(SELECTDISTINCTt4.a_idFROMbASt3,temp_bASt4WHEREt4.a_id=t3.a_id)修改为LEFT JOIN写法:[sql]view plaincopySELECTDISTINCTt6.a_idFROM(SELECTt2.a_id,t5.a_idAStempIdFROMtemp_bt 阅读全文
posted @ 2012-06-07 00:30 ansionchen 阅读(408) 评论(0) 推荐(0)
摘要:在SQL中用NOT IN会影响性能,导致的主要原因就是索引无效,所以最好是将NOT IN改为其他方式实现。没修改之前的NOT IN写法:[sql]view plaincopySELECTDISTINCTt2.a_idFROMtemp_bt2WHEREt2.a_idNOTIN(SELECTDISTINCTt4.a_idFROMbASt3,temp_bASt4WHEREt4.a_id=t3.a_id)修改为LEFT JOIN写法:[sql]view plaincopySELECTDISTINCTt6.a_idFROM(SELECTt2.a_id,t5.a_idAStempIdFROMtemp_bt 阅读全文
posted @ 2012-06-07 00:30 ansionchen 阅读(171) 评论(0) 推荐(0)
摘要:exists 和 in 的执行效率是一样的 很多资料上都显示说,exists要比in的执行效率要高,同时应尽可能的用not exists来代替not in。但事实上,我试验了一下,发现二者无论是前面带不带not,二者之间的执行效率都是一样的。因为涉及子查询,我们试验这次用SQL SERVER自带的pubs数据库。运行前我们可以把SQL SERVER的statistics I/O状态打开。 (1)select title,price from titles where title_id in (select title_id from sales where qty >30) 该句的执行结 阅读全文
posted @ 2012-06-07 00:28 ansionchen 阅读(423) 评论(0) 推荐(0)
摘要:exists 和 in 的执行效率是一样的 很多资料上都显示说,exists要比in的执行效率要高,同时应尽可能的用not exists来代替not in。但事实上,我试验了一下,发现二者无论是前面带不带not,二者之间的执行效率都是一样的。因为涉及子查询,我们试验这次用SQL SERVER自带的pubs数据库。运行前我们可以把SQL SERVER的statistics I/O状态打开。 (1)select title,price from titles where title_id in (select title_id from sales where qty >30) 该句的执行结 阅读全文
posted @ 2012-06-07 00:28 ansionchen 阅读(207) 评论(0) 推荐(0)
摘要:原文地址:21种设计模式作者:lilian1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按 阅读全文
posted @ 2012-06-06 08:47 ansionchen 阅读(136) 评论(0) 推荐(0)
摘要:由于Android项目开源所致,市面上出现了N多安卓软件市场。为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量。因此我们有必要给我们的Android应用增加自动更新的功能。既然实现自动更新,我们首先必须让我们的应用知道是否存在新版本的软件,因此我们可以在自己的网站上放置配置文件,存放软件的版本信息:[html]view plaincopy<update><version>2</version><name>baidu_xinwen_1.1.0</name>< 阅读全文
posted @ 2012-06-04 22:45 ansionchen 阅读(128) 评论(0) 推荐(0)
摘要:由于Android项目开源所致,市面上出现了N多安卓软件市场。为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量。因此我们有必要给我们的Android应用增加自动更新的功能。既然实现自动更新,我们首先必须让我们的应用知道是否存在新版本的软件,因此我们可以在自己的网站上放置配置文件,存放软件的版本信息:[html]view plaincopy<update><version>2</version><name>baidu_xinwen_1.1.0</name>< 阅读全文
posted @ 2012-06-04 22:45 ansionchen 阅读(192) 评论(0) 推荐(0)
摘要:把Android SDK升级到了最新版本,但是Eclipse的ADT插件需要Eclipse3.6版本以上才可以安装,无奈下载了Eclipse3.7版本的。一切就绪后发现编写Java代码时没有自动提示功能,求助于忘了后找到解决方案,分享给遇到同样问题的朋友。Eclipse中window->Preferences->Java->Editor->Content Assist->Advanced->顶部的选项卡Select the proposal kinds contained in the 'default' content assist lis 阅读全文
posted @ 2012-06-04 22:42 ansionchen 阅读(137) 评论(0) 推荐(0)
摘要:JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript。JSON数据是一系列键值对的集合。JSON和XML的比较JSON比XML体积小JSON和JavaScript交互更加方便JSON对数据的描述性没有XML好JSON的速度要远远大于XMLJSON的解析要比XML的解析要方便JSON已经被大多数开发人员所接受,在网络数据的传输当中应用非常广泛下面的代码就是一个JSON:[plain] {"phone" : ["12345678", "87654321"], // 数组"n 阅读全文
posted @ 2012-06-04 07:42 ansionchen 阅读(128) 评论(0) 推荐(0)
摘要:JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript。JSON数据是一系列键值对的集合。JSON和XML的比较JSON比XML体积小JSON和JavaScript交互更加方便JSON对数据的描述性没有XML好JSON的速度要远远大于XMLJSON的解析要比XML的解析要方便JSON已经被大多数开发人员所接受,在网络数据的传输当中应用非常广泛下面的代码就是一个JSON:[plain] {"phone" : ["12345678", "87654321"], // 数组"n 阅读全文
posted @ 2012-06-04 07:42 ansionchen 阅读(117) 评论(0) 推荐(0)
摘要:前言因为最近在做项目,然后遇上困难,虽然在老鸟眼中不是很难,但是我想提醒自己,所以注文把正文那天遇上这个错误代码datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), new OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { cale 阅读全文
posted @ 2012-06-04 07:12 ansionchen 阅读(131) 评论(0) 推荐(0)
摘要:BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter,1、Adapter类简介1)、Adapter相关类结构如下图所示:自定义Adapter子类,就需要实现上面几个方法,其中最重要的是getView()方法,它是将获取数据后的View组件返回,如ListView中每一行里的TextView、Gallery中的每个ImageView。2)、Adapter在Android应用程序中起着非常重要的作用,应用也非常广泛,它可看作是数据源和U 阅读全文
posted @ 2012-06-02 16:32 ansionchen 阅读(162) 评论(0) 推荐(0)
摘要:BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter,1、Adapter类简介1)、Adapter相关类结构如下图所示:自定义Adapter子类,就需要实现上面几个方法,其中最重要的是getView()方法,它是将获取数据后的View组件返回,如ListView中每一行里的TextView、Gallery中的每个ImageView。2)、Adapter在Android应用程序中起着非常重要的作用,应用也非常广泛,它可看作是数据源和U 阅读全文
posted @ 2012-06-02 16:32 ansionchen 阅读(125) 评论(0) 推荐(0)
摘要:listviewdemo2.xml Java代码 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical& 阅读全文
posted @ 2012-06-02 16:31 ansionchen 阅读(227) 评论(0) 推荐(0)