ブラックベリーに読み込み画面を表示する方法

私はBlackberryに問題があります。

       //Stream connection
        streamConnection = (StreamConnection) Connector
                .open(_url);
       //Document Builder Factory
        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
                .newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        docBuilder.isValidating();
       //Parsing inputStream
        doc = docBuilder.parse(streamConnection.openInputStream());
        doc.getDocumentElement().normalize();
        NodeList list = doc.getElementsByTagName("*");

タスクパーザが完了するまでLoadingダイアログを表示したい。なぜなら、完成したタスクのXMLパーサーの後、私はそれを画面に表示するために使用する必要があるからです。

ですから、Parser XMLが完成するまでLoadingダイアログを表示する方法は? 私を助けてください ! どうもありがとうございます!!!!!!!!!!!!!!!!!

1
あなたが本当に答えを必要とする場合は、あなたの受け入れ率を向上させる...
追加された 著者 V.J.,
実際、私のアプリケーションは何度もサーバとパーサXMLに接続しています...私はあなたの方法を試しましたが、私はすべての場合を実装していません。私は、アプリケーションを実行すると、私はpushScreenと私はgetArtistInInメソッドは、画面のコンストラクタで実行されます。私はあなたの解決策を理解しましたが、すべての私の場合には解決策が必要です!
追加された 著者 Tama,
私は自分のソースをアップロードしたいが、私はあなたの答えを投稿することはできない... @@
追加された 著者 Tama,
こんにちは、答えはあなたに役立ちますかnot.Let私に教えてください..
追加された 著者 Govindarao Kondala,

3 答え

これはかなり簡単な作業です

次のリンクをリダイレクトしてください。 http ://supportforums.blackberry.com/t5/Java-Development/Sample-quot-Please-Wait-quot-screen-part-1/ta-p/493808 その.zipファイルをダウンロードする

次にあなたのアプリケーションに小さなロジックを取るfirsは、スレッドにすべての解析の概念を取る

たとえば、私はXMLパーサのデモを取っています。私は要件に応じて変換します

private class Connection extends Thread{
        Vector nodes_vect=new Vector();
        Vector elements_vect=new Vector();
        public Connection(){
            super();
        }

        public void run(){
           //define variables later used for parsing
            Document doc;
            StreamConnection conn;

            try{
                //providing the location of the xml file,
                //your address might be different
                conn=(StreamConnection)Connector.open
                  ("http://localhost:8000/content/test.xml;deviceside=true");//  http://localhost:8000/content/test.xml
                //next few lines creates variables to open a
                //stream, parse it, collect xml data and
                //extract the data which is required.
                //In this case they are elements,
                //node and the values of an element
                DocumentBuilderFactory docBuilderFactory
                  = DocumentBuilderFactory. newInstance(); 
                DocumentBuilder docBuilder
                  = docBuilderFactory.newDocumentBuilder();
                docBuilder.isValidating();
                doc = docBuilder.parse(conn.openInputStream());
                doc.getDocumentElement ().normalize ();
                NodeList list=doc.getElementsByTagName("*");
                _node=new String();
                _element = new String();
                //this "for" loop is used to parse through the
                //XML document and extract all elements and their
                //value, so they can be displayed on the device

                for (int i=0;ixml parser
            catch (Exception e){
                System.out.println(e.toString());
            }
        }//end connection function
    }// end connection class
}//end XML_Parsing_Sample

どこからでもこれを呼び出すことができます

import java.util.Vector;

import javax.microedition.io.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.*;
import net.rim.device.api.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;

class XML_Parsing_Sample extends UiApplication{
    //creating a member variable for the MainScreen
    MainScreen _screen= new MainScreen();
    //string variables to store the values of the xml document
    String _node,_element;
    Connection _connectionthread;

    public static void main(String arg[]){
        XML_Parsing_Sample application = new XML_Parsing_Sample();
        //create a new instance of the application
        //and start the application on the event thread
        application.enterEventDispatcher();
    }

    public XML_Parsing_Sample() {

        UiApplication.getUiApplication().invokeLater(new Runnable() {
            public void run() {
                UiApplication.getUiApplication().pushScreen(new LoadingScreen());
            }
        });


      //pushScreen(_screen);//creating a screen
        //creating a connection thread to run in the background
        _connectionthread = new Connection();
        _connectionthread.start();//starting the thread operation
    }

    public void pushingToNextScreen(final Vector node,final Vector elem){
        UiApplication.getUiApplication().invokeLater(new Runnable() {
            public void run() {
                 UiApplication.getUiApplication().popScreen(UiApplication.getUiApplication().getActiveScreen());
                 UiApplication.getUiApplication().pushScreen(new datascreen(node, elem));//after last element it will call mainscreen constructer
            }
        });
    }

  class datascreen extends MainScreen
  {
      public datascreen(Vector node,Vector elem) {
        //you can write your logic and design with data(vectors contain all data)
    }
  }
2
追加された
サポートしていただきありがとうございますが、「読み込み中...」を表示するにはどうすればいいですか?パーサの処理が開始されたときにダイアログが表示され、パーサが終了したときにダイアログが閉じます。
追加された 著者 Tama,
私が== list.getLength() - 1これは最後の要素であると仮定することができますし、私たちは1つの関数pushingToNextScreen()を呼び出すことができますその画面を読み込んで、新しい画面にプッシュ
追加された 著者 Govindarao Kondala,

しばらくお待ちください、下記のリンクのアプリケーション(PleaseWait.zip)を見つけてください。

http://supportforums.blackberry .com/t5/Java-Development/problem-in-gaugfield-show-緊急/ td-p/964925

0
追加された

'XML Parsing'モジュールの処理を開始する前に、ディスプレイスタックに Screen インスタンス( PopupScreen )を置き、完了するとそのスタックをディスプレイスタックから削除します。あなたのニーズを満たす、その画面上のいくつかのキープレスイベントを無効にする必要があるかもしれません。戻るボタンを押しても何もしない。そしてその画面にカスタマイズダイアログテキスト/アニメーションを追加します。

0
追加された
XML解析の完了後、 "POPUP Screen"をポップする必要があります。これは、XML Paringとポップアップを開始する前に "POPUP Screen"を押すことを意味します。
追加された 著者 alishaik786,
あなたの解析コードが別のスレッドで実行されていない場合、通常は解析コードモジュールの最後の行が実行された後、XML解析が行われます。最初に解析作業を正常に終了し、読み込み画面を追加しようとするとよいでしょう。
追加された 著者 Rupak,
OK。しかし、プロセスのXML解析が完了したら、どうすればわかりますか?
追加された 著者 Tama,