2012年6月12日

Android TranslateAnimation4种动画效果详解

摘要: TranslateAnimation详解 Android JDK为我们提供了4种动画效果,分别是:AlphaAnimation,RotateAnimation,ScaleAnimation,TranslateAnimation.今天我想讲解的是TranslateAnimation这个动画效果。也是本人在做一个移动图片的动画效果的项目时,遇到了一些问题。在网上查了很多资料,搞了好几天。终于明白怎么使用这个TranslateAnimation,在本文中记录下来,以便以后忘记了可以查阅。 TranslateAnimation是移动的动画效果。它有三个构造函数,分别是: 1.public Tr... 阅读全文

posted @ 2012-06-12 17:20 q7358582 阅读(817) 评论(0) 推荐(0)

Android 中的 Service 全面总结(一)

摘要: 1、Service的种类按运行地点分类:类别区别优点缺点应用本地服务(Local)该服务依附在主进程上,服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。主进程被Kill后,服务便会终止。非常常见的应用如:HTC的音乐播放服务,天天动听音乐播放服务。远程服务(Remote)该服务是独立的进程,服务为独立的进程,对应进程名格式为所在包名加上你指定的android:process字符串。由于是独立的进程,因此在Activity所在进程被Kill的时候,该服务依然在运行,不受其他 阅读全文

posted @ 2012-06-12 17:17 q7358582 阅读(152) 评论(0) 推荐(0)

Android startActivityForResult用法详解

摘要: 一、如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。package com.ljq.activitys;import android.app.Activity;import 阅读全文

posted @ 2012-06-12 17:16 q7358582 阅读(171) 评论(0) 推荐(0)

Android开发多线程断点续传

摘要: 使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,比如无信号断线、电量不足等情况下,这就需要使用到断点续传功能,下次启动时从记录位置继续下载,可避免重复部分的下载。这里采用数据库来记录下载的进度。断点续传1.断点续传需要在下载过程中记录每条线程的下载进度2.每次下载开始之前先读取数据库,查询是否有未完成的记录,有就继续下载,没有则创建新记录插入数据库3.在每次向文件中写入数据之后,在数据库中更新下载进度4.下载完成之后删除数据库中下载记录Handler传输数据这个主要用来记录百分比,每下载一部分数 阅读全文

posted @ 2012-06-12 17:15 q7358582 阅读(205) 评论(0) 推荐(0)

android AIDL服务-很好的例子

摘要: 这篇文章http://byandby.iteye.com/blog/1026110我们介绍了android的本地服务:它只能由承载它的应用程序使用。现在我们将介绍如何构建可由其他进程通过 RPC 使用服务。与许多其他基于 RPC 的解决方案一样,在Android中,需要使用 IDL来定义将向客户端公开的接口。在Android中,这个 IDL 称为 AIDL。要构建远程服务,执行以下步骤。 (1)编写一个AIDL文件来向客户端定义接口。AIDL 文件使用 java语法,它的扩展名是点 .aidl 使用的包名称与Android项目所使用的包相同。 (2)将AIDL 文件添加到项目的任意包下。And 阅读全文

posted @ 2012-06-12 17:13 q7358582 阅读(312) 评论(0) 推荐(0)

Android网络多线程断点续传下载

摘要: 本示例介绍在Android平台下通过HTTP协议实现断点续传下载。我们编写的是Andorid的HTTP协议多线程断点下载应用程序。直接使用单线程下载HTTP文件对我们来说是一件非常简单的事。那么,多线程断点需要什么功能?难在哪里?使用多线程的好处:使用多线程下载会提升文件下载的速度。那么多线程下载文件的过程是:(1)首先获得下载文件的长度,然后设置本地文件的长度。 HttpURLConnection.getContentLength();//获取下载文件的长度RandomAccessFile file = new RandomAccessFile("QQWubiSetup.exe&q 阅读全文

posted @ 2012-06-12 17:10 q7358582 阅读(215) 评论(0) 推荐(0)

用androidpn来实现推送

