Skip to main content

Getting Data from Local JSON and set Json Data into a TextView which is to be swipable(View Pager) in Android

Create assets folder and put json.json file.

Inside of an Activity:


ViewPager myPager = null;
int count1 = 0;
Timer timer;
ArrayList<String> title1;
ArrayList<String> title2;
JSONArray jsonArray;
JSONObject jsonObject;
String m;
String movie;
String category;
InputStream inputstream;
BufferedReader reader;
int pager_position;


callingJsonFunction();
getData();
setTime_ToSlide();

private void callingJsonFunction() {

    try {
        inputstream = getResources().getAssets().open("json.json");
        reader = new BufferedReader(new InputStreamReader(inputstream));
        m = reader.toString();
        StringBuilder total = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            total.append(line);
        }
        m = total.toString();
    } catch (IOException ex) {
        Toast.makeText(MainActivity.this, ex.getMessage().toString(), Toast.LENGTH_LONG).show();
    }
}


private void 
getData() {

    title1 = new ArrayList<>();
    title2 = new ArrayList<>();
    try {
        jsonObject = new JSONObject(m);
        jsonArray = jsonObject.optJSONArray("Quotes");
        int arraylength = jsonArray.length();
        Log.e("Json Length", String.valueOf(arraylength));
        for (int i = 0; i < arraylength; i++) {
            JSONObject jsonChildNode = jsonArray.getJSONObject(i);
            movie = jsonChildNode.optString("Quote").toString();
            category = jsonChildNode.optString("Author").toString();
            title1.add(movie);
            title2.add(category);
        }
    } catch (JSONException e) {
        Toast.makeText(MainActivity.this, e.getMessage().toString(), Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }
}


    private void 
setTime_ToSlide() {

        TextSlideShowAdapter adapter = new TextSlideShowAdapter(MainActivity.this, title1, title2);
        myPager = (ViewPager) findViewById(R.id.reviewpager);
        myPager.setAdapter(adapter);
//        myPager.setCurrentItem(0);
//        Log.e("Marysudha", "PagerPosition" + pager_position);


        timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        if (count1 <= 116) {
                            myPager.setCurrentItem(count1);
                            pager_position = myPager.getCurrentItem();
                            count1++;
                        } else {
                            count1 = 0;
                            myPager.setCurrentItem(count1);
                        }
                    }
                });
            }
        }, 500, 7000);
    }


json.json 


{
  "Quotes":[
    {
      "Quote":"Let your heart,do not be troubled",
      "Author":" xxxxxxx"
    },
    {
      "Quote":"The Lord is my Shepherd",
      "Author":"Psalm 23:1"
    },
    {
      "Quote":"The will show them wonders",
      "Author":"xxxxxxx"
    }
  ]
}

{.........}  ---> Json Object
[.........] ----> Json Array






Comments

Popular posts from this blog

SearchView using CursorAdapter

Here  MYFRAGMENT is nothing but name of  a Fragment @Override public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {     inflater.inflate(R.menu.popup, menu);     final SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);     final SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();     searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));     searchView.setSubmitButtonEnabled(false);     searchView.setIconifiedByDefault(true);     //       searchView.setOnCloseListener(this);     SearchView. OnQueryTextListener textChangeListener = new SearchView. OnQueryTextListener () {         @Override         public boolean onQueryTextSubmit(String query) {             cartAdapt...

Fragment

To enable/disable menu items in Different fragments in same Activity: @Override public void onCreate(@Nullable Bundle savedInstanceState)  {     super.onCreate(savedInstanceState);     setHasOptionsMenu(true);  } @Override public void onPrepareOptionsMenu(Menu menu) {     //Disable the SearchView which is enabled in Product Chart     menu.findItem(R.id.action_search).setVisible(false);   // true to enable } ====================================================

To make a ListView to be scrolled inside of ScrollView

To make a ListView to be scrolled inside of ScrollView: lv . setOnTouchListener ( new ListView . OnTouchListener () { @Override public boolean onTouch ( View v , MotionEvent event ) { int action = event . getAction (); switch ( action ) { case MotionEvent . ACTION_DOWN : // Disallow ScrollView to intercept touch events. v . getParent (). requestDisallowInterceptTouchEvent ( true ); break ; case MotionEvent . ACTION_UP : // Allow ScrollView to intercept touch events. v . getParent (). requestDisallowInterceptTouchEvent ( false ); break ; } // Handle ListView touch events. v . onTouchEvent ( event ); return true ; } }); Refer: http://stackoverflow.com/questions/6210895/listview-inside-scrollview-is-not-scrolling-on-android