我正在尝试调用我编写的方法。它只编译一行…
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”,但是…
如何正确调用该方法?
编辑:毫无疑问,这个答案仅解决了为什么您遇到编译时错误。它 没有 解决您在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类。这 并不 意味着您实际上应该从构造函数中调用该方法。