JSoup を使用し、JAVA で Web サイトに正常に接続するコードがいくつかあります。
Android でまったく同じことを (学習体験として) 複製しようとしています。
私はエクリプスを使用しています。
私の activity_main.xml には、3 つのボタンとテキスト フィールドがあります。
JAVA コード内にエラーはなく、Java 内で引き続き動作することを確認しました (Netbeans で実行)。
libs フォルダー内に JSoup jar があります。これは、見つけるのに少し時間がかかった問題でした。
editText.setText(“Here”); を配置しました。コードがどこにあるかを確認します。
ドキュメントのすぐ下にメッセージがあります = JSoup.connect(“<a href="http://www.Google.com" rel="nofollow">http://www.Google.com”).get() ;
私はそのメッセージを決して受け取りません。
同様に、catch ルーチン内にも同じメッセージがあります。私は常に catch ルーチンに入り込んでいます。つまり、問題があるということです。
私はこれを 2 つの方法で試しました。Android エミュレーターを使用する方法と、USB ケーブルを介して電話を接続する方法です。同じ結果が得られます。「アプリ」は問題なく動作しますが、catch{} 内で見つかったメッセージが表示されます。
Netbeans / 通常の Java 内で正確なコードが正常に機能するため、途方に暮れています。
これが私のコードです:
package com.example.duckriver;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.jsoup.helper.Validate;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
int counter;
Button Button1;
Button SummaryStats;
TextView display;
TextView editText;
String dataread = null;
String high = "High:";
String low = "Low:";
String filename = null;
int index = 0;
int startindex = 0;
int lastindex = 0;
int length = 0;
char[] CharArray = new char[1000];
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
counter = 0;
Button1 = (Button) findViewById(R.id.button1);
SummaryStats = (Button) findViewById(R.id.buttonSummaryStats);
display = (TextView) findViewById(R.id.tvMainDisplay);
editText = (TextView) findViewById(R.id.editText);
Button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
//counter++;
Document doc;
try{
doc=Jsoup.connect("http://www.Google.com").get();
editText.setText("Here");
//get Title
//String title = doc.title();
//System.out.println("Title: "+title);
//dataread = doc.body().text(); // "An example link"
Element link = null;
}//end try
catch(Exception ex){
ex.printStackTrace();
editText.setText("Error");
//((TextView)findViewById(R.id.tv)).setText("Error");
}// end catch
}
});
SummaryStats.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
counter = counter*counter;
}
});
return true;
}
}
私は途方に暮れています。ヘルプ?
ありがとう。