Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓:互联网在模拟器中工作,但在我的手机上不工作_Java_Android_Android Emulator - Fatal编程技术网

Java 安卓:互联网在模拟器中工作,但在我的手机上不工作

Java 安卓:互联网在模拟器中工作,但在我的手机上不工作,java,android,android-emulator,Java,Android,Android Emulator,我正在制作一个应用程序,它可以读取网站的某个部分并将其发布到屏幕上。该应用程序目前在我的android emulator中运行,但当我将其传输到galaxy S2时,它似乎根本无法访问该网站 package com.example.beam; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.n

我正在制作一个应用程序,它可以读取网站的某个部分并将其发布到屏幕上。该应用程序目前在我的android emulator中运行,但当我将其传输到galaxy S2时,它似乎根本无法访问该网站

package com.example.beam;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;

import org.apache.http.HttpResponse;
import org.apache.http.client.*;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class MainActivity extends Activity {

String current = null;
Button check;
TextView text;
TextView url;
String[] lines = new String[12];

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    check = (Button) findViewById(R.id.checkstatus);
    text = (TextView) findViewById(R.id.textView1);
    url = (TextView) findViewById(R.id.url);

    String[] lines = new String[12];

    check.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            // Attempt to the read the source from a website.
            String bodyHtml = "null";
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet httpGet = new       HttpGet("http://www.spring8.or.jp/ext/ja/status/text.html");
            ResponseHandler<String> resHandler = new BasicResponseHandler();

            try {
                bodyHtml = httpClient.execute(httpGet, resHandler);

            } catch (Exception e) {
                e.printStackTrace();
            }
            double current = 0;
            try{
            String derp = bodyHtml.substring(bodyHtml.lastIndexOf("mA") - 5, bodyHtml.lastIndexOf("mA"));
            current = Double.parseDouble(derp);
            }
            catch(Exception e){

            }
            url.setText(current + " mA");


        }
    });
}
package com.example.beam;
导入java.io.BufferedReader;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.net.URL;
导入java.net.URLConnection;
导入java.util.Scanner;
导入org.apache.http.HttpResponse;
导入org.apache.http.client.*;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.impl.client.BasicResponseHandler;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.http.protocol.BasicHttpContext;
导入org.apache.http.protocol.HttpContext;
导入org.apache.http.util.EntityUtils;
导入android.os.Bundle;
导入android.app.Activity;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
导入android.support.v4.app.NavUtils;
公共类MainActivity扩展了活动{
字符串电流=空;
按钮检查;
文本查看文本;
文本视图url;
字符串[]行=新字符串[12];
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
检查=(按钮)findViewById(R.id.checkstatus);
text=(TextView)findViewById(R.id.textView1);
url=(TextView)findViewById(R.id.url);
字符串[]行=新字符串[12];
check.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//TODO自动生成的方法存根
//尝试从网站读取源代码。
字符串bodyHtml=“null”;
DefaultHttpClient httpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(“http://www.spring8.or.jp/ext/ja/status/text.html");
ResponseHandler resHandler=new BasicResponseHandler();
试一试{
bodyHtml=httpClient.execute(httpGet,resHandler);
}捕获(例外e){
e、 printStackTrace();
}
双电流=0;
试一试{
字符串derp=bodyHtml.substring(bodyHtml.lastIndexOf(“mA”)-5,bodyHtml.lastIndexOf(“mA”);
电流=Double.parseDouble(derp);
}
捕获(例外e){
}
url.setText(当前+“mA”);
}
});
}
}

抱歉,如果编码有点糟糕和混乱,我对这一切都很陌生。如何解决此问题?多谢各位

另外,我很确定我已经在清单中正确设置了权限。

试试这个

将UI工作保持在UI线程上和非UI工作保持在非UI线程上是一种很好的做法,但这在Honeycomandroid版本发布后成为了一条法律。。。。这可能是导致错误的原因

因此,您可以执行以下操作

  • 在单独的线程上执行Http,然后使用处理程序将值放置在UI上,处理程序保留创建该值的线程的引用

  • 您可以使用专门为android设计的AsyncTask在 UI和非UI线程

  • 注:

    请检查AndroidManifest中的Internet权限,尽管我知道你已经这样做了,因为应用程序在模拟器上运行。。。。但仍然..再次检查没有什么害处。

    试试这个

    将UI工作保持在UI线程上和非UI工作保持在非UI线程上是一种很好的做法,但这在Honeycomandroid版本发布后成为了一条法律。。。。这可能是导致错误的原因

    因此,您可以执行以下操作

  • 在单独的线程上执行Http,然后使用处理程序将值放置在UI上,处理程序保留创建该值的线程的引用

  • 您可以使用专门为android设计的AsyncTask在 UI和非UI线程

  • 注:


    请检查AndroidManifest中的Internet权限,尽管我知道你已经这样做了,因为应用程序在模拟器上运行。。。。但还是..再次检查没有什么坏处。

    谢谢,我在网上找到了一个使用AsyncTask的示例,它很有效!谢谢,我在网上找到了一个使用AsyncTask的例子,它很有效!