WEB开发网
开发学院手机开发Ophone 开发 OPhone平台架构和主要开发组件 阅读

OPhone平台架构和主要开发组件

 2010-05-24 21:11:00 来源:WEB开发网   
核心提示:ContentProvider类提供了抽象的接口,允许应用程序查询,OPhone平台架构和主要开发组件(3),插入,删除和更新其中的数据,Service对象在销毁之前,onDestroy()会被调用,下面的代码可以从系统中查询存储在SD卡上的歌曲,如图3所示:复制到剪贴板 Java代码ContentResolver r
ContentProvider类提供了抽象的接口,允许应用程序查询,插入,删除和更新其中的数据。下面的代码可以从系统中查询存储在SD卡上的歌曲,如图3所示:

复制到剪贴板 Java代码

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);

(图)OPhone平台架构和主要开发组件

Service

Service 是OPhone平台非常重要的组件之一,它运行在后台,不与用户进行交互。在默认情况下,Service运行在应用程序进程的主线程之中,如果需要在 Service中处理一些网络连接等耗时的操作,那么应该将这些任务放在单独的线程中处理,避免阻塞用户界面。启动后的Service具有较高的优先级,一般情况下,系统会保证Service的正常运行。只有当前台的Activity正常运行的资源被Service占用的情况下,系统才会暂时停止 Service;当系统重新获得了资源后会自动启动原来的Service。

如果想使用Service组件,需要扩展 android.app.Service类,并在AndroidManifest.xml文件中使用标签声明。与 Activity类似,Service中同样定义了onCreate()、onStart()和onDestroy()等生命周期方法。当其他组件通过 Context.startService()方法启动Service时,系统会创建一个Service对象,并顺序调用onCreate()方法和 onStart()方法。在调用Context.stopService()或者stopSelf()之前,Service一直处于运行的状态。如果多次调用startService()方法,系统只会多次调用onStart()方法,而不会重复调用onCreate()方法。无论调用了多少次 startService(),只需要调用一次stopService()就可以停止Service。Service对象在销毁之前,onDestroy()会被调用,因此与资源释放相关的工作应该在此方法中完成。

上一页  1 2 3 4 5  下一页

Tags:OPhone 平台 架构

编辑录入:coldstar [复制链接] [打 印]
赞助商链接