当我在 Android 上使用此 java 方法获取 Html 源代码时出现错误?
I'vgot a error when i getting Html Source with using this java method on android?
我有一个 android 项目,我必须使用 url 获取 html 源代码。
但是当我到达 response = Client.execute(Get,Handler);
行时,应用程序是 stopping/crashing。我找不到任何解决方案,我需要一些帮助。谢谢..
我正在使用此代码:
public String getHtml(String Link) {
HttpClient Client = new DefaultHttpClient();
HttpGet Get = new HttpGet(Link);
String response = "";
try {
ResponseHandler<String> Handler = new BasicResponseHandler();
response = Client.execute(Get,Handler); // When I give breakpoint here I see
// the problem here.. And when I
// arrive this line app is stopping
// on the phone or emulator.
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
public void Getir(View v) {
TextView textt = (TextView)findViewById(R.id.gosterici);
textt.setText(getHtml("http://www.google.com"));
}
日志猫; (抱歉复杂)
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 11344: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 11350: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 9038: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 364: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 386: Landroid/content/res/TypedArray;.getType (I)I
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
01-04 23:57:49.108 19334-19334/com.example.cic.htmlreadmrk01 D/Activity﹕ #1 setTransGradationModeColor false
01-04 23:57:49.153 19334-19334/com.example.cic.htmlreadmrk01 I/﹕ PLATFORM VERSION : JB-MR-2
01-04 23:57:49.163 19334-19334/com.example.cic.htmlreadmrk01 I/HWUI﹕ EGLImpl-HWUI Protected EGL context created
01-04 23:57:49.183 19334-19334/com.example.cic.htmlreadmrk01 D/OpenGLRenderer﹕ Enabling debug mode 0
01-04 23:58:04.118 19334-19334/com.example.cic.htmlreadmrk01 D/AndroidRuntime﹕ Shutting down VM
01-04 23:58:04.118 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41812c08)
01-04 23:58:04.123 19334-19334/com.example.cic.htmlreadmrk01 E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.cic.htmlreadmrk01, PID: 19334
java.lang.IllegalStateException: Could not find a method Husker(View) in the activity class com.example.cic.htmlreadmrk01.MainActivity for onClick handler on view class android.widget.Button with id 'button'
at android.view.View.onClick(View.java:3985)
at android.view.View.performClick(View.java:4752)
at android.view.View$PerformClick.run(View.java:19561)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: Husker [class android.view.View]
at java.lang.Class.getConstructorOrMethod(Class.java:472)
at java.lang.Class.getMethod(Class.java:857)
at android.view.View.onClick(View.java:3978)
at android.view.View.performClick(View.java:4752)
at android.view.View$PerformClick.run(View.java:19561)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
01-04 23:58:06.558 19334-19334/com.example.cic.htmlreadmrk01 I/Process﹕ Sending signal. PID: 19334 SIG: 9
是的,我找到了解决办法。
代码;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String resp = "";
try {
resp = new AsyncTaskClass().execute().get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
TextView txt = (TextView)findViewById(R.id.emre);
txt.setText(resp);
}
class AsyncTaskClass extends AsyncTask<String, String, String> {
private ProgressDialog progressDialog = null;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("Working..");
progressDialog.show();
}
@Override
protected String doInBackground(String... strings) {
String resString = "";
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.google.com");
try {
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line+ "\n");
}
resString = sb.toString();
}
catch (Exception e)
{
e.printStackTrace();
}
return resString;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
progressDialog.hide();
}
}
}
我有一个 android 项目,我必须使用 url 获取 html 源代码。
但是当我到达 response = Client.execute(Get,Handler);
行时,应用程序是 stopping/crashing。我找不到任何解决方案,我需要一些帮助。谢谢..
我正在使用此代码:
public String getHtml(String Link) {
HttpClient Client = new DefaultHttpClient();
HttpGet Get = new HttpGet(Link);
String response = "";
try {
ResponseHandler<String> Handler = new BasicResponseHandler();
response = Client.execute(Get,Handler); // When I give breakpoint here I see
// the problem here.. And when I
// arrive this line app is stopping
// on the phone or emulator.
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
public void Getir(View v) {
TextView textt = (TextView)findViewById(R.id.gosterici);
textt.setText(getHtml("http://www.google.com"));
}
日志猫; (抱歉复杂)
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 11344: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 11350: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 9038: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
01-04 23:57:49.043 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 364: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ VFY: unable to resolve virtual method 386: Landroid/content/res/TypedArray;.getType (I)I
01-04 23:57:49.073 19334-19334/com.example.cic.htmlreadmrk01 D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
01-04 23:57:49.108 19334-19334/com.example.cic.htmlreadmrk01 D/Activity﹕ #1 setTransGradationModeColor false
01-04 23:57:49.153 19334-19334/com.example.cic.htmlreadmrk01 I/﹕ PLATFORM VERSION : JB-MR-2
01-04 23:57:49.163 19334-19334/com.example.cic.htmlreadmrk01 I/HWUI﹕ EGLImpl-HWUI Protected EGL context created
01-04 23:57:49.183 19334-19334/com.example.cic.htmlreadmrk01 D/OpenGLRenderer﹕ Enabling debug mode 0
01-04 23:58:04.118 19334-19334/com.example.cic.htmlreadmrk01 D/AndroidRuntime﹕ Shutting down VM
01-04 23:58:04.118 19334-19334/com.example.cic.htmlreadmrk01 W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41812c08)
01-04 23:58:04.123 19334-19334/com.example.cic.htmlreadmrk01 E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.cic.htmlreadmrk01, PID: 19334
java.lang.IllegalStateException: Could not find a method Husker(View) in the activity class com.example.cic.htmlreadmrk01.MainActivity for onClick handler on view class android.widget.Button with id 'button'
at android.view.View.onClick(View.java:3985)
at android.view.View.performClick(View.java:4752)
at android.view.View$PerformClick.run(View.java:19561)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: Husker [class android.view.View]
at java.lang.Class.getConstructorOrMethod(Class.java:472)
at java.lang.Class.getMethod(Class.java:857)
at android.view.View.onClick(View.java:3978)
at android.view.View.performClick(View.java:4752)
at android.view.View$PerformClick.run(View.java:19561)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
01-04 23:58:06.558 19334-19334/com.example.cic.htmlreadmrk01 I/Process﹕ Sending signal. PID: 19334 SIG: 9
是的,我找到了解决办法。
代码;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String resp = "";
try {
resp = new AsyncTaskClass().execute().get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
TextView txt = (TextView)findViewById(R.id.emre);
txt.setText(resp);
}
class AsyncTaskClass extends AsyncTask<String, String, String> {
private ProgressDialog progressDialog = null;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("Working..");
progressDialog.show();
}
@Override
protected String doInBackground(String... strings) {
String resString = "";
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.google.com");
try {
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line+ "\n");
}
resString = sb.toString();
}
catch (Exception e)
{
e.printStackTrace();
}
return resString;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
progressDialog.hide();
}
}
}