0

我正在使用 Eclipse (Android Developer Tools) 这个页面给了我两个错误,有人可以解释一下该怎么做吗?

多谢!

package com.example.myproject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.BufferedHttpEntity;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class InternetTest extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_internet_test);

        // Internet test

        HttpGet httppost = new HttpGet("http://myurl.com/test.txt");

        HttpResponse response = httpclient.execute(httppost);
        HttpEntity ht = response.getEntity();

        BufferedHttpEntity buf = new BufferedHttpEntity(ht);

        InputStream is = buf.getContent();


        BufferedReader r = new BufferedReader(new InputStreamReader(is));

        StringBuilder total = new StringBuilder();
        String line;
        while ((line = r.readLine()) != null) {
            total.append(line + "\n");
        }

        TextView.setText(total);

        // test done
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_internetseiten_test, menu);
        return true;
    }

}

错误:

“httpclient 无法解析”

“无法从 TextView 类型对非静态方法 setText(CharSequence) 进行静态引用”

我导入了外部罐子(这些:http ://hc.apache.org/downloads.cgi )

谢谢!

4

2 回答 2

0

第一个错误是因为您从未指定是什么而引起httpClient的。

    HttpClient httpClient = new DefaultHttpClient(params);
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity ht = response.getEntity();

第二个问题是因为您正在对非静态函数进行静态调用。您必须告诉系统要将文本设置为哪个 TextView。不知道它的名字,我只是大致告诉你它是如何完成的。

((TextView) findViewById(R.id.someTextBox)).setText(total);
于 2012-12-07T12:52:12.150 回答
0

在使用它之前初始化httpClient..

HttpParams params = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(params, 1000 * 60);
        HttpConnectionParams.setSoTimeout(params, 0);
HttpClient httpClient = new DefaultHttpClient(params);

并从布局中获取文本视图并设置它

((TextView) findViewById(R.id.text_view)).setText(total);
于 2012-12-07T12:51:23.523 回答