成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

BlackBerry應(yīng)用開發(fā)者指南 選項(xiàng)API

移動(dòng)開發(fā)
在前面我們已經(jīng)介紹了《BlackBerry應(yīng)用開發(fā)者指南》系列的使用受控API、Mail API和PIM API,本文本系列的第四篇——選項(xiàng)API。

本文為BlackBerry應(yīng)用開發(fā)者指南系列文章的第四篇《BlackBerry應(yīng)用開發(fā)者指南 選項(xiàng)API》。net.rim.blackberry.api.options 中的BlackBerry選項(xiàng)API允許你將一個(gè)選項(xiàng)條目增加到設(shè)備選項(xiàng)中.

使用此功能可以增加一個(gè)系統(tǒng)級(jí)的選項(xiàng)到多個(gè)程序可以使用的BlackBerry設(shè)備中.

當(dāng)你在主屏幕上點(diǎn)擊Options圖標(biāo)時(shí),將會(huì)出現(xiàn)一列選項(xiàng),例如自動(dòng)文本(AutoText),日期/時(shí)間(Date/Time),和防火墻.用戶可以選擇這些項(xiàng)查看某個(gè)選項(xiàng)的屏幕.此屏幕顯示一個(gè)或多個(gè)字段.一般來說,用戶可以更改每個(gè)字段的值.

增加選項(xiàng)

注冊(cè)增加選項(xiàng)

OptionsProvider接口的實(shí)現(xiàn)允許應(yīng)用程序增加選項(xiàng).它包含了getTitle(),save()以及populateMainScreen()的實(shí)現(xiàn).

BlackBerry設(shè)備啟動(dòng)時(shí)增加選項(xiàng).

創(chuàng)建一個(gè)類庫工程,此工程有一個(gè)libMain()方法完成需要的注冊(cè).

創(chuàng)建一個(gè)類庫工程

◆在BlackBerry JDE中,創(chuàng)建一個(gè)工程.

◆右擊工程,然后單擊Properties.

◆在Properties窗口,單擊Application標(biāo)簽.

◆在Project type下拉列表中,單擊Library.

◆在啟動(dòng)選項(xiàng)里選擇Auto-run.

◆單擊OK.

作為一個(gè)選項(xiàng)提供者(Options Provider)注冊(cè)

