私は非常に非常にnoobのAndroidプログラミングです。最近私はyts.argからAPIリンクを作成しようとしており、私のアプリケーションでデータを解析して、私のアプリで映画のリストを提示できるようにしようとしています。私はすべてを試しましたが、私はいつもこの例外を取得します。org.json.JSONException:値が見つかりませんでした.. 以下で私はすべてのplsを追加しています....私はスタックオーバーフローで新しいです。この活動から.. 私は私の断片呼び出しています:私は私のAPIを呼び出しています。このフラグメントからJSONデータが私のアプリに表示されません
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]);
}
}
}
を:
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();
}
}
}
私も映画のリストについては、ジェイソンのコードを追加してい:
https://yts.ag/api/v2/list_movies.json
それをexcatのJSONオブジェクト名を提供する必要が映画とデータから削除セミコロン
この
を交換してくださいJSONではなくJasonです – Jas
ジェイソンは誰ですか?彼のデータは何をしていますか? –
ハハ素敵な@AlexLogan ..すべての鍵の ":"文字を "データ"にする。 –