Saturday, 19 August 2017

Create Json Parser

class 1:
public class DescriptionBean {
     String title;
    String des;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDes() {
        return des;
    }

    public void setDes(String des) {
        this.des = des;
    }
}
class 2:

public class DetailActivity extends AppCompatActivity {


  
    JsonParser parser;
    TextView title,desc;
    ArrayList<DescriptionBean> list;
    int pos;
    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);

        parser=new JsonParser("description.json",DetailActivity.this);
        list=new ArrayList<>();
        list=parser.getDescription();
    // Toast.makeText(getApplicationContext(),"*****"+list.size(),Toast.LENGTH_LONG).show();
        pos=getIntent().getExtras().getInt("id");

        title=(TextView)findViewById(R.id.textViewHead);
        desc=(TextView)findViewById(R.id.textViewDetail);
Typeface typeface=Typeface.createFromAsset(getApplicationContext().getAssets(),"pallava.ttf")


        title.setTypeface(typeface,Typeface.BOLD);
        title.setText(Html.fromHtml(list.get(pos).getTitle()));

        desc.setTypeface(typeface,Typeface.BOLD);
        desc.setText(Html.fromHtml(list.get(pos).getDes()));


      //title.setText(list.get(pos).getTitle());        
//desc.setText(list.get(pos).getDes());

    }
}
class 3:
public class JsonParser {

    String fileName;
    Activity activity;
    JSONArray jsonArray;

    public JsonParser(String fileName, Activity activity) {
        this.fileName = fileName;
        this.activity = activity;
    }

    public ArrayList<String> getTitle(){
        ArrayList<String> list=new ArrayList<>();


        try {
            jsonArray =new JSONArray(loadJSONFromAsset());
            for(int i=0;i<jsonArray.length();i++){
                JSONObject object=jsonArray.getJSONObject(i);
                System.out.print("******"+object.get("title"));
                list.add(object.getString("title"));
            }

        } catch (JSONException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return list;

    }

    public ArrayList<DescriptionBean> getDescription(){

        ArrayList<DescriptionBean> list=new ArrayList<>();
        try {
            jsonArray=new JSONArray(loadJSONFromAsset());
            for(int i=0;i<jsonArray.length();i++){
                DescriptionBean bean=new DescriptionBean();
                JSONObject object=jsonArray.getJSONObject(i);
                bean.setTitle(object.getString("title"));
                bean.setDes(object.getString("description"));
                System.out.print("******"+object.get("title"));
                list.add(bean);
            }

        } catch (JSONException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        return list;

    }



    public String loadJSONFromAsset() throws IOException {
        String json = null;
        InputStream is = activity.getAssets().open(fileName);
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();
        json = new String(buffer, "UTF-8");
        return json;
    }
}
class 4:
public class MainActivity extends AppCompatActivity {

  
    JsonParser parser;
    ListView listView;



    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        listView=(ListView)findViewById(R.id.listview_head);
        titleShow();

    }

private void titleShow() {

    ArrayList<String> list = new ArrayList<>();
    parser = new JsonParser("description.json", MainActivity.this);
    list = parser.getTitle();
Typeface typeface=Typeface.createFromAsset(getApplicationContext().getAssets(),"pallava.ttf")

   System.out.print("******************"+list.size());

   // ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.row_head, list); 
  TitleAdapter adapter=new TitleAdapter(getApplicationContext(),R.layout.list,list);
    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override       
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            String itemValue = (String) listView.getItemAtPosition(position);
            Intent intent = new Intent(MainActivity.this, DetailActivity.class);
            intent.putExtra("id", position);
            startActivity(intent);
        }


    });

}}
class 5:
public class TitleAdapter extends ArrayAdapter<String> {

   ArrayList<String> list=new ArrayList<>();
public TitleAdapter
(@NonNull Context context, @LayoutRes int resource, ArrayList<String> list) {
        super(context, resource,list);
        this.list = list;
    }

    @Override    public int getCount() {
        return super.getCount();
    }


    @NonNull    @Override   
 public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {

        View view=convertView;
LayoutInflater inflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view=inflater.inflate(R.layout.list,null);
        TextView textViewTitle=(TextView)view.findViewById(R.id.textViewTitle);
        Typeface typeface=Typeface.createFromAsset(getContext().getAssets(),"pallava.ttf");

        textViewTitle.setTypeface(typeface,Typeface.BOLD);
        textViewTitle.setText(Html.fromHtml(list.get(position)));

        return view;
    }
}
class 6:
public class TittleBean {
public class TittleBean {

    String title;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

}

No comments:

Post a Comment

HOW TO CREATE CIRCLE IMAGE VIEW

Step 1: implementation 'de.hdodenhof:circleimageview:3.0.0' Step 2: <de.hdodenhof.circleimageview.CircleImageView xmlns:ap...