摘要: 关于服务器端向Android客户端的推送,主要有三种方式:1.轮询,应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池;2.SMS(通过发送短信并解析短信内容来获取服务器端的指令),这个出现的问题是很难找到免费的网关来发送短信;3.最后就是持久连接,主要是Socket通讯,这个解决了性能问题,但是耗电问题依旧没能解决。在这里,我们主要介绍的是第三种,用持久连接的方式来进行推送。现在比较成熟的及时消息传递协议共有四种,而无疑最为主流就是XMP 阅读全文

posted @ 2012-06-12 17:08 q7358582 阅读(219) 评论(1) 推荐(0)

Android中Shared Preferences、Files、Network、SQLite数据库编程总结及示例

摘要: Android数据存储前言 Android中提供了4中数据存储方式。但是存储的这些数据都是私有的,要想在其他应用程序中使用这些数据。就需要使用ContentProvider(数据共享)。下面是对4种方式的介绍。1. Shared Preferences 存储方式主要是针对系统配置信息的保存,比如给程序界面设置了音效,想在下一次启动前还能够保留上次设置的音效。此方法是用来存储"key-value paires"格式的数据。是一个轻量级的键值存储机制,只能存储基本数据类型。2. Files 存储其是通过FileInputStream 和FileOutputStream 来对文件 阅读全文

posted @ 2012-06-12 17:06 q7358582 阅读(229) 评论(0) 推荐(0)

Android 中多个Menu项使用方法

摘要: Menu由两种形式,Option menu和Context menu。前者是按下设备的Menu硬按钮弹出,后者是长按widget弹出。Option Menu当我们按下Menu的硬件按钮时,Option Menu将被触发显示,最多可以显示6个选项的icon菜单,如果选项多于6个,第6个选项显示为“More“,点击可以进入扩展菜单。我们将在Android学习笔记(十一):Activity-ListView的例子一的基础上来学习Option Menu,也就是一个基于activity的菜单。在这个例子中,我们给出一个有7个选项(多余最多显示6个item)的例子,可以设置List中item之间分割线的粗 阅读全文

posted @ 2012-06-12 17:01 q7358582 阅读(648) 评论(0) 推荐(0)

android翻书效果实现原理(贝塞尔曲线绘制原理/点坐标计算)

