我正在尝试调用我编写的方法。它编译除了一行...
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 专家,但我认为像这样调用方法会得到响应。然而,“你好”没有显示......
如何正确调用该方法?
最佳答案
编辑:为了不让任何人怀疑,这个答案只解决了为什么你会收到编译时错误。它不解决您应该在 Android 中的哪个线程和什么时间做什么。
我个人建议您暂时放下 Android,在更简单的环境(例如控制台应用程序)中学习 Java,然后当您对这门语言感到满意时,重新访问 Android 并学习 Android 开发的所有要求 -这显然不仅仅是语言。
您正试图在您的类中直接将方法作为语句调用。你不能那样做——它必须是构造函数、初始化程序 block 、其他方法或静态初始化程序的一部分。例如:
// 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 类。它并不意味着您实际上应该从构造函数中调用该方法。
关于java - Android中的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11401385/