Я действительно борюсь с этой ошибкой, я пробовал много вещей, но я думаю, что у меня не было достаточно знаний, чтобы исправить это ... Не могли бы вы помочь мне ??
Это мой класс
public class Profile_Page extends Activity {
TextView profile_user;
TextView profile_nombre;
TextView profile_email;
TextView profile_fuentes;
String id, email;
// Progress Dialog
private ProgressDialog pDialog;
// JSON Parser Class
JSONParser jsonParser = new JSONParser();
// URL De Información del Usuario
private static final String url_user_details = "http://example.com/usserdetails.php";
// JSON Node Names
private static final String TAG_SUCCESS = "success";
private static final String TAG_USER = "user";
private static final String TAG_ID = "id";
private static final String TAG_USERNAME = "usuario";
private static final String TAG_NAME = "nombre";
private static final String TAG_EMAIL = "email";
private static final String TAG_FOUNTAINS = "fuentes_visitadas";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile__page);
profile_user = findViewById(R.id.profile_user);
profile_nombre = findViewById(R.id.profile_name);
profile_email = findViewById(R.id.profile_email);
profile_fuentes = findViewById(R.id.profile_fuentes);
id = "1";
new GetUserDetails().execute();
}
В том же классе у меня есть метод Backgroundtask, который получает информацию из веб-службы PHP, я получаю правильные данные из базы данных, но когда я пытаюсь поместить их в переменную, чтобы изменить мое текстовое представление с информацией, я получаю ошибку .
/**
* Background Async Task to Get complete product details
* */
class GetUserDetails extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
}
protected String doInBackground(String... parans) {
// Check for success tag
int success;
try {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("id", id));
// getting product details by making HTTP request
// Note that product details url will use GET request
JSONObject json = jsonParser.makeHttpRequest(
url_user_details, "GET", params);
// check your log for json response
Log.d("Single Product Details", json.toString());
// json success tag
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// successfully received product details
JSONArray productObj = json
.getJSONArray(TAG_USER); // JSON Array
// get first product object from JSON Array
JSONObject product = productObj.getJSONObject(0);
// display product data in TextViews
profile_user.setText(product.getString(TAG_USERNAME));
profile_nombre.setText(product.getString(TAG_NAME));
profile_email.setText(product.getString(TAG_EMAIL));
profile_fuentes.setText(product.getString(TAG_FOUNTAINS));
}else{
// product with pid not found
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog once got all details
//pDialog.dismiss();
}
}
Поэтому, когда я запускаю приложение, как я сказал вам, я могу получить данные, но я получаю сообщение об ошибке, и приложение перестает работать.
Вот ошибка.
Спасибо. Кстати, я пытался найти людей с той же ошибкой, но не смог ее исправить.