摘要: 实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。用户看到的可以分为3部分:当前页的可见部分(下图绿色部分),把书页翻起来后看到的背面区域(下图黄色部分),把书页翻起来后看到的下一页的一角(下图绿色部分)。假设我们已经求得了包含黄色区域和蓝色区域的Path, 假设为mPath0,那么绿色区域则可以使用Canvas.clipPath(mPath0, Region.Op.XOR)来剪裁绘制;而蓝色区域则可以通过使用(假设黄色区域的Path为mPath1)Canvas.clipPath(mP 阅读全文

posted @ 2012-06-12 17:01 q7358582 阅读(512) 评论(0) 推荐(0)

Android实现listview的分页加载

摘要: 实现listview的分页加载进行下拉刷新,这是一个用户体验非常好的操作方式。新浪微薄就是使用这种方式的典型。还有个问题,当用户从网络上读取微薄的时候,如果一下子全部加载用户未读的微薄这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容。这时候,我们就需要用到另一个功能,那就是listview的分页了。通过分页分次加载数据,用户看多少就去加载多少。通常这也分为两种方式,一种是设置一个按钮,用户点击即加载。另一种是当用户滑动到底部时自动加载。今天我就和大家分享一下这个功能的实现。首先,写一个xml文件,moredata.xml,该文件即定义了放在listview底部的 阅读全文

posted @ 2012-06-12 16:58 q7358582 阅读(277) 评论(0) 推荐(0)

Android中“分享”功能的实现

摘要: Android的编程界面相当直截了当,只要了解Activity和View,就可以写出可用的应用。不过这还不够。Android是一种手机操作系统,它提供了对各种与联网及通讯相关的支持。善用这些支持,才能开发出贴近移动应用特点的程序。在Android的种种编程概念中,尤为值得注意的是Intent。Intent的英文词义是“意图”,而在Android的编程框架里面,也正是体现“想要做某事”的概念。它的作用是在Activity之间传递数据,或者说,通过传递数据,达到请求另一Activity执行某种操作的目的。下面以一个例子来展示Intent的应用。应用场景:某个手机阅读器程序,读者看到一篇文章,觉得不 阅读全文

posted @ 2012-06-12 16:55 q7358582 阅读(312) 评论(0) 推荐(0)

Android如何防止apk程序被反编译

摘要: 作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk-windows\tools\lib\proguard.cfg的内容:-op 阅读全文

posted @ 2012-06-12 16:50 q7358582 阅读(132) 评论(0) 推荐(0)

OAUTH协议

摘要: 摘要:OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大头公司如Google,Yahoo 阅读全文

posted @ 2012-06-12 16:46 q7358582 阅读(177) 评论(0) 推荐(0)

Android多屏幕适配

摘要: android中为实现多屏幕适配,可以在layout_hdpi/layout_mdip/layout_ldpi/layout 目录下放置布局文件。如果一个大屏手机适配的话,适配的顺序是layout_hdpi->layout_mdpi->layout->layout_ldpi;如果一个中屏手机适配的话,适配的顺序是layout_mdpi->layout->layout_hdpi->layout_ldpi;如果一个小屏手机适配的话,适配的顺序是layout_ldpi->layout->layout_mdpi->layout_hdpi;假如有一个 阅读全文

posted @ 2012-06-12 16:41 q7358582 阅读(138) 评论(0) 推荐(0)

如何屏幕适配

摘要: 如何将一个应用法度适配在不合的手机上,固然这不算是一个技巧题目,然则对于方才做屏幕的开辟人员来说,还真不是一件多么简单的工作。起首:你须要在AndroidManifest.xml文件的<manifest>元素如下添加子元素<supports-screensandroid:normalScreens="true"android:anyDensity="true"android:smallScreens="true"></supports-screens>名如其意,以上是为我们的屏幕设置多辨别率支撑(更 阅读全文

posted @ 2012-06-12 16:40 q7358582 阅读(265) 评论(0) 推荐(0)

使用SoftReference缓存图片对象

摘要: Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该Java对象的回收。也就是说,一旦SoftReference保存了对一个Java对象的软引用后,在垃圾线程对这个Java对象回收前,SoftReference类所提供的get()方法返回Java对 阅读全文

posted @ 2012-06-12 16:38 q7358582 阅读(146) 评论(0) 推荐(0)

Android中的4种数据存储方式

摘要: 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的4种方式,分别是:1使用SharedPreferences存储数据; 2文件存储数据;3SQLite数据库存储数据;4使用ContentProvider存储数据,严格意义上说ContentProvider并不是数据存储,只是应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享下面将为大家一一详细介绍。第一种:使用SharedPreferences存储数据SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activit 阅读全文

posted @ 2012-06-12 16:36 q7358582 阅读(440) 评论(0) 推荐(0)

activity如何调用启用的service

摘要: activity有两种方式调用service。Context.startService() 和 Context.bindService()。两种启动Service的方式有所不同 : 如果在Service的onCreate或者onStart做一些很耗时间的事情,最好在 Service里启动一个线程来完成,因为Service是跑在主 线程中,会影响到UI操作或者阻塞主线程中的其他事情。什么时候需要Service :比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记 录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。如何使 阅读全文

posted @ 2012-06-12 16:27 q7358582 阅读(397) 评论(0) 推荐(0)

Android中AsyncTask的用法实例

摘要: 看上去修改后的connect()方法已经可用了,但是这种匿名线程的方式是存在缺陷的:第一,线程的开销较大,如果每个任务都要创建一个线程,那么应用 程序的效率要低很多;第二,线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负。 另外,前面已经看到,在新线程中更新UI还必须要引入handler,这让代码看上去非常臃肿。为了解决这一问题,OPhone在1.5版本引入了AsyncTask。AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行, 这就有效地避免了使用Handler带来的麻烦。阅读AsyncTask的源 阅读全文

posted @ 2012-06-12 16:25 q7358582 阅读(126) 评论(0) 推荐(0)

导航