Sir ich bin sehr sehr noob in Android-Programmierung. vor kurzem versuche ich, api Link von yts.arg zu erstellen und zu versuchen, Daten in meiner Anwendung zu analysieren, so dass ich eine Liste von Filmen in meiner App präsentieren kann. Ich habe alles versucht, aber ich bekomme immer diese Ausnahme org.json.JSONException: Kein Wert gefunden .. in unten ich addiere alles pls Ich brauche Hilfe .... Ich bin neu im Stapel Überlauf Ich versuche mein Bestes zu fragen, eine Frage gd .. Aus dieser Tätigkeit i mein Fragment nenne:JSON-Daten werden nicht in meiner App angezeigt
package com.example.mehadi.pravashsirmat;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.app.NavUtils;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import it.neokree.materialtabs.MaterialTab;
import it.neokree.materialtabs.MaterialTabHost;
import it.neokree.materialtabs.MaterialTabListener;
public class econd extends AppCompatActivity implements MaterialTabListener {
Toolbar toolbar;
MaterialTabHost materialTabHost;
ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_econd);
toolbar = (Toolbar) findViewById(R.id.ecotoolbar);
setSupportActionBar(toolbar);
//getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
materialTabHost = (MaterialTabHost) findViewById(R.id.materialTabHost);
viewPager = (ViewPager) findViewById(R.id.viewpagerfreco);
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
materialTabHost.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < adapter.getCount(); i++) {
materialTabHost.addTab(materialTabHost.newTab().setIcon(adapter.geticon(i)).setTabListener(this));
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// NavUtils.navigateUpFromSameTask(this);
Intent intent=new Intent(this,MainActivity.class);
startActivity(intent);
finish();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onTabSelected(MaterialTab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabReselected(MaterialTab tab) {
}
@Override
public void onTabUnselected(MaterialTab tab) {
}
private class ViewPagerAdapter extends FragmentStatePagerAdapter {
public int[] pcons = {R.drawable.ic_account_circle_black_24dp1_user, R.drawable.ic_add_alert_black_24dp_alert, R.drawable.ic_home_black_24dp_home};
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
if (position == 0) {
fragment = new Fragment_a();
}
if (position == 1) {
fragment = new Fragment_b();
}
if (position == 2) {
fragment = new Fragment_c();
}
// Myfragment myfragment=new Myfragment();
// Myfragment myfragment=Myfragment.getInstance(position);
//myfragment.getInstance(position);
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
return getResources().getStringArray(R.array.tabs)[position];
}
public Drawable geticon(int position) {
return getResources().getDrawable(pcons[position]);
}
}
}
Von diesem Fragment ich meine api nenne:
package com.example.mehadi.pravashsirmat;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
* Created by MEHADI on 8/5/2016.
*/
public class Fragment_a extends Fragment {
TextView textView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View layout = inflater.inflate(R.layout.for_frag_a, container, false);
textView = (TextView) layout.findViewById(R.id.textView_fr_a);
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, "https://yts.ag/api/v2/list_movies.json",
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//Toast.makeText(getContext(), response.toString(), Toast.LENGTH_LONG).show();
//textView.setText(response.toString());
parseJasonresponse(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(request);
return layout;
}
public void parseJasonresponse(JSONObject response) {
if (response == null || response.length() == 0) {
return;
}
try {
StringBuffer data = new StringBuffer();
JSONObject arrayob = response.getJSONObject("data:");
JSONArray arrayobfrmovies = arrayob.getJSONArray("movies:");
for (int i = 0; i < arrayobfrmovies.length(); i++) {
JSONObject currentmovies =arrayobfrmovies.getJSONObject(i);
String Title = currentmovies.getString("title:");
data.append(Title + "\n");
}
Toast.makeText(getContext(), data.toString(), Toast.LENGTH_LONG).show();
} catch (JSONException e) {
//Toast.makeText(getContext(), , Toast.LENGTH_LONG).show();
textView.setText("Error=" + e);
e.printStackTrace();
}
}
}
i auch jason am Code für Filmliste hinzufügen:
https://yts.ag/api/v2/list_movies.json
Zunächst einmal ist es, zu schaffen, ist JSON nicht Jason. – Jas
Wer ist Jason und was machst du mit seinen Daten? –
Ha ha nice one @AlexLogan .. Entfernen Sie ":" Zeichen von allen Sie Schlüssel ist zB "Daten:" wird "Daten". –