Android移动开发
Soloman
1998年接触计算机编程,专业领域:嵌入式编程(VxWorks、QNX、Windows XP Embedded)、驱动开发、Windows应用程序开发、手机终端开发(WM、Android、BREW)。目前专注于管理工作。
接受技术书籍翻译、技术培训、项目开发等业务。
展开
-
Mac下Eclipse+ADT开发Android工程出现"Errors running builder"问题解决
新入手一台MacBook Pro,赶紧把开发工具an'zhuang原创 2014-05-24 21:27:41 · 2799 阅读 · 0 评论 -
客户端内嵌应用内支付功能--支付宝嵌入
我们的客户端由于需要使用应用内支付功能完成支付并购买虚拟物品的功能,所以选定了支付宝和银联两种方式,本文主要介绍支付宝方式。首先我们需要去申请一个支付宝账号,并通过公司账号实名认证。注意公司营业执照副本和法人的身份证信息都需要使用彩色扫描件;之后支付宝会往公司账号中打入一笔0.xx元的一笔款项用于验证这个账号能够完成交易,你需要在认证过程中输入这个金额;现在实名认证完成,我们需原创 2013-05-21 19:45:45 · 5328 阅读 · 1 评论 -
缓存图片并显示的ImageView
这部分代码通过在sd卡中保存图片文件实现文件方式的缓存,并且在加载时将图片load到内存中,显示时直接使用内存中已有内容。具体代码如下:package com.example.xxx;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import原创 2013-05-08 11:50:47 · 2164 阅读 · 0 评论 -
Java与设计模式(06)--策略模式
定义策略模式(Strategy):它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。角色Strategy接口:定义了算法的形式;ConcreteStrategy:实现了具体算法;Context:对接口中的算法进行实用;Client:测试类;实际使用这里我们可以看个例子:原创 2013-03-27 23:23:12 · 902 阅读 · 0 评论 -
移动开发工具介绍——跨平台开发工具之PhoneGap
现在移动计算领域平台众多,市场上主流的就有Android、iOS、WP7/8、Symbian、BlackBerry、Bada等等等...,尽管我们可以针对每个平台开发独立的Native Application,但是我们更希望能够找到一个能够开发跨平台的开发工具,实现Once Develop, Run on Every Platform。某日无聊下载了一份PhoneGap的资料,这才想着原创 2013-03-24 20:58:42 · 1160 阅读 · 0 评论 -
热门手机应用界面分析--微信欢迎页面
我们知道,微信等手机应用在第一次启动时有欢迎界面,用于介绍程序的特性及使用方式:那么我们可以针对这个界面分析:我们启动monitor.bat,我们观察页面布局:在TreeView窗口中我们看到有好几个Layout布局嵌套,直到我们看到一个Gallery,OK,我们大致知道了实现思路。下面我们针对上面的一个页面进行分析。我们看到页面上的内容是分成共几块个区域:原创 2013-03-20 20:53:10 · 3113 阅读 · 0 评论 -
Android实用小工具介绍之Monitor
我们经常发现别的的界面写的非常好,那么有没有一种reverse的手段来协助我们分析呢?以前我们都是用的Hierarchy Viewer这个小工具,今天使用的时候发现Hierarchy View已经Deprecated了,这个世界变化真快啊。。。现在推荐的工具是Monitor,实际上已经包含了绝大多数的调试功能。Monitor启动之后工作区域可以看到Windows窗口,包含了De原创 2013-03-13 23:11:43 · 2613 阅读 · 0 评论 -
Java与设计模式(03)--抽象工厂模式
上一次我们讨论了工厂方法模式,我们知道,在工厂方法模式中,我们每创建一个新的实体类XXXCar,都对应一个XXXCarFactory,在使用的时候直接使用XXXCarFactory的produce方法创建对应的XXXCar对象。接下来我们讨论抽象工厂模式。我们考虑一下窗口管理器的一个问题:对于每种界面风格,窗口管理器(WindowManager)需要对其中的某个控件(Compone原创 2013-01-30 22:55:18 · 701 阅读 · 0 评论 -
Java与设计模式(01)--简单工厂模式
简单工厂模式的思想很简单:根据传入的参数,工厂的produce()方法创建不同类的对象。首先,由于创建出来的对象分数不同的Class,所以这些Class都应该inherit一个parent class,考虑到我们对接口编程的思想,我们定义一个继承关系:Carpublic interface Car { public void go();}Buspub原创 2013-01-20 14:43:33 · 641 阅读 · 0 评论 -
HTML5中添加多媒体支持(二)
接下来我们介绍一下如何嵌入Flash和Video或Audio,并且介绍一些在线生成嵌入代码的工具:生成嵌入Flash代码的工具如下:http://www.osmf.org/configurator/fmp/其中:Video Source输入嵌入的文件地址,可以输入视频文件的地址;其余选项根据需要设置;输入完毕后甚至可以预览代码,设置正确后嵌入对应的页面即翻译 2012-08-25 21:55:23 · 1457 阅读 · 0 评论 -
HTML5中添加多媒体支持(三)
ok,最后我们来一段通过JavaScript创建并且控制播放Video的代码:js代码:$(function(){ // Stop if HTML5 video isn't supported if (!document.createElement('video').canPlayType) { $("#video_controls").hide(); r翻译 2012-08-25 22:12:49 · 2238 阅读 · 0 评论 -
HTML5中添加多媒体支持(一)
这次的教程来自Lynda.com.HTML5.Video.and.Audio.in.Depth。尽管目前在HTML中嵌入视频还不是主流(貌似最多的是使用Flash吧),但毕竟是今后的趋势,所以还是很重要的。简单的嵌入视频和音频的代码分别是: Your browser does not support HTML5 video. Yo翻译 2012-08-24 23:37:39 · 2223 阅读 · 0 评论 -
HTML 5中的存储及离线应用(五)
最后咱们再来看看离线应用:离线应用需要有一个缓存的Manifest文件:文件类型(MIME-type)是:text/cache-manifest,这份工作应该在web server上进行;文件以“CACHE MANIFEST”开头;文件中有如下节:CACHE,表示缓存的文件,这个是默认节,如果未指明节的情况下默认是CACHE;NETWORK,表示不能被缓存的文件;FALLB翻译 2012-08-22 10:31:54 · 1751 阅读 · 0 评论 -
HTML 5中的存储及离线应用(三)
最后我们来看一下Indexed DB。Indexed DB使用Key-Value的数据库存储;被Firefox4/Chrome 11以上支持;限制较多;好吧,由于不支持“file://”URL我放弃了,目前看起来还是一个toy而已,真的不是很好用,代码简单看一下。。。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran翻译 2012-08-22 09:31:17 · 3609 阅读 · 0 评论 -
HTML 5中的存储及离线应用(二)
本小节主要讲述如何使用Web SQL。Web SQL使用SQLite存储,目前在Safari、Chrome等浏览器中支持(还是支持的少啊FF/IE均不支持。。。);可以使用SQL语句完成增删改查操作,应该是我们程序员处理复杂数据时最喜欢的方式了下面来看例子:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans翻译 2012-08-22 09:24:20 · 1775 阅读 · 0 评论 -
HTML 5中的存储及离线应用(四)
好吧,目前看起来咱们还是老老实实用Local Storage和Session Storage吧,还是这两看起来靠谱一些。那么我们在使用Local Storage的时候经常遇到如下的情况:在一个页面中数据发生了改变,另一个页面不会实时去刷新数据导致两个页面的数据不同步;这种情况下我们就需要用到存储事件。接着我们将讲解事件的使用,看代码:<!DOC翻译 2012-08-22 09:43:18 · 1444 阅读 · 0 评论 -
HTML 5中的存储及离线应用(一)
本系列来源于Lynda.Com.HTML5.Local.Storage.And.Offline.Applications.In.Depth,我仅做了整理的工作。先来点知识点讲解,HTML 5提供了以下几种存储方式:Local Storage;Session Storage;Web SQL Storage;Indexed database(IndexedDB);前两种翻译 2012-08-21 22:37:45 · 1552 阅读 · 0 评论 -
HTML5中的消息通信
本文英文教程来源:Lynda.com.HTML5.Messaging.And.Communications.In.DepthHTML5支持跨文档消息通信(Cross-Document Messaging)。既然使用到消息通信,那么必然有事件(event)产生。根据事件的产生和消费,我们能够找到发送者和接收者,也就是Sender和Listener。其中Litener需要做翻译 2012-08-20 22:48:01 · 2817 阅读 · 1 评论 -
支付宝无线商户签约指南
最近开发的一款产品使用了支付宝作为应用内支付手段,所以简单记录一下需要的步骤,以供大家参考。前提条件:申请支付宝账号,我这里申请的公司账号;开通账号实名认证;去产品商店:https://b.alipay.com/order/productIndex.htm#,选择“无线客户交易”->“快捷支付(无线)”;之后可以在线申请;这个申请需要你提交你的作品审核,我们提交了2次,可能原创 2013-05-21 18:50:26 · 8008 阅读 · 2 评论 -
处理HTTP请求并返回JSON数据的类
这里实现了HTTP请求的发送并获取返回JSON格式的数据(实际上能够返回任意的文本数据,例如XML),能够处理POST和GET请求类型:源码文件:package com.freesoft.utils.network;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOExc原创 2013-05-10 22:37:29 · 6307 阅读 · 0 评论 -
Android ADT更新后无法编译生成R.java的问题解决方案
这两天非常手贱的更新了Android SDK和ADT插件(ADT 21),结果别人传给我的代码无法编译生成R.java文件,后来发现自己新建的工程同样无法生成这个文件,查找了N多网上的资料终于解决该问题,记录下自己的经验,同时鄙视下越来越不靠谱的google。错误提示可能与“java.lang.NullPointerException”或者提示"can not find R.java"原创 2013-05-25 00:49:43 · 10251 阅读 · 10 评论 -
Android常用复杂控件使用(四)--Fragment(续)
上一个单元可能讲解的关于Fragment使用的部分原创 2014-04-27 20:56:31 · 1305 阅读 · 0 评论 -
Android常用复杂控件使用(三)--Fragment
Fragment的含义是“碎片”,在Android原创 2014-04-15 21:37:52 · 2246 阅读 · 0 评论 -
Android版本百度地图开发(六)——Place详情页
我们在执行Poi搜索的时候,经常能够看到的效果是地图上搜索到内容,点击后能够查看这个地点的介绍窗口,这就是我们的Place详情页了。1 添加activity我们首先在AndroidManifest.xml文件中添加这个弹出窗口的activity注册工作: <activity android:name="com.baidu.mapapi.se原创 2014-01-08 22:07:16 · 1807 阅读 · 0 评论 -
Android版本百度地图开发(五)——覆盖物
4 覆盖物覆盖物是指叠加或覆盖到地图上的内容,覆盖物有自己的地理坐标,将根据地图的移动而移动。百度地图支持多种类型的覆盖物:我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标);Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层;路线图层(RouteOverlay):公交、步行和驾车线路图层,将公交、原创 2014-01-04 14:26:44 · 10769 阅读 · 1 评论 -
Android版本百度地图开发(一)——创建应用
这一系列的学习将主要侧重于百度提供的开放平台服务。本章侧重于百度地图在Android开发中的应用。创建应用步骤首先我们讲讲利用百度地图时一般的应用创建步骤。前提是我们已有了一个Android工程。获取密钥自从2.3.1版本后,百度地图使用了新的密钥系统。我们这里以最新版本的密钥系统进行演示。首先我们去http://developer.baidu.com/map/原创 2013-12-05 21:21:09 · 3091 阅读 · 0 评论 -
Android版本百度地图开发(四)——定位
本来这里应该继续讲述百度地图相关的知识,但继续向前会遇到定位相关的内容,所以我们先来讲解如何处理定位的内容。1 导入库文件我们去http://developer.baidu.com/map/geosdk-android-download.htm找到相关下载内容,找到4.0版本SDK并下载下来;解压,将locaSDK_4.0.jar拷贝到工程的/libs目录;将liblocS原创 2013-12-12 21:43:31 · 3907 阅读 · 0 评论 -
Android版本百度地图开发(三)——路线规划
通过上一张我们了解了如何原创 2013-12-11 21:47:18 · 8803 阅读 · 0 评论 -
Android版本百度地图开发(二)——图层和检索
通过上面一章我们已经了解到如何进行基本的地图应用开发,接下来的都是属于应用方面的技巧。本章主要讲解图层和检索服务。2 地图图层图层包括底图、交通图和卫星图。我们正常情况下看到的就是底图,可以通过mapView控制显示交通图和卫星图。 // 显示交通图 mMapView.setTraffic(true); // 显示卫星图// mMapView.setSa原创 2013-12-08 15:15:49 · 2868 阅读 · 0 评论 -
Android常用复杂控件使用(一)--ViewPager
这个系列主要还是针对一些日常开发中比较复杂的控件的使用来讲述的,基本上不是很难,我会以google官方的文档作为基础,中间附带我自己的理解和一些小例子,争取做到清晰易懂。每个章节对应一个控件的使用。总览ViewPager(android.support.v4.view.ViewPager)允许创建用户可以左右滑动的界面。开发人员一般是提供一个PagerAdapter(android原创 2013-11-14 18:15:54 · 3509 阅读 · 0 评论 -
Android下的单元测试
Android下的单元测试也比较简单,请参照以下步骤:修改AndroidManifest.xml文件,添加Instrument字段: <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.free原创 2013-11-13 18:29:39 · 1091 阅读 · 0 评论 -
Android常用复杂控件使用(二)--ListView
ListView的实际使用其实并不是非常复杂,但是如果需要设计一个非常漂亮的界面也是需要下一番努力的。这一章将从最简单的显示效果一步一步深入。原理对于ListView、GirdView、Gallery等复杂控件,Android提供了一个非常好用的MVC模式供我们开发使用,具体如下:Model,模型,在实际中就是我们程序所使用到的数据;View,视图,我们程序的展现界面,原创 2013-11-24 18:02:56 · 3503 阅读 · 0 评论 -
移动应用间调用(Android/iOS)
经常在一些应用中看到“相关推荐”这种功能,那么具体如何实现,这里给出几种方案:AndroidComponent方式(显示调用)被调用程序需要做如下配置: <activity android:name="com.freesoft.androiddemo.TestActivity" android:label="原创 2013-09-22 21:44:17 · 1676 阅读 · 1 评论 -
Android自带Samples(二)——ActionBarCompat
ActionBar实际上是用来替换导航菜单的一个选项,主要的作用是:ActionBar是一个显示在屏幕顶部的控件,它包括了在左边显示的应用的logo图标和右边操作菜单的可见项。我们可以选择可见的操作菜单可见项,不可见项会以下拉列表的形式呈现出来。ActionBar为Fragment之间提供标签导航ok,接下来我们查看源码:AndroidManifest.xml文件中我们原创 2013-05-31 00:35:22 · 2809 阅读 · 0 评论 -
使用微信发送图片
具体参见微信的例子,我这里只是简单讲讲需要的步骤:首先需要去开放平台申请用户并通过审核,地址是:http://open.weixin.qq.com/;成为开发者之后你需要申请一个应用,并且得到一个AppID,这里需要注意的是你需要提交你的包名(Android和iOS都需要),这个AppID需要记录下来供客户端程序使用;代码集成;完成集成后iOS版的已经可以用了;Android版本还需要原创 2013-06-24 20:28:24 · 6660 阅读 · 0 评论 -
Android下的Gallery显示技术分析(一)
Android下使用的比较频繁的用来导航的控件就是Gallery了,这里我们回顾一下如何使得我们的Gallery控件显示一些特效,扩充原有系统Gallery的展现。设计目标:扩充系统Gallery功能,使得Gallery能够显示选中效果。设计思路:设计2组图片,并且绘制时根据item是否选中来绘制;步骤:扩充构造函数,添加参数:context原创 2012-06-09 21:25:06 · 1061 阅读 · 0 评论 -
Android自带Samples(一)——AccelerometerPlay
Android的SDK中有一个$(Android_SDK)/samples/目录,目录下根据不同SDK版本附带了很多自带的例子程序。这一个系列中将会对每一个例子的源代码进行剖析。本篇文章分析AccelerometerPlay例子:首先我们看看AndroidManifest.xml文件:<manifest xmlns:android="http://schemas.a原创 2013-05-29 20:04:03 · 2451 阅读 · 0 评论 -
HTML5与JQuery.Mobile(二)
接下来我们开始讨论工具栏:首先我们看一个简单的例子:Contact Page Header Phone Email Fax Forum Help Form Help Page Conten翻译 2012-08-29 22:56:09 · 1895 阅读 · 0 评论 -
HTML5与JQuery.Mobile(一)
这个系列主要讲解在HTML5中添加JQuery.Mobile支持;本系列内容大部分来自于VTC.COM.JQUERY.MOBILE.FRAMEWORK教程。对于一个简单的HTML5页面我们需要做一些改造:无标题文档 应用程序标题 应用程序内容 应用程序脚注栏 下面把我们需要掌握的知识点罗翻译 2012-08-28 22:55:00 · 2887 阅读 · 0 评论 -
HTML5中的Canvas绘图操作(五)
好吧这个系列终于要完了,继续展示特效效果。幻灯片效果:这个很简单,无非是建立一个定时器去刷新图片。 Canvas Image Rotator Example var imagePaths = [ "images/j0149014.jpg", "images/j0149024.jpg", "images/j0149029.jpg", "imag翻译 2012-08-19 16:46:32 · 1336 阅读 · 0 评论