了解OPhone平台---OPhone平台架构和主要开发组件
OPhone平台基于Linux和开放手机联盟(OHA)的Android系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强 了浏览器能力和WAP兼容性,优化了多媒体领域的OpenCORE、浏览器领域的WebKit等业内众多知名引擎,增加了包括游戏、Widget、 Java ME等在内的先进平台中间件。本文主要介绍OPhone的架构、应用程序模型和主要开发组件。
- 使用java语言编写的OPhone应用程序,以APK形式发布。
- 使用HTML、JavaScript等脚本语言编写的Widget程序,以WGT形式发布。
- 使用java语言编写的MIDlet程序,以jar/jad形式发布。
- Activity
- Content Provider
- ContentResolver resolver = getContentResolver();
- //从Content Provider中获得SD卡上的音乐列表
- cursor =resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
- null , null , null , MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
- String[] cols = new String[] { MediaStore.Audio.Media.TITLE,
- MediaStore.Audio.Media.ARTIST, };
- int [] ids = new int [] { R.id.track_name, R.id.artist };
- if (cursor != null )
- startManagingCursor(cursor);
- //创建Adapter并绑定到ListView
- SimpleCursorAdapter adapter = new SimpleCursorAdapter( this ,
- R.layout.songs_list, cursor, cols, ids);
- setListAdapter(adapter);
ContentResolver resolver = getContentResolver();
//从Content Provider中获得SD卡上的音乐列表
cursor =resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
String[] cols = new String[] { MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ARTIST, };
int[] ids = new int[] { R.id.track_name, R.id.artist };
if (cursor != null)
startManagingCursor(cursor);
//创建Adapter并绑定到ListView
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.songs_list, cursor, cols, ids);
setListAdapter(adapter);
- Service
- BroadcastReceiver
- <receiver android:name= ".BootReceiver" >
- <intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED" />
- </intent-filter>
- </receiver>
<receiver android:name=".BootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
- <uses-permission android:name= "android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
- public class BootReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context arg0, Intent arg1) {
- if (arg1.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
- Intent intent = new Intent(arg0, com.ophone.MusicActivity. class );
- //在Activity之外调用startActivity()
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- arg0.startActivity(intent);
- }
- }
- }
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
if (arg1.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent intent = new Intent(arg0, com.ophone.MusicActivity.class);
//在Activity之外调用startActivity()
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
arg0.startActivity(intent);
}
}
}
詹建飞,中国移动通信研究院终端技术研究所项目经理。6年java编程经验,熟悉Java ME,Symbian,OPhone/Android等多种移动开发平台,具有丰富的客户端软件开发和设计经验。先后出版了《J2ME开发精解》、 《Java ME核心技术与最佳实践》和《OPhone应用开发权威指南》等书籍,2007年荣获电子工业出版社优秀作者奖。
了解OPhone平台---OPhone平台架构和主要开发组件相关推荐
- .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)
.NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析) 总结日期:2019年10月10日 ...
- 新思路保障网络安全 基于平台的网络安全架构体系
新思路保障网络安全 基于平台的网络安全架构体系 新思路保障网络安全 基于平台的网络安全架构体系 如果说我们从技术点出发来建设运维管理平台系统.从业务应用的角度出发来设计应用管理策略,从整个IT管理出发 ...
- Java生鲜电商平台-微服务架构概述
Java生鲜电商平台-微服务架构概述 单体架构存在的问题 在传统的软件技术架构系统中,基本上将业务功能集中在单一应用内,或者是单一进程中.尽管现代化的软件架构理论以及设计原则已推广多年,但实际技术衍化 ...
- Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构
Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...
- 一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)
发布NGuestBook的动机说明 大约在半年前,我在博客上发表了一个系列文章:<基于.NET平台的分层架构实战>.当时在讲解过程中用到了一个叫NGuestBook的案例,在那以 ...
- 基于.NET平台的分层架构实战(二)——需求分析与数据库设计
基于.NET平台的分层架构实战(五)--接口的设计与实现 · 基于.NET平台的分层架构实战(四)--实体类的设计与实现 · 基于.NET平台的分层架构实战(三)--架构概要设计 · 基于.NET平台 ...
- 基于.NET平台的分层架构实战(一)——综述
通过浏览博客园的文章发现,很多朋友对分层架构特别感兴趣,刚好我刚做完的毕业设计就是专门研究.NET平台上分层架构的(题目叫"基于.NET平台的分层架构与设计模式应用研究").通过做 ...
- 大型集团企业云管平台建设参考架构
摘要:本文通过对不同的集团企业及国家机构IT治理组织架构提出华为云管平台集中部署.分布式部署.分散独立部署三种方式,实现集团企业IT云时代的治理管控诉求. 本文分享自华为云社区<[华为云Stac ...
- (转)微服务架构 互联网保险O2O平台微服务架构设计
http://www.cnblogs.com/Leo_wl/p/5049722.html 微服务架构 互联网保险O2O平台微服务架构设计 关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也 ...
最新文章
- linux命令用tar czvf .tar.gz好用的
- tengine 调用php,nginx 或tengine 访问日志分割处理
- shell脚本例子集锦
- python做Linux进程运行,Python实现在Linux系统下更改当前进程运行用户
- SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
- 计算机网络必备知识,非常全面!
- php phpass,ass.php · ciweiin/海洋cms 海洋影视管理系统 - 免费开源PHP - Gitee.com
- 在线编程语言模拟(Java,C,Python,R语言,Ruby,PHP,Perl,Go等)
- 星际争霸战略战术的发展和创新
- ACL2021 | 跨视觉语言模态任务与方法
- 汇编语言属于计算机科学,汇编语言是一种依赖于计算机的低级程序设计语言吗...
- python求自定义函数的导数
- CSR-I (WSJ0) Complete又名wsj0数据集
- 极好的六个开源数据挖掘工具
- 【工程/物理光学(四)——光的衍射技术】
- 华为防火墙的NAT介绍及配置详解
- 基金股市理财经验分享(个人体会)
- python、pandas、Excel、Powerbi中对日期的处理方法
- 各种图论模型及其解答
- 扫地机器人黑色耐脏吗_扫地机买什么 篇七:中秋送礼 我最后选择了黑色的石头:石头扫地机近一年使用心得 与 S55黑色版开箱...
热门文章
- javascript实现面向对象的继承
- linux系统调试网络,linux系统命令(网络相关的调试命令)
- 领地柜怎么砸_5㎡餐厅也配有餐边柜!布局、尺寸都给你们准备好,照着装准没错...
- 微型计算机技术及应用 习题答案,微型计算机技术及应用习题答案.doc
- java contains_Java常用测试框架大全,不要只会Junit
- 2440 8字数码管 显示0到10 c语言,51单片机对8位数码管依次显示0-7的设计
- linux io 分析,Linux 下的I/O性能分析 iotop
- c语言可变入参中的每个参数的类型可以不同,编程入门:浅谈C语言的可变参数
- 深度学习之眼睛状态识别混淆矩阵的绘制
- Ehab and Prefix MEXs CodeForces - 1364C(思维)