Android
陈小峰_iefreer
创办踏得网,写了Stone、Myway、MyAvatar 3D等元宇宙引擎。
展开
-
最好的5个Android ORM框架
在开发Android应用时,保存数据有这么几个方式,一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter )。对于第一种方式,即本地数据存储,如嵌入式SQLLite,你可以选择直接使用SQL语句、Content Provider 或 ORM(对象关系数据映射)。本文是对5个可用Android ORM框架的总体介绍。翻译 2014-09-10 23:14:16 · 44751 阅读 · 4 评论 -
创意:Soap一款新型的触摸式家用智能路由器
zuSoap is the home management system that allows you to control everything wireless or wired and keeps your home secured from hackers, spies and creeps.原创 2014-06-26 11:43:36 · 2194 阅读 · 0 评论 -
PhoneGap/jQuery Mobile: 多页面导航跳转
在WEB程序中,经常会通过#来在同一页面中滚动定位元素,如下:scroll to bar你可能想在PhoneGap/jQM应用程序中实现相同的效果, 但默认html的行为在jQM中是不工作的, 你需要在一个html文件中定义多个内部页面(page元素)才行. Foo I'm first in the source order so I'原创 2012-01-05 20:28:04 · 17483 阅读 · 7 评论 -
Android开发指南-窗口小部件(App Widgets)
应用程序窗口小部件App Widgets应用程序窗口小部件(Widget)是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget provider来发布一个Widget。可以容纳其它App Widget的应用程序组件被称为App Widget宿主。下面的截屏显示了一个音乐App Widget。 这篇文章描述了如何使用翻译 2009-10-01 21:56:00 · 45073 阅读 · 11 评论 -
CSS检测高像素密度屏幕设备
iPhone4代码示例:@media screen and (-webkit-device-pixel-ratio: 2) { body{ background-color: red; }}原创 2014-04-21 01:21:18 · 4324 阅读 · 1 评论 -
Android首席设计师宣称移动概念已死,开发者应该面向屏幕编写应用而非移动
Matias Duarte, Android首席设计师, 在最近2014年Accel设计大会上强调,从为不同的设备开发不同的应用到一个应用适配多个屏幕,需要转换我们的软件设计方法。在这个针对软件设计师、产品经理以及开发者的大会访谈中,Duarte做了一个非常大胆的声明,“移动作为一个概念已经死了,移动休矣。”,他当然不是说移动设备已死,而是说单独的为移动设备设计应用是一条错误的道路,已经不合时宜。原创 2014-04-19 10:07:32 · 3226 阅读 · 0 评论 -
Google Chrome开发者工具-移动仿真:地理位置
地理定位(Geolocation Overrides)当我们在应用中使用HTML5地理定位特性时,如果可以调试在不同的经纬度情况下的输出,无疑会很有帮助。开发者工具同时支持navigator.geolocation位置取值的覆盖(Overrides)以及地理定位功能不可用(模拟未实现HTML5地理定位特性的浏览器版本)。地位定位覆盖打开Geolocation演示页面允许该页面访问你的地理位置,定位翻译 2013-10-23 12:25:03 · 10778 阅读 · 0 评论 -
静态页面中apk文件链接,被直接打开而不是下载
这个问题经常遇到,常见还有jpg/pdf/svg等类型文件缺省链接行为的处理。文件是打开还是下载主要和http header中的content-type, content-disposition有关,尽管http协议对于未知媒体的默认类型为octet-stream, 但MIME标准默认类型为text/plain因此具体行为就要看应用服务器对http协议的实现情况。我遇到的情况是nginx服务器的缺原创 2013-06-18 22:17:12 · 10694 阅读 · 2 评论 -
如何POST一个JSON格式的数据给Restful服务
在Android/java平台上实现POST一个json数据:JSONObject jsonObj = new JSONObject();jsonObj.put("username", username);jsonObj.put("apikey", apikey);// Create the POST object and add the parametersHttpPost httpPo原创 2012-12-10 23:04:32 · 101547 阅读 · 8 评论 -
在线聊天、会议、远程教育系统开源技术方案
1、在线聊天企业网可以使用SIP/RTP或者服务质量更高的H.323互联网可以使用XMPP(原jabber,已被IETF标准化RFC3920),gtalk,openfire就是基于XMPP实现微信也是参照XMPP协议,activesync改进而来。XMPP本身使用http长链接来实现,不建议使用轮询方式。Hipmob是一个开源聊天系统,服务器端使用node.js实现:https://github.原创 2013-06-24 22:58:01 · 10702 阅读 · 0 评论 -
Android: 启动另外的APP及传递参数
有时候需要从一个APP中启动另外一个APP,比如Twitter/微信等。如果你不知道那个APP的Activity,但是知道包名(package name),那么可以使用如下的方法:Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");startActivity(Laun原创 2013-04-17 10:29:50 · 25013 阅读 · 2 评论 -
移动应用界面原型构建工具,交互设计师的利器
网站原型构建很多用的是Axure。移动应用原型(mockup)构建也有类似的工具,对于Android而言,有如下工具比较流行:1. App inventorhttp://appinventor.mit.edu2. Pencilhttp://code.google.com/p/android-ui-utils/3. DroidDrawhttp://www.droiddraw.org/对于iPhone原创 2013-03-16 17:06:28 · 4218 阅读 · 0 评论 -
Android如何获取Wifi名称即SSID
可以使用WifiManager和WifiInfo来获取当前Wifi连接信息 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); Log.d("wifiInfo", wifiInfo.to原创 2013-03-05 22:07:10 · 48622 阅读 · 2 评论 -
Android: 实现一个multipart/form-data内容类型的提交
在手机上提交用户资料信息(如需要头像、昵称),或者提交一个商品信息(商品图片和标签),或者共享一个图片到服务器上。我们都需要同时处理文件上传和一般类型数据的提交。这个在web应用中很常见也很简单。移动应用可以模拟web页面提交一个HTTP POST请求,其中Content-type为multipart/form-data。具体代码示例如下: HttpClient httpClient =原创 2012-12-12 20:45:22 · 25821 阅读 · 2 评论 -
Cannot Combine Custom Title With Other Title Features
希望定制活动页面的Title,onCreate中代码如下:final Window window = getWindow();boolean useTitleFeature = false;if(window.getContainer() == null) { useTitleFeature = window.requestFeature(Window.FEATURE_CUSTOM_T原创 2012-11-28 18:21:59 · 2927 阅读 · 2 评论 -
Android实现多页左右滑动效果,支持子view动态创建和cache
要实现多页滑动效果,主要是需要处理onTouchEvent和onInterceptTouchEvent,要处理好touch事件的子控件和父控件的传递问题。滚动控制可以利用android的Scroller来实现。这里提供两种做法:1、自定义MFlipper控件,从ViewGroup继承,利用Scroller实现滚动,重点是onTouchEvent和onInterceptTouchEvent的重写,要转载 2012-10-09 11:27:00 · 5505 阅读 · 2 评论 -
Knozen:新型职场社交评论匿名应用,已获多家风投投资
knozen是一款由显示你什么人最喜欢你什么。率,发现,和你的同事和朋友分享的性格。你的朋友们的人格特征的比较。如果发现其他人同意或不同意你的意见。-增加你的网络,发现它的人你知道是更加自信,有创意的,自发的,和更多的。查看和共享的个性,表现出积极的事情的人想你。原创 2014-07-01 13:49:22 · 2870 阅读 · 1 评论 -
Google Chrome开发者工具-移动仿真:仿真设备视角和用户代理
接着上篇:Google Chrome开发者工具-移动仿真:触摸事件仿真仿真设备视角(Emulating Device Viewports)It's often easier to start prototyping on the desktop and then tackle the mobile-specific parts on the devices you intend to suppor翻译 2013-10-18 11:26:16 · 8935 阅读 · 3 评论 -
HTML5 vs Hybrid APP vs Native APP和技术选型
HTML5(纯移动Web应用)和Native APP都很容易理解。为了获得HTML5的移植性和移动本地应用的高性能,搞出来一些混合APP的解决方案。比如Apache的Cordova(也就是以前的PhoneGap)、微软的Xamarin、Facebook的React Native、Google的NativeScript。原创 2016-10-17 23:02:36 · 10007 阅读 · 0 评论 -
响应式设计:理解设备像素,CSS像素和屏幕分辨率
屏幕分辨率、设备像素(device-width)和CSS像素(width)这些术语,在很多语境下,是可互换的,但也因此容易在有差异的地方引起混淆,实际上它们是不同的概念。屏幕分辨率和设备像素是物理概念,而CSS像素是WEB编程的概念;屏幕分辨率和设备像素的差别在于设备像素显示密度。当设备屏幕ZOOM=100%的时候,浏览器CSS像素尺寸和设备像素相等,而当像素密度(pixel density)为1的时候,屏幕分辨率和设备像素相等。原创 2014-04-30 15:49:13 · 16629 阅读 · 1 评论 -
Xtend:Android平台的Swift语言
你可以把Xtend理解为CoffeeScript for Java 或者 Java 10(即Java的未来版本)。Xtend看起来像Groovy,但是它被编译为Java代码而不是字节码。Xtend是多范式的,支持lambdas(匿名函数、匿名内部类),函数是一级对象,具有类型推断,可选分号,运算符重载,等其他特征。原创 2014-08-01 22:49:23 · 4190 阅读 · 0 评论 -
移动互联网应用技术架构简介-Android
Android历史Android是一款基于Linux的操作系统,面向触摸屏移动设备如智能手机和平板电脑. 最早是由位于加州的Android公司所开发, 2003年创立,2005年被Google收购。Android 2007年正式公开,2008年10月出售第一款手机。Android 架构图:Android OS可以被看作一个4层的软件堆栈,每层都包含一组程序组件。总体上包括操作系统, 中间件和核心应原创 2013-05-22 20:25:24 · 11315 阅读 · 1 评论 -
Google Chrome开发者工具-移动仿真:触摸事件仿真
如果你在开发PAD/手机所用WEB版应用,需要在桌面审查页面元素、调试脚本,模拟移动设备尺寸、事件、位置等信息,那么可以使用Chrome开发者工具(DevTools)提供的强大的移动仿真功能,支持主流移动设备,并且支持对Android的远程调试。本文是对Google官方文档Mobile Emulate章节的翻译。翻译 2013-10-15 19:13:08 · 56062 阅读 · 3 评论 -
Android:创建可穿戴应用 - 建立模拟器和创建项目
可穿戴应用必须有一个伴侣手机(或手持设备)应用,才可以提交到Google Play市场上,用户下载手机应用,自动把可穿戴应用推送到可穿戴设备上。同时手机应用伴侣能承担更重的计算任务,网络操作等等并发送结果给可穿戴应用。下面的课程讲述如何建立一个设备或模拟器,创建一个项目包含手机伴侣以及可穿戴应用。 我们建议你使用真实设备,这样可以更好的测试用户体验。不过模拟器可以方便的测试多种设备,这在开发调试中翻译 2014-07-09 01:21:09 · 8255 阅读 · 0 评论 -
Android:创建可穿戴应用 - 语音操作
语音操作是可穿戴用户体验的重要部分,可以让用户以快捷、免提的方式执行动作。Wear提供两种类型的语音操作:系统提供(System-provided)这些语音操作是基于任务的,且内置于Wear平台。语音命令到达时,在你想启动的活动(Activity)中进行动作过滤。比如“记一下”(Take a note)或“提醒一下”(Set an alarm)。翻译 2014-07-13 11:09:02 · 3051 阅读 · 1 评论 -
Android:创建可穿戴应用 - 打包发布
Android Wear可穿戴应用的自动打包、手动打包方法以及关闭资源压缩。当应用发布时,你必须把可穿戴应用打包进一个手机应用中, 因为用户不能直接在可穿戴设备上浏览和安装应用。如果打包正确,当用户下载手机应用时,系统会把可穿戴应用自动推送到配对的可穿戴设备中。翻译 2014-07-15 10:49:53 · 12918 阅读 · 2 评论 -
Android:创建可穿戴应用 - 自定义布局
本文介绍如何创建自定义通知以及使用可穿戴UI库来创建自定义布局,同时还需要了解可穿戴设计准则(Wear Design Principles)。除了屏幕尺寸和瞬读能力(Glance ability)外,为可穿戴应用创建布局大体和普通手机一样。翻译 2014-07-12 19:01:48 · 7205 阅读 · 2 评论 -
Android Wear:创建可穿戴应用 - 概述
可穿戴应用直接运行在设备上,使得我们可以访问硬件如传感器和GPU。基本上和为其他设备所编写的Android APP相似,但在设计、可用性以及功能数量方面差别很大。下面是手持设备和可穿戴设备应用主要的几个差别: 加强了超时处理。如果显示了一个活动(activity)然后用户一段时间没有与之交互,则设备马上进入睡眠状态。当被唤醒时,穿戴桌面被显示而不是之前的那个活动。翻译 2014-07-08 11:10:49 · 3877 阅读 · 0 评论 -
Android:创建可穿戴应用 - 安装和依赖管理
安装可穿戴应用在开发时,你可以像一般移动应用一样直接把应用安装到可穿戴设备中。使用adb install或者 Android Studio上的Play 按钮。当你准备好要发布时,你需要把可穿戴应用嵌入一个手机应用中。当用户从Google Play安装手机应用时,一个连接好的可穿戴设备将自动接收这个可穿戴应用。注意:自动安装只工作于APP使用了发布密钥(Release Key)进行签名,而不是调试密翻译 2014-07-09 18:29:35 · 3194 阅读 · 0 评论 -
Google Chrome开发者工具-移动仿真:网络带宽控制
网络带宽控制(Network Bandwidth Throttling)开发者工具(DevTools)目前不支持网络控制,不过测试网速缓慢情况下的网站工作情况还是重要的。在Mac上,我推荐使用XCode中的Network Link Conditioner。它可以预先设置网络条件如EDGE, 3G, DSL, WiFi, 高延时的DNS, 很差的网络, 以及100%丢包,. 网Network Lin翻译 2013-10-18 16:50:46 · 10706 阅读 · 0 评论 -
Android: Creating a “Snapping” Horizontal Scroll View
Update: It appears as though the android.widget.Gallery layout can provide this same functionality. I’m not sure how it was missed when building this out, but if you’re interested in a custom solutio转载 2012-10-09 11:40:34 · 3440 阅读 · 0 评论 -
PHP和ActiveMQ集成
假设你喜欢用PHP构建WEB应用,然后还有一些外围的应用,包括移动终端APP,mobile web等,由于mobile app等是非PHP语言所编写如ObjectiveC、Java等,然后你想在这些客户端应用程序之间共享某些基础服务,希望这些基础服务以一种松耦合,高扩展性,高性能的方式来提供,那么一个比较好的解决方案是使用跨平台的消息中间件ActiveMQ。对于PHP客户端而言,要使用Active原创 2012-10-08 22:01:14 · 24469 阅读 · 0 评论 -
Android应用程序模型:应用程序,任务,进程,线程
Android应用程序模型:应用程序,任务,进程和线程 大多数操作系统,在应用程序所寄存的可执行程序映像(如Windows系统里的.exe)、它所运行的进程以及和用户交互的图标和应用之间有一种严格的1对1关系。在Android系统里,这些关联要松散得多。并且重要的是要理解各种概念怎么样组成整体。由于Android应用固有的灵活性,当实现这些不同方面的时候有一些基本术语需要加以理解:一个Androi翻译 2009-08-18 19:28:00 · 11382 阅读 · 1 评论 -
Android开发指南-用户界面-创建菜单
创建菜单 Creating Menus菜单是任何应用程序的一个重要部分,提供了透露应用程序功能和设置的通用接口。Android为开发者提供了一个简单的编程接口来实现各种条件下的标准化应用程序菜单。Android提供了三种基础菜单类型:选项菜单Options Menu 这是一个活动的主菜单。通过按下设备菜单键来显示它。选项菜单包含两组菜单项: 图标菜单Icon Me翻译 2009-09-21 18:16:00 · 8526 阅读 · 3 评论 -
Android开发指南-用户界面-菜单特性
菜单特性Menu Features下面是适用于大多数菜单项的一些其他的特性。菜单组Menu groups当往菜单中添加新项时,你可以选择把它包含在一个组中。一个菜单组是一些可以共享某些特征的菜单项的集合,比如它们是否可见,是否可用,或者可否复选(checkable)。一个组由一个整数定义(或者一个XML里的资源ID)。当我们使用接受一个groupId参数的add()方法翻译 2009-09-21 18:11:00 · 5463 阅读 · 1 评论 -
Android应用程序使用Google Map
1. 创建你的应用程序,使用google api库 2. 在你的布局RelativeLayout中引入一个MapView类 3. 获取MD5认证指纹 用keytool生成证书(该工具在你的JDK bin目录下): keytool -genkey -alias agps -keyalg RSA -keystore mykey 说明: 这里-ali原创 2009-09-20 15:46:00 · 3249 阅读 · 2 评论 -
Android开发指南-用户界面-绘制视图
Android怎么绘画视图How Android Draws Views当一个活动接收到焦点时,它将被要求绘制它的布局。Android框架将处理这个绘画的过程,但是活动必须提供它的布局层次的根节点。绘画从布局的根节点开始。它被要求来测量和绘制布局树。绘画通过遍历布局树并渲染每个和失效区域相交的视图来处理。相应的,每个视图组负责请求绘制它的子视图(通过draw() 方法)而每个视图负责画它自翻译 2009-09-27 22:18:00 · 5233 阅读 · 2 评论 -
Android开发指南-用户界面-创建自定义组件
创建自定义组件Building Custom ComponentsAndroid提供了一个精致而强大的组件化模式来创建你的用户界面,基于基础的布局类:视图 View和视图组ViewGroup。平台包含了多种预定义视图和视图组子类-分别称为部件和布局-这些可以用来构造你的用户界面。一部分可用部件包括按钮Button,文本视图TextView,编辑文本框EditText,列表视图ListVie翻译 2009-09-26 22:46:00 · 10624 阅读 · 0 评论 -
Android开发指南-用户界面-通用布局对象
通用布局对象Common Layout Objects本章描述了可用于你的应用程序的一些更为通用的布局对象类型。像所有的布局一样,它们是ViewGroup.的子类。也可以参见Hello Views 教程,有更多关于使用Android视图布局的指南。框架布局FrameLayout框架布局FrameLayout 是最简单的布局对象类型。它基本上是一个屏幕上的空白空间,你可以稍后翻译 2009-09-28 17:13:00 · 11392 阅读 · 0 评论 -
Android SDK 1.5 "--core-library" build error问题解决方法
如果你手工配置build path,把SDK1.5的android.jar加入到某些工程中,你可能会遇到下面的编译错误:> Attempt to include a core VM class in something other than a core> library.> It is likely that you have attempted to include the core li原创 2009-09-13 22:01:00 · 4878 阅读 · 0 评论