2

wml/asp ページから文字列とデータを取得する j2me のプログラムがあります。
このコードの使用:

HttpConnection con = (HttpConnection) Connector.open(
    "http://localhost:"+port+"/MobileWebWIthConnection/ShowCourseinsemester.aspx?StudentId="+ID+"&Year="+Year+"&Semester="+Semester);
DataInputStream in = new DataInputStrea(con.openInputStream());
int len = (int) con.getLength();
byte[] info = new byte[len];
in.readFully(info);
result = new String(info);

switchDisplayable(null, getStudentCourses());
stringItem2.setText(result);

j2me アプリケーションがこのページからデータを読み取って保存しようとすると、次のようになります。

"http://localhost:"+port+"/MobileWebWIthConnection/ShowCourseinsemester.aspx?StudentId="+ID+"&Year="+Year+"&Semester="+Semester

(result) と呼ばれる文字列に配置されるテキストは、以下の予想される図とは似ていません。

呼び出されたページ

以下のように、フォーマットせずにコンテンツを取得しています。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



 <wml>
 <card>
 <p><b>Student Name :</b> Arin                 Rizk                </p>
 <p><b>Student ID</b> : 20111</p>
 <p>first Semester ,2011</p>
 1 - Course Name : DDD        | Credits Number : 3          | Mark : 70         </br>  2 - Course Name : EEE        | Credits Number : 3          | Mark : 65         </br>  3 - Course Name : EEE        | Credits Number : 3          | Mark : 65         </br>  4 - Course Name : EEE        | Credits Number : 3          | Mark : 90         </br>  
 </card>
 </wml>

したがって、このテキストを StringItem に割り当てると、下の図のように表示されます。

stringItem2.setText(result);

ここに画像の説明を入力

j2me で文字列を元の書式設定されたページとして表示するにはどうすればよいですか?

4

1 に答える 1

1

私はそれを解決しました.j2meには(分割方法)がないことは特に少しトリッキーでした.

簡単に作成しました。

宣言しました

String[] split (String x){
        int num=0;
        for(int i=0; i<x.length(); i++)  // count the number of ','
            if(x.charAt(i)==',')
                num++;

        String[] r=new String[num];
        for(int i=0; i<num; i++)
        {
            int loc=x.indexOf(",");  //loc is the location of each ','
            r[i]=x.substring(0,loc);
            x=x.substring(loc+1);
        }
            return r;
        }

そして、それを適用して結果をリストに表示します

HttpConnection con = (HttpConnection) Connector.open("http://localhost:"+port+"/MobileWebWIthConnection/ShowCourseinsemester.aspx?StudentId="+ID+"&Year="+Year+"&Semester="+Semester);
                            DataInputStream in = new DataInputStream(con.openInputStream());
                            int len = (int) con.getLength();
                            byte[] info = new byte[len];
                            in.read(info);
                            result = new String(info);                          
                            String[] a=split(result);
                    getList().deleteAll();
                    for(int i=1; i<a.length; i++)
                        getList().append(a[i], null);

                    switchDisplayable(null,getList());

wmlページからの完全なソースコードなしで、結果は望みどおり(行単位)でした。

ここに画像の説明を入力

于 2012-04-28T18:18:13.870 に答える