РЕШЕНО БОЛЬШОЕ СПАСИБО ВСЕМ
Хелле, и прежде всего спасибо, что нажали на мой вопрос. Я сделал приложение, которое получает json-файл погоды. Затем он анализирует этот файл JSON, чтобы получить погодные переменные, такие как температура и т. д. Он отображает эти переменные в textView. Проблема в том, что когда я нажимаю кнопку (на моем эмуляторе), он говорит: «К сожалению, (имя приложения) перестало работать». Ниже вы можете найти код, который я использовал для всего этого. Помощь будет оценена. Если вам нужны еще файлы, такие как activity_main.xml, strings.xml,... просто спросите.
Спасибо за помощь СПАСИБО ВСЕМ ЗА ПОМОЩЬ, Я ДУМАЮ, ЕСТЬ ЕЩЕ 3 ОШИБКИ, КОТОРЫЕ НУЖНО РЕШИТЬ, НО Я НЕ ПОНИМАЮ ЭТИ ЖУРНАЛЫ ОШИБОК, Я ТОЛЬКО НАЧАЛ ПРОГРАММУ, СПАСИБО ВСЕМ ЗА ПОМОЩЬ (ВЫ МОЖЕТЕ НАЙТИ ИХ ВНИЗУ СТАТЬИ
Основная активность.java:
package com.example.thelexapp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Random;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
try {
getURLforweather();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
if (location != null) {
TextView text = (TextView) findViewById(R.id.textView1);
text.setTextColor(Color.parseColor("#808080"));
double longitude = location.getLongitude();
double latitude = location.getLatitude();
String longitudestring = String.valueOf(longitude);
String latitudestring = String.valueOf(latitude);
String url = "http://api.worldweatheronline.com/free/v1/weather.ashx?q="
+ longitudestring
+ ","
+ latitudestring
+ "&format=json&num_of_days=1&key=hv3rd4u49qdmf6q3hp5apy6b";
parseJson(url);
String temp_C = null;
String windspeedKmph = null;
String weatherDesc = null;
TCWSKMPH(temp_C, windspeedKmph);
WD(weatherDesc);
}
}
public void parseJson (String url) {
DefainputStream = null;
String result = null;
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
in
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
result = sb.toString();
} catch (Exception e) {
storeJSONVariables(result);
}
public void
try {
JSONObject oneObject = jArrayCurrent.getJSONObject(i);
JSONArray jArrayWeatherDesc = jObject.getJSONArray("weatherDesc");
String temp_C = oneObject.getString("temp_C");
String windspeedKmph = oneObject.getString("windspeedKmph");
// Pulling items from the array
String weatherDesc = twoObject.getString("value");
WD(weatherDesc);
} catch (JSONException e) {
}
public void TCWSKMPH(String temp_C, String windspeedKmph) {
if(temp_C != null || windspeedKmph != null) {
RwindspeedKmph.nextInt(max - min + 1) + min;
temp_C = getString(a);
windspeedKmph = getString(b);
}
TextView temptext = (TextView)findViewById(R.id.temperature);
TextView sowtext = (TextView)findViewById(R.id.windspeed);
temptext.setText("TEMPERATURE: " + temp_C);
sowtext.setText("WINDSPEED: " + windspeedKmph);
}
public void WD(String weatherDesc) {
String descriptionofweather = weatherDesc;
Логкат:
03-01 11:57:40.760: E/AndroidRuntime(2471): at com.example.thelexapp.MainActivity.TCWSKMPH(MainActivity.java:190)
03-01 11:57:40.760: E/AndroidRuntime(2471): at com.example.thelexapp.MainActivity.getURLforweather(MainActivity.java:92)
03-01 11:57:40.760: E/AndroidRuntime(2471): at com.example.thelexapp.MainActivity$1.onClick(MainActivity.java:42)
Button
onclick(...)
? вы НАСТОЯЩИЙ ПРОГРАММИСТ. - person M D   schedule 01.03.2014if I press the button
какую кнопку вы нажимаете, пожалуйста, предоставьте как можно больше подробностей. - person ρяσѕρєя K   schedule 01.03.2014