- 博客(44)
- 资源 (29)
- 收藏
- 关注
原创 IOS报表解决方案 使用开源组件iChartjs(一)
前几天写了android系统使用ichartjs简单实现移动端图表的例子,怎么能少了乔帮主的ios系统呢 实现效果更炫的ichartjs图表我们来看看如何实现呢同android系统一样 使用UIWebView就可以实现 ios对html5的支持也很完美首先来看效果图实现效果是首页面展示图标的列表 选择后进入图表详细 来展示本地的图标文件 即为html文件
2013-01-17 14:26:37 5829 4
原创 Android报表解决方案 使用开源组件iChartjs(二)
动态刷新图标数据上次介绍了如何在android设备上利用ichartjs来轻松构建图表,很简单就可以让你的手机上展示丰富的报表数据信息,但是实际应用中这些数据是会不断刷新或者是实时刷新的,图表中的数据都是动态获取的。今天我们介绍如何让本地报表动起来 实现数据刷新要做到这个也很简单就是通过webView的api来实现javascript调用动态传递数据来更新图表,下面来看具体
2013-01-05 16:11:49 9302 8
原创 Android报表解决方案 使用开源组件iChartjs(一)
随着移动设备的日益增多,以前互联网的一些常用功能逐渐在移动互联网上逐渐迁移 今天我们看一下我们经常用到的报表是怎样实现在android客户端的接触过android图标的人应该都知道Achartengine 一个android应用的图表库 利用android本地的API来进行图标的绘制 适用于数据分析,报表显示,也涵盖了一些常用的图标,是个易学易用的图表库,但是他的实现的效果有局限性,
2012-12-28 16:52:28 14806 3
原创 HTML5渐露锋芒挺进移动
2012乔布斯力挺的HTML5飞速发展的一年苹果采用HTML5新标准,可让Web开发者建立更先进的绘图、字型、动画与转换,完全不需仰赖第三方浏览器插件,这与Flash不同;HTML5完全开放,由标准委员会控制,苹果也在其中。-- 乔布斯HTML5是HTML下一个主要的修订版本,现在仍处于发展阶段。目标是取代1999年所制定的HTML 4.01和XHTML 1.0
2012-12-17 16:33:26 1628
原创 Android基础:startActivityForResult 和 onActivityResult 问题
项目中用到弹出Acitivity来获得用户输入 所以用到 onActivityResult()方法接受用户输入奇怪问题 startActivityForResult() 后直接调用 onActivityResult() 开发人员都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数。然而在项目中,还没
2011-12-16 10:57:05 5838 3
原创 Android常用到得方法积累
//安装apk文件 private void installAPK(File file) { Intent intent = newIntent(Intent.ACTION_VIEW); Uri data =Uri.fromFile(file); String type ="application/vnd.android.package-archive"; int
2011-10-21 15:17:43 1254
转载 iPhone为什么比Android好
曾经在不同场合与很多安卓青探讨过一些或浅或深的知识层面问题,如今想来具备真正独立思考能力与当量知识储备的,也只有一人而己;换言之,绝大部分时候只是对牛弹琴。那么我将从以下七点来说明iPhone 4比Android手机们好在哪里:工业设计,操作系统,屏幕显示,开发环境,生态环境,硬
2011-09-16 17:38:31 1128
原创 Activity跳转管理相关的Launch mode 以及Intent的setFlags
Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别:standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个acti
2011-08-29 15:34:19 1536 1
原创 Android进阶:AIDL实现IPC使用详解
使用AIDL设计远程接口(Designing a Remote Interface Using AIDL)由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存
2011-07-11 16:35:41 2085 2
原创 Android入门:Service 使用总结一
创建服务类所谓的服务,在Android里被称做 Service,只要继承 android.app.Service 这个抽象类,并且实现其中几个方法就可以了。里边必须实现的一个方法是 onBind(Intent intent) ,他具体是做什么的我们下边讲。还有两个重要的回调函数需
2011-07-11 15:53:19 1683
转载 TCP/IP、Http、Socket 详细分析
大学学习网络基础的时候老师讲过,网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过初步的了解,我知道IP 协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,三者从本质上来说没有可比性,socket则是对TCP/IP协议的封装和应用
2011-07-07 10:15:54 1409
原创 Android进阶:实现android系统自带查看照片动画效果 类似Gallery手势滑动
用的Android系统自带的相机软件,他的照片查看首先是一个Galery,点击查看后也是类似这个效果,感觉体验挺好,仿照效果自己做了下demo首先看效果: 然后就是加上的滑动动画效果 来看实现:FlingImageDemo 实现主要就是自定义View import andr
2011-06-09 17:29:00 5903 2
原创 Android进阶:打jar包获取assets中的资源 解决selector XML文件不能解析的问题
大家都知道Android项目中的res目录中的资源eclipse插件会在gen中自动生成相应的id应用,这样就统一了资源管理那么这种自动生成的id就是写死的东西了 这就导致了不容易做修改 项目中需要将现有的组件打成jar包 这样打包后类文件当然是肯定没问题 但是资源文件就不行了。这个地方的id不能在新建的项目中被应用了所以资源文件不能被打到res目录中,这种情况下就必须要打到assets目录中这样就会出现问题了 一般情况下我们应用资源文件是通过int型的id来引用的, 这里就不能直接应用了 我们需要手动读
2011-06-02 10:13:00 12883 10
转载 Android项目签名详解
<br />在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。Android使用Java的数字证书相关的机制来给apk加盖数字证书,要理解android的数字证书,需要先了解以下数字证书的概念和java的数字证书机制。Andro
2011-05-25 10:45:00 4144
原创 Android进阶:Google自带语音播放功能实现
<br />在Android 中使用语音播放功能 只需要使用类 TextToSpeech ,该类实现了很多关于语音的功能,使用该类必须为其设置语言,现在支持五种语言,杯具的是不支持中文<br /> <br />实现很简单 不过首先要安装语言包 这个在设置--》语音输入和输出设置--》文字转语音设置<br /> <br />如下图<br /> <br /> <br /> <br />左边图中 安装语音数据 我这里已经安装成功了 所以是灰色的 如果没有安装这里就可以点 其他地方都是灰色的<br /> <
2011-05-24 17:35:00 2619
转载 Android的一些开源项目集锦 以备以后研究
<br />FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。<br /><br /> 项目地址:http://www.fbreader.org/FBReaderJ/ Angle Angle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现。<
2011-05-23 09:48:00 1977
原创 Android进阶:学习新浪微博自定义radioButton样式
Android带的那个RadioButton样子真是难看了 有木有啊一般我们用的时候这个要根据整体的界面风格来定义,看着才顺眼,新浪微博里面有个这样的自定义样式,学习了下来看效果:稍微看着顺眼点了吧来看实现,首先布局文件
2011-05-20 15:38:00 18307 7
原创 Android进阶:ListView深入学习 choiceMode使用及自定义Adapter
<br />首先看效果图:<br /> <br /> <br /> <br />这个是多选模式的<br /> <br /> <br />首先看Layout配置文件<br /> <br /><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2011-05-19 10:01:00 10967
转载 Android入门:onInterceptTouchEvent和onTouchEvent调用时序详解
<br />onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有这个方法的,如LinearLayout就有,TextView就没有。 <br />onInterceptTouchEve
2011-05-18 10:06:00 2725 1
原创 排序算法之:堆排序
<br />堆排序(Heapsort)是指利用堆这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。<br /> <br />堆排序(HeapSort)是一树形选择排序。堆排序的特点是:在排序过程中,将集合看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(或最小)的记录<br /> <br /> <br />看实现:<br /> <br />/** * 堆排序 * */public class Heap
2011-05-16 10:48:00 986
原创 排序算法之:归并排序
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 复杂度 时间O(nlogn) 空间O(n) 与快速排序类似。看代码:import java.lang.reflect.Array;public class MergeS
2011-05-13 16:46:00 633
原创 Android进阶:实现联系人列表滑动显示提示信息 以及弹出选择菜单
经常看到一些Contact类的软件软件联系人列表在滚动时会在屏幕中间弹出一个提示信息,就是当前位置的联系人序号之类的,尝试实现了一下先看效果:中间弹出的就是一个类似于Overlay的层 布局文件 pop_overlay.xml
2011-05-12 12:08:00 6727 8
原创 Android进阶:性能优化篇
<br />一、在使用Gallery控件时,如果载入的图片过多,过大,就很容易出现OutOfMemoryError异常,就是内存溢出。这是因为Android默认分配的内存只有几M,而载入的图片如果是JPG之类的压缩格式,在内存中展开时就会占用大量的空间,也就容易内存溢出。这时可以用下面的方法解决:<br /> <br />ImageView i = new ImageView(mContext); BitmapFactory.Options options=new BitmapFactory
2011-05-11 17:50:00 6621 2
转载 Android进阶:实现多线程下载文件
<br />多线程下载大概思路就是通过Range 属性实现文件分段,然后用RandomAccessFile 来读写文件,最终合并为一个文件<br /> <br />首先看下效果图<br /> <br /><br /> <br />创建工程 ThreadDemo<br /> <br />首先布局文件 threaddemo.xml<br /><br /> <br /><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http
2011-05-11 12:06:00 8592 5
转载 Google Android Market持续增长,或将超过苹果App Store
<br /> Android(安卓)会成为苹果帝国的终结者吗?伴随谷歌最新一季度财报的发布,美国知名科技博客撰稿人亨利·布罗基特一篇名为《Android将颠覆一切,RIM和iPhone死无葬身之地》的文章,引来纽约时报等知名媒体的评论。根据该人士的观点,由于Android过去3个季度在美国夺取了7个百分点的市场份额,这应该令苹果投资者“怕得要死”。<br /><br /> 谷歌透露的数据显示,全球用户安装的Android程序已超过30亿,今年一季度程序下载量环比增长50%,
2011-04-28 15:57:00 1329
原创 Android入门:弹出框选择文件夹目录 以及启用新的Task打开文件
最近想写一个选择照片文件夹的功能,就写了个选择文件夹功能的demo,主要就是选择目标目录,顺便看了下文件打开的方式首先看效果图第一个Activity很简单就是一个按钮Button 加一个 TextView见main.xml
2011-04-27 22:26:00 21284 33
原创 Android进阶:动态修改android内置搜索对话框(浮动搜索)的Icon
<br />上次写的是构建Android内置浮动搜索框的配置,当然很简单了,就是麻烦点而已 在我写demo的过程中我发现一个问题 上次有提到<br /> <br />其中有个 android:icon="@drawable/menu_route" 本来以为可以设置 就搜索Text前面那个View的 后来发现不起作用,而且文档中都没提到这个属性 看来确实没用啊 因为这属性我可折腾好久<br /><br /> <br />效果如图<br /><br /> <br />就是这个了,看了SDK的文档发现确实这里
2011-04-22 17:09:00 8231 9
原创 Android入门:在Google map上构建android内置搜索对话框(浮动搜索)
在Map应用中会经常见到一个浮动的搜索框 一般可以搜索附近的POI点信息 而且这些功能基本都长得差不多 所以网上查了下原来在SDK 文档里就有 在Dev Guide中有详细的介绍 不过都是英文的 看了好久呢 功能是比较简单的 就是配置起来有点麻烦 下面详细说一下
2011-04-22 12:12:00 6152 16
原创 Android进阶:模拟闹钟 学习Alarm与Notification
无意间看到Alarm这个类 觉得挺有意思 这个用法应该会比较常用到 看了一些介绍 然后自己写了一个demoAlarm是在预定的时间上触发Intent的一种独立的方法。Alarm超出了应用程序的作用域,所以它们可以用于触发应用程序事件或动作,甚至在应用程序关闭之后,与Broadcast Receiver结合,它们可以变得尤其的强大,可以通过设置Alarm来启动应用程序或者执行动作,而应用程序不需要打开或者处于活跃状态。举个例子,你可以使用Alarm来实现一个闹钟程序,执行正常的网络查询,或者在“非
2011-04-20 16:54:00 5415 2
原创 Android进阶:ListView性能优化异步加载图片 使滑动效果流畅
<br />ListView 是一种可以显示一系列项目并能进行滚动显示的View,每一行的Item可能包含复杂的结构,可能会从网络上获取icon等的一些图标信息,就现在的网络速度要想保持ListView运行的很好滚动流畅是做不到的<br /> <br />所以这里就需要把这些信息利用多线程实现异步加载<br /> <br />实现这样功能的类<br /> <br /> <br />public class AsyncImageLoader { private HashMap<String, Sof
2011-04-19 17:07:00 17434 10
原创 Android入门:自定义控件 自定义属性
<br />1、自定义属性文件attrs.xml,放入values文件夹中---------attrs.xml<br /> <br /><?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="myView"> <attr name="textColor" format="color"/> <attr name="textSize" format="dim
2011-04-19 09:11:00 3064
原创 CursorTreeAdapter 详解
<br />CursorTreeAdapter通过该适配类可以用一连续的游标(Coursor)对象访问数据库,并将查询出来的数据展示到可伸缩的列表视图(ExpandableListView)部件上。顶层游标(Cursor)对象(在构造器中指定)显示全部组,后面的游标(Cursor)对象从getChildrenCursor(Cursor)获取并展示子元素组。其中游标携带的结果集中必须有个名为“_id”的列,否则这个类不起任何作用<br /> <br /> <br />结构<br /
2011-04-18 11:21:00 2636 1
原创 Android进阶:保持android手机屏幕灯持续高亮 以及键盘灯高亮
<br />最近研究音频播放 看到 AsyncPlayer 这个类的实现 确实里面做的细节挺值得学习<br /> <br />那首先大概看下这个类吧 这个类实现了音频异步播放的功能<br /> <br />把音频信息封装称Conmmad<br /> <br />private static final class Command { int code; Context context; Uri uri; boolean loopin
2011-04-15 16:59:00 3276
原创 AudieManager 详解
<br />AudieManager 类位于android.Media包中,该类提供访问控制音量和铃声模式的操作<br /> <br />主要方法介绍:<br /> <br />方法: adjustVolume(int direction,int flags)<br /> <br />解释: 这个方法用来控制手机音量大小,当传入的第一个参数为AudioManager.ADJUST_LOWER时,可以将音量调小一个单位 传入AudioManager.ADJUST_RAISE是,则可以将音量调大一个单位。<b
2011-04-15 16:30:00 786
原创 Android进阶:在地图MapView中 点击Overlay弹出带带尾巴的浮动气泡 提示信息并关闭
用户查询POI点后会在MapView中以Overlay的方式显示POI点信息 用户点击Overlay后可以显示详细信息先看效果如图在相应的Overlay所在的GeoPoint显示该提示下面看实现:首先背景为9patch图片 这样就可以随意在里面加内容了 我这里通过一个布局文件来进行控制
2011-04-14 11:51:00 11010 44
原创 Android进阶:在地图MapView通过Overlay显示POI位置信息
<br />首先继承抽象类 ItemizedOverlay 并重写onTap方法<br /> <br />class MyOverItem extends ItemizedOverlay<OverlayItem> { private List<OverlayItem> GeoList = new ArrayList<OverlayItem>(); private Drawable marker; private Context mContext; //这里写死poi点。。可以从服务器查询获得
2011-04-12 15:32:00 5139 2
原创 Android入门:深入学习理解 Handler HandlerThread AsyncQueryHandler 三者的关系
<br />首先创建工程 ThreadDemo 创建Activity<br /> <br />一、Handler<br /> <br />Handler在android里负责发送和处理消息。它的主要用途有: 1)按计划发送消息或执行某个Runnanble(使用POST方法); 2)从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程) 默认情况下,Handler接受的是当前线程下的消息循环实例(使用Handler(Looper looper)、Handler(Looper
2011-04-06 11:31:00 14682 5
原创 Android入门:开发Google Map的基本准备工作整理 包括AVD 驱动的安装配置
<br />1准备工作<br /> 要想编写Google Map的应用首先需要 Google APIs 。需要在项目中导入Google map api。默认情况是android某个版本比如android 2.1,现在需要改为对应版本的Google apis,版本要和android版本一致。在默认的情况下Google API是没有的。这个google apis是同版本的android超集,包含了google的私有应用api。比如:<br /> <br /><br /><br /> <br />这
2011-04-02 16:54:00 1931
原创 Android进阶:在地图MapView中画一个图标并带阴影效果
自己调试了一下午终于搞定了这里来整理一下吧 直接上代码吧Paint paint = new Paint(); Point myScreenCoords = new Point(); //转换当前地图位置到屏幕坐标点 mv.getProjection().toPixels(gp1, myScreenCoords); paint.setStrokeWidth(1); paint.setARGB(255,255,0,0); paint.setStyle(Paint.
2011-04-02 16:34:00 6008 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人