android应用程序无法运行并显示以下错误
我在连接到本地主机时出错,请帮助我的代码是android应用程序无法运行并显示以下错误,android,Android,我在连接到本地主机时出错,请帮助我的代码是 public class MainActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ TextView resultView; HttpClient client; JSONObject json; String Dat; Button btn; InputStream is=n
public class MainActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
TextView resultView;
HttpClient client;
JSONObject json;
String Dat;
Button btn;
InputStream is=null;
EditText name,roll_no;
String result="";
StringBuilder sb=null;
JSONArray jArray;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
resultView = (TextView) findViewById(R.id.tv1);
submit();
btn.setOnClickListener(this);
}
public void onClick(View v){
parse();
}
private String submit() {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2:8081/onlineres/login");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection"+e.toString());
}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
return result;
}
public void parse(){
String roll,name;
try{
jArray = new JSONArray(result);
JSONObject json_data=null;
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
name=json_data.getString("Name");
roll =json_data.getString("Roll_no");
}
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No City Found" ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
}
请帮我解决这个问题,我猜问题是你调用了
btn.setOnClickListener(这个)代码>
在您的活动中,我没有看到“btn”已初始化。您的btn
变量尚未初始化。在添加onclick侦听器之前,必须从视图中获取它
btn = (Button) findViewById(R.id.btnID);
这需要是你的按钮的id,所以只要用你的按钮id替换它就行了
编辑:忘记播放:)对不起。您没有初始化按钮。将btn初始化为:
........
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn= (Button) findViewById(R.id.Your_button_id);
......
如果按钮位于布局XML中,请查看其他响应。它应该与您在onCreate()中初始化的resultView文本视图非常相似。非常感谢,伙计,它工作得很好。小错误很糟糕,谢谢,我能帮上忙。如果这有效并解决了问题,请接受答案,以便将来帮助他人。
........
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn= (Button) findViewById(R.id.Your_button_id);
......