getInstance()的實(shí)現(xiàn)可以得到一個(gè)類的靜態(tài)實(shí)例.一次只存在一個(gè)實(shí)例.調(diào)用libMain()的registerOptionsProvider()方法.將一個(gè)類的靜態(tài)實(shí)例作為參數(shù).

  1. private static DemoOptionsProvider _instance;  
  2. //...  
  3. public static DemoOptionsProvider getInstance() {  
  4. if(_instance == null) {  
  5.     _instance = new DemoOptionsProvider("Options Demo");  
  6. }  
  7. return _instance;  
  8. }  
  9. //...  
  10. public static void libMain(String[] args) {  
  11.     OptionsManager.registerOptionsProvider(getInstance());  

保存選項(xiàng)

為了保存當(dāng)前選擇的選項(xiàng)值,請(qǐng)實(shí)現(xiàn)Persistable接口.在你的實(shí)現(xiàn)中,定義方法設(shè)置所選的選項(xiàng)值,以及提交和獲取持久存儲(chǔ)里的選項(xiàng)值.

  注:如果你作為一個(gè)內(nèi)部類實(shí)現(xiàn)Persistable接口,將它的get(),set(),以及commit()方法設(shè)置為public,這樣其他的應(yīng)用程序就可以訪問選項(xiàng)數(shù)據(jù).

提供選項(xiàng)數(shù)據(jù)的訪問

在你的類庫里,增加一個(gè)公共方法允許其他的應(yīng)用程序訪問選項(xiàng)數(shù)據(jù).

代碼實(shí)例

本實(shí)例描述了選項(xiàng)的使用.

例: DemoOptionsProvider.java

  1. /**  
  2. * DemoOptionsProvider.java  
  3. * Copyright 2002-2005 Research In Motion Limited.  
  4. */ 
  5. package com.rim.samples.docs.demooptionsprovider;  
  6. import net.rim.blackberry.api.options.*;  
  7. import net.rim.device.api.ui.component.*;  
  8. import net.rim.device.api.ui.container.*;  
  9. import net.rim.device.api.i18n.*;  
  10. import net.rim.device.api.system.*;  
  11. import net.rim.device.api.util.*;  
  12.  
  13. // A simple library class to demonstrate the use of the options facilities.  
  14. public final class DemoOptionsProvider implements OptionsProvider {  
  15.     // members  
  16.     private ObjectChoiceField _ocf;  
  17.     private OptionsDemoData _data;  
  18.     private String _title;  
  19.     private static DemoOptionsProvider _instance;  
  20.  
  21.     // constructors  
  22.     private DemoOptionsProvider() {  
  23.        }  
  24.  
  25.     private DemoOptionsProvider(String title) {  
  26.        _title = title;  
  27.        _data = OptionsDemoData.load();  
  28.        }  
  29.  
  30.     // Only allow one instance of this class.  
  31.     public static DemoOptionsProvider getInstance() {  
  32.        if (_instance == null) {  
  33.            _instance = new DemoOptionsProvider("Options Demo");  
  34.            }  
  35.        return _instance;  
  36.        }  
  37.  
  38.     // On startup, create the instance and register it.  
  39.     public static void libMain(String[] args) {  
  40.        OptionsManager.registerOptionsProvider(getInstance());  
  41.        }  
  42.  
  43.     // Get the title for the option item.  
  44.     public String getTitle() {  
  45.        return _title;  
  46.        }  
  47.  
  48.     // Add fields to the screen.  
  49.     public void populateMainScreen(MainScreen screen) {  
  50.        int index = _data.getSelected();  
  51.        String[] choices = {“High”, “Low”, “None”};  
  52.        _ocf = new ObjectChoiceField(“Security: “, choices, index);  
  53.        screen.add(_ocf);  
  54.        }  
  55.  
  56.     // Save the data.  
  57.     public void save() {  
  58.        _data.setSelected(_ocf.getSelectedIndex());  
  59.        _data.commit();  
  60.        }  
  61.  
  62.     // Retrieve the data. Used by other applications to access options data.  
  63.     public OptionsDemoData getData() {  
  64.        return _data;  
  65.        }  
  66.  
  67.     // Inner class to store selected option values.  
  68.     public static final class OptionsDemoData implements Persistable {  
  69.        private static final long ID = 0x6af0b5eb44dc5164L;  
  70.        private int _selectedOption;  
  71.        private OptionsDemoData() {         
  72.        }  
  73.  
  74.        public int getSelected() {  
  75.            return _selectedOption;  
  76.            }  
  77.        public void setSelected(int index) {  
  78.            _selectedOption = index;  
  79.            }  
  80.  
  81.        public void commit() {  
  82.            PersistentObject.commit(this);  
  83.            }  
  84.  
  85.        private static OptionsDemoData load() {  
  86.            PersistentObject persist = PersistentStore.getPersistentObject(  
  87.                   OptionsDemoData.ID );  
  88.            OptionsDemoData contents = (OptionsDemoData)persist.getContents();  
  89.            synchronized( persist ) {  
  90.               if( contents == null ) {  
  91.                   contents = new OptionsDemoData();  
  92.                   persist.setContents( contents );  
  93.                   persist.commit();  
  94.                   }  
  95.               }  
  96.            return contents;  
  97.            }  
  98.        }  
  99.   }  

【編輯推薦】

  1. 簡(jiǎn)介BlackBerry API
  2. BlackBerry應(yīng)用開發(fā)者指南 使用受控API
  3. BlackBerry應(yīng)用開發(fā)者指南 Mail API
  4. BlackBerry應(yīng)用開發(fā)者指南 PIM API
責(zé)任編輯:佚名 來源: 10086
相關(guān)推薦

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-13 11:31:06

PIM APIBlackBerry

2011-04-02 13:44:08

2011-04-14 10:03:32

UI組件BlackBerry

2011-04-14 10:05:16

BlackBerry

2011-04-13 14:10:27

.alx文件BlackBerry

2011-04-14 10:34:08

BlackBerry

2010-05-22 16:57:09

BlackBerry開

2022-01-17 19:34:43

SentryWeb APISentry API

2011-04-18 11:00:34

使用音頻BlackBerry

2011-07-19 09:51:32

性能優(yōu)化Designing FAndroid

2011-02-16 16:45:23

MWCRIMBlackBerry

2011-04-26 10:19:46

BlackBerry

2018-03-27 23:25:40

Paddle

2011-04-15 15:16:28

使用圖像對(duì)象畫圖BlackBerry

2020-07-15 07:00:00

移動(dòng)應(yīng)用開發(fā)者指南

2013-08-29 13:41:42

Windows 8.1

2019-08-16 10:55:37

開發(fā)者技能AI

2024-05-07 08:45:16

OpenAILlamaIndex大語言模型

2024-02-01 09:37:42

Kubernetes服務(wù)網(wǎng)格? 命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产成人一区二区三区久久久 | 中文字幕成人在线 | 亚洲色图婷婷 | 欧美精品一区二区三区一线天视频 | 国产精品欧美日韩 | 91精品国产91久久久久久吃药 | 九九视频网| 亚洲高清在线 | 日韩在线视频一区 | 亚洲天天干 | 国产99精品| 日日天天 | 国产目拍亚洲精品99久久精品 | 一区中文字幕 | 亚洲伦理自拍 | zzzwww在线看片免费 | 国产精品免费一区二区三区 | 国产精品久久久久久婷婷天堂 | www久久99| 久久国产欧美一区二区三区精品 | 亚洲一区二区三区视频免费观看 | 99re在线视频观看 | 一区二区三区高清在线观看 | 久久精品一级 | 国产精品久久久久一区二区三区 | 成年女人免费v片 | 国产成人小视频 | 亚洲综合国产 | 欧美久久综合 | 免费一级片 | 99亚洲精品视频 | 人干人操 | 欧美日韩国产一区二区 | 视频在线一区二区 | 激情久久网 | 夜夜爽99久久国产综合精品女不卡 | 国产精品美女久久久久aⅴ国产馆 | 综合久久99 | 日本欧美国产在线观看 | 日韩福利 | 国产精品大片 |