小编典典

Android中的调用方法

java

我正在尝试调用我编写的方法。它只编译一行…

public class http extends Activity {

httpMethod();            //will not compile



public void httpMethod(){
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://site/api/");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

        String test = "hello";

        TextView myTextView = (TextView) findViewById(R.id.myTextView);
        myTextView.setText(test);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}    
}

我不是最好的Java专家,但我认为像这样调用该方法将得到响应。不显示“ Hello”,但是…

如何正确调用该方法?


阅读 448

收藏
2020-11-30

共1个答案

小编典典

编辑:毫无疑问,这个答案仅解决了为什么您遇到编译时错误。它 没有 解决您在Android中的哪个线程以及什么时间应该做什么。

我个人建议您暂时放下Android,在更简单的环境(例如控制台应用程序)中学习Java,然后在熟悉该语言后重新访问Android并了解Android开发的所有要求-
这显然是不仅仅是语言。


您试图直接在类中将方法作为语句调用。您不能这样做-它必须是构造函数,初始化程序块,其他方法或静态初始化程序的一部分。例如:

// TODO: Rename this class to comply with Java naming conventions
public class http extends Activity {
    // Constructor is able to call the method... or you could call
    // it from any other method, e.g. onCreate, onResume
    public http() {
        httpMethod();
    }

    public void httpMethod() {
        ....
    }
}

请注意,我 给出了此示例以向您显示有效的Java类。这 并不 意味着您实际上应该从构造函数中调用该方法。

2020-11-30