JSON Data Assest Folder से Use कैसे करे RecyclerView और CardView

0

 JSON Data  Assest Folder से  Use कैसे करे  RecyclerView और CardView Jason database for asset Folder

JSON Data  Assest Folder से  Use कैसे करे  RecyclerView और CardView के इस्तिमल से बहुत अससनी के साथ इस आर्टिकल मैं जानने को मिलेगा 



  1. Step____     Asset Folder Create 
  2. JSON File create  For Example     Example.json
{
  "userId": 1,
  "id": 1,
  "title": "Noorani",
  "completed": false
}



3.   activityMain.xml में Design करें RecyclerView के साथ 


 tools:context=".ActivityMain.xml"
  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity">

<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="horizontal"
android:id="@+id/recyclerView"/>

</LinearLayout>
4.   फिर एक Layout File Create करें for Example item.xml

 
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true">


<androidx.cardview.widget.CardView
android:id="@+id/cardView"
android:layout_width="300dp"
android:layout_height="550dp"
android:layout_gravity="center"
android:layout_margin="6dp"
android:layout_marginTop="50dp"
android:layout_marginBottom="175dp"
app:cardCornerRadius="15dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:id="@+id/noId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:text="1"
android:textColor="#008000"
android:textSize="40sp" />

<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:fontFamily="@font/aslam"
android:text="name"
android:textColor="#008000"
android:textSize="40sp" />

<TextView
android:id="@+id/email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="120sp"
android:fontFamily="@font/aslam"
android:text="email"
android:textColor="#008000"
android:textSize="40sp"
android:textStyle="bold" />

</LinearLayout>

</androidx.cardview.widget.CardView>

</androidx.constraintlayout.widget.ConstraintLayout>




 5. एक java class create करे MyViewClass.java


package com.foysaltech.prayertimes.namerecycler;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;

public class HelperAdapter extends RecyclerView.Adapter<HelperAdapter.MyViewClass> {

ArrayList<String> urdu;
ArrayList <String>english;
Context context;
public HelperAdapter(ArrayList<String> name, ArrayList<String> email, Context context)
 {
this.urdu = name;
this.english = email;
this.context=context;
}

@NonNull
@Override
public MyViewClass onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row,
parent, false);
MyViewClass myViewClass = new MyViewClass(view);
return myViewClass;
}

@Override
public void onBindViewHolder(@NonNull MyViewClass holder, int position) {

holder.urdu.setText(urdu.get(position));
holder.english.setText(english.get(position));

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Item Clicked", Toast.LENGTH_SHORT).show();
}
});
}

@Override
public int getItemCount() {
return urdu.size();
}

public class MyViewClass extends RecyclerView.ViewHolder{

TextView urdu;
TextView english;


public MyViewClass(@NonNull View itemView) {
super(itemView);
urdu=(TextView)itemView.findViewById(R.id.name);
english=(TextView)itemView.findViewById(R.id.email);
}
}
}
 MainActivity बनाए जिसमे आप layout को कॉल और नीचे बताई गई जावा कोड को फॉलो करें 

      MainActivity.java


package com.foysaltech.prayertimes.namerecycler;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
ArrayList<String>urdu=new ArrayList<>();
ArrayList<String>english=new ArrayList<>();
// ArrayList<String>urduMeaning=new ArrayList<>();
// ArrayList<String>englishMeaning=new ArrayList<>();
// ArrayList<String>englishExplanation=new ArrayList<>();



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

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplication()
,LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(linearLayoutManager);

try {
JSONObject jsonObject = new JSONObject(JsonDataFromAsset());

JSONArray jsonArray = jsonObject.getJSONArray("user");
for (int i=0;i<jsonArray.length();i++){
JSONObject userData=jsonArray.getJSONObject(i);
urdu.add(userData.getString("urdu"));
english.add(userData.getString("english"));

// urduMeaning.add(userData.getString("urduMeaning"));

// englishMeaning.add(userData.getString("englishMeaning"));
// englishExplanation.add(userData.getString("englishExplanation"));

}
} catch (JSONException e) {
e.printStackTrace();
}
HelperAdapter helperAdapter = new HelperAdapter(urdu,english,MainActivity.this);
recyclerView.setAdapter(helperAdapter);

}

private String JsonDataFromAsset() {
String json =null;
try {
InputStream inputStream=getAssets().open("user.json");
int sizeOffFile = inputStream.available();
byte[] bufferData =new byte[sizeOffFile];
inputStream.read(bufferData);
inputStream.close();
json=new String(bufferData,"UTF-8");
} catch (IOException e) {
e.printStackTrace();
return null;
}
return json;
}
}












एक टिप्पणी भेजें

0टिप्पणियाँ
एक टिप्पणी भेजें (0)
To Top