1

Eclipse 3.7.2 Android 2.3.3 / API レベル 10 の使用

XML ファイルの読み取りに問題があります。このコードを使用してファイルの適切なハンドルを取得し、情報を読み取ってユーザーに表示し、変更を加えて更新する必要があるため、入力/出力用に開きます。

ファイルを読みに行くと、C# の世界から来て、慣れていない動作が見られます。デバッグ パースペクティブでは、変数に赤い四角の値があります。これで問題ないかもしれませんが、私の最初の考えは赤==トラブルですか?ただし、データ (デバッグ パースペクティブの変数ウィンドウ内のデータ) は問題ないように見えるので、続行します。私の eventType はゼロで、case ステートメントに入りましたが、例外がスローされました。ここでボールを落とします。Java の例外に関する詳細情報を取得する方法がわかりません。たとえば、C# の世界では、内部例外が発生する可能性があります。Javaには、まだ学んでいない方法があると確信しています。

手順は次のとおりです。1 行目から 9 行目に直接ジャンプします。F6(「ステップ オーバー」の Eclipse デバッグ ショートカット) 4行目に移動し、最後F6に 9 行目に戻りF6、一般的な例外のキャッチに移動します。

  try
  {
      DataFileOut = new FileOutputStream(LiftFile);
      DataFileIn = new FileInputStream(LiftFile);
      InputStreamReader isr = new InputStreamReader(DataFileIn);        

      // auto-detect the encoding from the stream    
      parser.setInput(isr);    
      int eventType = parser.getEventType();    
      Category currentCategory = null;
      boolean done = false;    
      while (eventType != XmlPullParser.END_DOCUMENT && !done)
      {        
          String name = null;
  0       //eventType = 2;
  1       switch (eventType)
          {
  3         case XmlPullParser.START_DOCUMENT:
  4         break;

            case XmlPullParser.START_TAG:
        ....
       }
  9     eventType = parser.next();
   }
}

私の考えでは、FileInputStream ハンドルが間違っているか、XML ドキュメントの形式が正しくないのでしょうか?? 他の考えはありますか?

<?xml version="1.0" encoding="UTF-8"?>
    <ExcersiseInformation>
       <Lifts count="6">
          <Lift>
       <ID>1001001</ID>
       <Name>Hammer Curls</Name>
       <PreviousLift>45</PreviousLift>
       <PreviousReps>8</PreviousReps>
       <SuggestLift>45</SuggestLift>
       <SuggestReps>10</SuggestReps>
       <ActualLift></ActualLift>
       <ActualReps></ActualReps>
          </Lift>
          .....
      </Lifts>
   </ExcersiseInformation>
4

1 に答える 1

1

あなたのxmlは整形式のようです。xml タグの内容を取得するためにハンドラーとパーサー クラスを使用していますか? おそらくそれに到達するための最良の方法。インターネットや他の投稿でいくつかの良い例を見つけることができます。私がうまく使っているのと同じ方法で、次の方法を見てください。

http://www.jondev.net/articles/Android_XML_SAX_Parser_Example

于 2012-04-25T15:41:48.817 に答える