いくつかの基本的なチュートリアルを行った後、Eclipse で最初の本物の Android アプリを作成し始めました。このアプリで、EditText のテキストが Web サイトのテキストと一致するかどうかを確認したいと考えています (これ: http://www.augustinianum.eu/roosterwijzigingen/14062012.pdf (私の学校のスケジュール変更が含まれています))。EditText 内のテキストが文字列と一致するかどうかをアプリに確認させる方法 (contains() メソッドを使用) を見つけたので、あとはその Web サイトのすべてのテキストをストリング。しかし、方法がわかりません。または、ウェブサイトのテキストを文字列にダウンロードせずに、ウェブサイトに特定の単語が含まれているかどうかを確認できる方法があるでしょうか。
ありがとう!
(ところで、私は英語ではないので、言語関連の間違いを犯した場合はご容赦ください。)
@androiderコメントボックスにコードを投稿できないので、ここにあります:
package me.moop.mytwitter;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
import android.app.ProgressDialog;
public class MainActivity extends Activity {
Button mBtnCheck;
EditText mEtxtGroup;
ProgressDialog mProgressDialog;
TwitterUser mTwitterUser;
TextView mTxtv1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nicelayout3);
mBtnCheck = (Button) findViewById(R.id.btnCheck);
mEtxtGroup = (EditText) findViewById(R.id.etxtGroup);
mTxtv1 = (TextView) findViewById(R.id.textView1);
}
public void checkScheduleChange(View view){
if (view == mBtnCheck){
String group;
group = mEtxtGroup.getText().toString();
if (group.length() > 0){
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage("Bezig met checken voor roosterwijzigingen...");
mProgressDialog.show();
try
{
URL url = new URL("http://www.augustinianum.eu/roosterwijzigingen/14062012.pdf");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null){
mProgressDialog.dismiss();
if(str.contains(mEtxtGroup.getText().toString())){
Toast.makeText(this, "U hebt een roosterwijziging.", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(this, "U hebt geen roosterwijzigingen", Toast.LENGTH_LONG).show();
}
}
in.close();
} catch (MalformedURLException e) {
Toast.makeText(this, "Er is een fout opgetreden, probeer opniew.", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(this, "Er is een fout opgetreden, probeer opniew.", Toast.LENGTH_LONG).show();
}
}
else{
Toast.makeText(this, "Voer een klas in", Toast.LENGTH_LONG).show();
}
}
}
}
ボタンのプロパティは次のとおりです。
<Button
android:id="@+id/btnCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:clickable="true"
android:onClick="checkScheduleChange"
android:text="Check" >