Используйте jsonreader.setlenient (true), чтобы принять узорный json в строке 1 столбец 1 Путь $Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Используйте jsonreader.setlenient (true), чтобы принять узорный json в строке 1 столбец 1 Путь $

Сообщение Anonymous »

Что это за ошибка? Как я могу это исправить? Мое приложение работает, но не может загрузить данные. И это моя ошибка: используйте jsonreader.setlenient (true), чтобы принять узорный json в строке 1 столбец 1 Путь $ < /p>
Это мой фрагмент: < /p>

Код: Выделить всё

public class news extends Fragment {

private RecyclerView recyclerView;
private ArrayList data;
private DataAdapter adapter;
private View myFragmentView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

myFragmentView = inflater.inflate(R.layout.news, container, false);
initViews();
return myFragmentView;

}

private void initViews() {
recyclerView = (RecyclerView) myFragmentView.findViewById(R.id.card_recycler_view);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(layoutManager);
data = new ArrayList();
adapter = new DataAdapter(getActivity(), data);
recyclerView.setAdapter(adapter);

new Thread()
{
public void run()
{
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
loadJSON();
}
});

}
}
.start();
}

private void loadJSON() {
if (isNetworkConnected()){

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(interceptor)
.retryOnConnectionFailure(true)
.connectTimeout(15, TimeUnit.SECONDS)
.build();

Gson gson = new GsonBuilder()
.setLenient()
.create();

Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://www.memaraneha.ir/")
.client(client)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();

RequestInterface request = retrofit.create(RequestInterface.class);
Call call = request.getJSON();
final ProgressDialog progressDialog = new ProgressDialog(getActivity());
progressDialog.show();
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
progressDialog.dismiss();
JSONResponse jsonResponse = response.body();
data.addAll(Arrays.asList(jsonResponse.getAndroid()));
adapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call call, Throwable t) {
progressDialog.dismiss();
Log.d("Error", t.getMessage());
}
});
}
else {
Toast.makeText(getActivity().getApplicationContext(), "Internet is disconnected", Toast.LENGTH_LONG).show();}
}
private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
} else
return true;
}
}
< /code>
requestInterface: < /p>
public interface RequestInterface {

@GET("Erfan/news.php")
Call getJSON();
}

Как исправить? (Прочитайте ниже текст и найдите свою проблему) Если нет ничего плохого, то ошибка в основном поступила из вашего запрограммированного HTTP -запроса, также может быть, потому что ответ серверов не является JSON (в некоторых случаях ответ может быть HTML).


Подробнее здесь: https://stackoverflow.com/questions/399 ... umn-1-path
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»