亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

詳細說明 MIDP 中的屬性問題

2019-11-18 13:15:00
字體:
來源:轉載
供稿:網友

  本文目的是說明MIDP中的屬性問題,主要涉及到jad和MANIFEST.MF文件的一些概念。事實上很多人并不清楚這方面的細節。所以你應該仔細讀讀這篇文章.
  
  通常MIDP的應用程序是以.jar文件和.jad文件發布的。jar文件就是我們所說的jar包,jad文件的全名是java application descriptor。在jad文件中包含著Application Management Software用來治理MIDlets的生命周期的信息,當然也包括很多重要的屬性。他們是成對出現的例如:MIDlet-Name:myjava。你可以通過調用getApp  
  在jar包里面包括一個目錄META-INFO里面有個文件是MANIFEST.MF。它是用來描述JAR文件的,也包含一些其它的信息,你可能發現了,在MANIFEST.MF和JAD文件中的一些值是相同的。那么這就存在著一個規則,AMS如何決定去讀取哪個值呢?答案是這樣的。
  
  假如MIDlets的jar包是signed的,那么AMS要去察看它的數字簽名,假如是有效的那么它會首先去讀取MANIFEST.MF的內容,然后讀取jad文件中相同的內容,假如匹配的話那么它會安裝這個jar包,假如不匹配的話就會拒絕安裝。假如他發現數字簽名無效的話直接就會拒絕安裝。
  
  假如MDIlets的jar包是unsigned的話,那么AMS就把它認為是非信任的,他去讀取jad文件的屬性,假如發現沒有的話它去讀取MANIFEST的內容,也就是說假如jad和MANIFEST里面都有的屬性AMS只會去讀取jad中的。
  
  下面這個邏輯看上去是比較清楚的:
   given : String key // attribute name
   return : String value
   throws : NullPointerException if key is null
  
   if trusted
   String v0 = lookup key in manifest
   String v1 = lookup key in descriptor
  
   if ( v0 != null && v1 != null )
    // found in both; must be the same value
    assert( v0.compareTo( v1 ) == 0 );
  
   value = ( v1 != null )? v1 : v0;
   else // untrusted
   value = lookup key in descriptor
  
   if value == null
    value = lookup key in manifest
  
   return value
  
  下面簡單介紹一下MIDP2.0中定義的一些重要的參數,在MIDP2.0中定義了18個值。其中在MANIFEST.MF和jad中都必須定義的有六個,他們是:
  MIDlet-Name
  MIDlet-Version
  MIDlet-Vendor
  MicroEdition-Profile
  MicroEdition-Configuration 
  MIDlet-n
  由于一個MIDlet suite里面可以有多個MIDlet的,因此你要說明他們比如MIDlet-1,MIDlet-2.....MIDlet-n,這一點非常的重要,在部署jar和jad文件到手機的時候一定要確保MIDlet-Name的正確,它的值是你的jar包的名字!否則不會安裝成功的。還有兩個值是jad文件中不許有的他們是MIDlet-Jar-URL ,
  
  MIDlet-Jar-Size 其中應該注重的是MIDlet-Jar-URL,假如你要是通過OTA下載的話,那么你不許讓他指向你jar包的絕對地址,例如http://myip:port/app/myapp.jar。
  
  關于一個MIDlet suite里面有多個MIDlet的情況我寫了個簡單的代碼測試了一下,假如還有疑問的話你可以運行一下下面的程序:
  import javax.microedition.lcdui.Display;
  import javax.microedition.lcdui.Form;
  import javax.microedition.midlet.MIDlet;
  import javax.microedition.midlet.MIDletStateChangeException;
  /*
   * Created on 2004-7-14
   *
   * TODO To change the template for this generated file go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  
  /**
   * @author E2412C
   *
   * TODO To change the template for this generated type comment go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  public class MIDlet1 extends MIDlet
  {
  
    private Display display;
    
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#startApp()
     */
    protected void startApp() throws MIDletStateChangeException
    {
      // TODO Auto-generated method stub
      display = Display.getDisplay(this);
      display.setCurrent(new Form("1"));
    }
  
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#pauseApp()
     */
    protected void pauseApp()
    {
      // TODO Auto-generated method stub
  
    }
  
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
     */
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException
    {
      // TODO Auto-generated method stub
  
    }
  
  }
  import javax.microedition.lcdui.Display;
  import javax.microedition.lcdui.Form;
  import javax.microedition.midlet.MIDlet;
  import javax.microedition.midlet.MIDletStateChangeException;
  /*
   * Created on 2004-7-14
   *
   * TODO To change the template for this generated file go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  
  /**
   * @author E2412C
   *
   * TODO To change the template for this generated type comment go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  public class MIDlet2 extends MIDlet
  {
  
    private Display display;
    
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#startApp()
     */
    protected void startApp() throws MIDletStateChangeException
    {
      // TODO Auto-generated method stub
      display = Display.getDisplay(this);
      display.setCurrent(new Form("2"));
    }
  
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#pauseApp()
     */
    protected void pauseApp()
    {
      // TODO Auto-generated method stub
  
    }
  
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
     */
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException
    {
      // TODO Auto-generated method stub
  
    }
  
  }
  import javax.microedition.lcdui.Display;
  import javax.microedition.lcdui.Form;
  import javax.microedition.midlet.MIDlet;
  import javax.microedition.midlet.MIDletStateChangeException;
  /*
   * Created on 2004-7-14
   *
   * TODO To change the template for this generated file go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  
  /**
   * @author E2412C
   *
   * TODO To change the template for this generated type comment go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  public class MIDlet3 extends MIDlet
  {
  
    private Display display;
    
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#startApp()
     */
    protected void startApp() throws MIDletStateChangeException
    {
      // TODO Auto-generated method stub
      display = Display.getDisplay(this);
      display.setCurrent(new Form("3"));
    }
  
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#pauseApp()
     */
    protected void pauseApp()
    {
      // TODO Auto-generated method stub
  
    }
  
    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
     */
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException
    {
      // TODO Auto-generated method stub
  
    }
  
  }
  JAD文件的內容如下:
  MIDlet-3: MIDlet3,,MIDlet3
  MIDlet-2: MIDlet1,,MIDlet1
  MIDlet-1: MIDlet2,,MIDlet2
  MIDlet-Jar-URL:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产成人高清视频| 日韩成人高清在线| 日韩欧美在线视频日韩欧美在线视频| 精品色蜜蜜精品视频在线观看| 亚洲最大成人网色| 欧美国产高跟鞋裸体秀xxxhd| 疯狂做受xxxx欧美肥白少妇| 精品久久久av| 不卡av电影在线观看| 久久亚洲影音av资源网| 91免费精品国偷自产在线| 亚洲成色777777女色窝| 国产日韩欧美日韩| 色综合天天狠天天透天天伊人| 亚洲一区二区三区成人在线视频精品| 欧美电影在线免费观看网站| 日韩经典一区二区三区| 国产精品美女免费看| 日韩欧美亚洲综合| 国产精品视频免费在线| 国产极品jizzhd欧美| 国产日韩欧美中文在线播放| 国产一区二区视频在线观看| 欧美激情一级欧美精品| www.久久久久久.com| 日韩精品在线视频美女| 欧美成人中文字幕在线| 岛国精品视频在线播放| 国产一区二区三区在线视频| 日韩最新免费不卡| 国产在线999| 欧美日韩国产综合视频在线观看中文| 国产精品久久久久久久久影视| 久久精品影视伊人网| 亚洲色图日韩av| 欧美日韩亚洲视频| 亚洲a∨日韩av高清在线观看| 日韩小视频在线观看| 亚洲性av网站| 免费91麻豆精品国产自产在线观看| 欧美一区二区影院| 国产精品日韩久久久久| 国产欧美va欧美va香蕉在| 欧美在线视频播放| 亚洲精品一区二三区不卡| 日韩在线观看成人| 日本精品中文字幕| 亚洲老板91色精品久久| 欧美午夜精品久久久久久人妖| 国产成人一区二区三区小说| 人人澡人人澡人人看欧美| 清纯唯美亚洲激情| 91网在线免费观看| 久久久国产精彩视频美女艺术照福利| 日韩精品在线免费| 欧美激情视频网| 国产情人节一区| 日韩欧美在线观看| 日韩欧美精品免费在线| 国产美女主播一区| 欧美日韩国产成人在线| 日韩电影在线观看永久视频免费网站| 91九色国产在线| 色777狠狠综合秋免鲁丝| 亚洲国产天堂久久综合网| 国产经典一区二区| 91高清在线免费观看| 亚洲国产另类 国产精品国产免费| 国产精品你懂得| 欧美成人激情图片网| 国产精品福利网| 久久久国产一区二区| 久久在线免费视频| 久久精品国亚洲| 国产精品高潮呻吟视频| 国产91精品最新在线播放| 国产色婷婷国产综合在线理论片a| 色爱av美腿丝袜综合粉嫩av| 久久久久国产精品一区| 亚洲激情久久久| 亚洲黄在线观看| 日韩精品极品毛片系列视频| 国产精品色午夜在线观看| 日本不卡免费高清视频| 2019中文字幕全在线观看| 亚洲第一中文字幕| 精品亚洲一区二区三区四区五区| 成人午夜小视频| 亚洲女人天堂网| 亚洲性无码av在线| 琪琪第一精品导航| 国产成人精品日本亚洲专区61| 国模极品一区二区三区| 亚洲视频在线观看| 午夜精品美女自拍福到在线| 91欧美视频网站| 91国产高清在线| 亚洲肉体裸体xxxx137| 91精品国产亚洲| 九九热这里只有精品免费看| 奇米成人av国产一区二区三区| 国产精品偷伦一区二区| 亚洲欧美激情另类校园| 亚洲福利视频久久| 在线国产精品视频| 九九热最新视频//这里只有精品| 日韩有码在线播放| 91嫩草在线视频| 精品国产乱码久久久久酒店| 在线日韩中文字幕| 日韩精品在线视频观看| 色播久久人人爽人人爽人人片视av| 欧美国产日韩一区二区三区| 久久国产精品99国产精| 久久久久久久激情视频| 青青a在线精品免费观看| 另类少妇人与禽zozz0性伦| 欧美激情网友自拍| 亚洲风情亚aⅴ在线发布| 成人欧美一区二区三区在线| 欧美老少做受xxxx高潮| 日韩欧美在线中文字幕| 国产精品无av码在线观看| 欧美日韩在线另类| 中文字幕九色91在线| 91精品中国老女人| 欧美野外猛男的大粗鳮| 久久69精品久久久久久国产越南| 国产精品久久国产精品99gif| 亚洲小视频在线| 亚洲免费福利视频| 亚洲欧洲在线视频| 久久久久九九九九| 国产精品视频久久久| 久久福利网址导航| 亚洲欧美日韩中文在线制服| 久久99青青精品免费观看| 日韩视频免费中文字幕| 色综合影院在线| 国产精品久久久久久久久久久久久久| 成人午夜在线视频一区| 国产精品视频久久久| 国产亚洲视频在线观看| 国产成人aa精品一区在线播放| 欧美—级a级欧美特级ar全黄| 欧美性视频网站| 91欧美视频网站| 国产成人+综合亚洲+天堂| 久久中文字幕在线视频| 欧美成人免费一级人片100| 日韩精品中文字幕在线观看| 在线观看视频亚洲| 精品久久在线播放| 欧美成人全部免费| 亚洲精品欧美一区二区三区| 成人夜晚看av| 欧美精品在线极品| 国内精品小视频在线观看| 一区二区三区视频观看| 日韩电影大全免费观看2023年上| 久久精品一本久久99精品| 综合国产在线观看| 狠狠色噜噜狠狠狠狠97| 欧美巨猛xxxx猛交黑人97人|