Skip to main content

Transport Layer Protocols

There are two fundamental protocols in the transport layer  1. TCP Transmission Control Protocol-- connection-oriented protocol 2. UDP User Datagram Protocol -- connectionless protocol Connection-oriented communication : establishes a logical (virtual) connection prior to sending data. Connectionless communication : sends data right away without establishing a logical connection Qn why do we have transport layer protocal?  IP provides a weak, but efficient service model (best-effort ) How should hosts send into the network?      i.)Flow Control      ii.) Too fast is bad; too slow is not efficient IP packets are addressed to a host           How to decide which application gets which packets?         NOTE TRASPORT LAYER IS RESPONSIBLE FOR PROCESS TO PROCESS DELIVERY PORTS port is a communication endpoints  Since there are many applications running on a co...

Simple Android RecyclerView example

 Start with an empty activity. You will perform the following tasks to add the RecyclerView. All you need to do is copy and paste the code in each section. Later you can customize it to fit your needs.

  • Add dependencies to gradle
  • Add the xml layout files for the activity and for the RecyclerView row
  • Make the RecyclerView adapter
  • Initialize the RecyclerView in your activity

Update Gradle dependencies

Make sure the following dependencies are in your app gradle.build file:

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'

Create activity layout

Add the RecyclerView to your xml layout.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvAnimals"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>

Create row layout

Each row in our RecyclerView is only going to have a single TextView. Create a new layout resource file.

recyclerview_row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="10dp">

    <TextView
        android:id="@+id/tvAnimalName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"/>

</LinearLayout>

Create the adapter

The RecyclerView needs an adapter to populate the views in each row with your data. Create a new java file.

MyRecyclerViewAdapter.java

public class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.ViewHolder> {

    private List<String> mData;
    private LayoutInflater mInflater;
    private ItemClickListener mClickListener;

    // data is passed into the constructor
    MyRecyclerViewAdapter(Context context, List<String> data) {
        this.mInflater = LayoutInflater.from(context);
        this.mData = data;
    }

    // inflates the row layout from xml when needed
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = mInflater.inflate(R.layout.recyclerview_row, parent, false);
        return new ViewHolder(view);
    }

    // binds the data to the TextView in each row
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        String animal = mData.get(position);
        holder.myTextView.setText(animal);
    }

    // total number of rows
    @Override
    public int getItemCount() {
        return mData.size();
    }


    // stores and recycles views as they are scrolled off screen
    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        TextView myTextView;

        ViewHolder(View itemView) {
            super(itemView);
            myTextView = itemView.findViewById(R.id.tvAnimalName);
            itemView.setOnClickListener(this);
        }

        @Override
        public void onClick(View view) {
            if (mClickListener != null) mClickListener.onItemClick(view, getAdapterPosition());
        }
    }
    

    // convenience method for getting data at click position
    String getItem(int id) {
        return mData.get(id);
    }

    // allows clicks events to be caught
    void setClickListener(ItemClickListener itemClickListener) {
        this.mClickListener = itemClickListener;
    }

    // parent activity will implement this method to respond to click events
    public interface ItemClickListener {
        void onItemClick(View view, int position);
    }
}

Notes

  • Although not strictly necessary, I included the functionality for listening for click events on the rows. This was available in the old ListViews and is a common need. You can remove this code if you don't need it.

Initialize RecyclerView in Activity

Add the following code to your main activity.

MainActivity.java

public class MainActivity extends AppCompatActivity implements MyRecyclerViewAdapter.ItemClickListener {

    MyRecyclerViewAdapter adapter;


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

        // data to populate the RecyclerView with
        ArrayList<String> animalNames = new ArrayList<>();
        animalNames.add("Horse");
        animalNames.add("Cow");
        animalNames.add("Camel");
        animalNames.add("Sheep");
        animalNames.add("Goat");

        // set up the RecyclerView
        RecyclerView recyclerView = findViewById(R.id.rvAnimals);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        adapter = new MyRecyclerViewAdapter(this, animalNames);
        adapter.setClickListener(this);
        recyclerView.setAdapter(adapter);
    }








    @Override
    public void onItemClick(View view, int position) {
        Toast.makeText(this, "You clicked " + adapter.getItem(position) + " on row number " + position, Toast.LENGTH_SHORT).show();
    }
}

Comments

Popular posts from this blog

computer tricks you must know in 2020

The top 3 Computer tricks  There are lots of hidden tricks present on the computer/laptop that are unknown to most of the users. Here I have written the top 14 computer tips and tricks [2020] to let you know all the hidden tricks that are present on your computer.   1. Clear Useless Temporary Data There are lots of temporary data present in your laptop/computer machine which should be cleared in some certain time. To clear the temporary data from your windows, click on the  windows logo  search  ‘run’  and open it. Now type  %temp%  and hit enter, there will be lots of useless folders and files you have to select and delete all the files and folders. Clearing temporary data will boost your Computer(PC) performance and free the hard drive space. 2. Play media into chrome browser Sometimes you don’t have any media player to play audios and videos. In this case, you can use your Chrome browser as a media player. To play audio or video s...

How USB Works

  Universal Serial Bus, or USB for short provides a single, standardized, easy to use way to connect devices to a computer. It uses a much higher data transfer rate than many common serial data formats. You can attach up to 127 individual devices to your computer using USB. USB can also supply enough power to smaller USB devices taking away the need to plug them into an external power source. This comes in handy for remote notebook useage. Some common examples of USB devices include: Printers Scanners Mice Keyboards Joysticks Digital cameras Webcams Speakers External hard drives If the device you are installing is new to the computer, Windows will auto detect it and asks for the driver disk if needed. If the device has already been installed, the computer will start using the device right away. USB devices can be connected and disconnected at any time making them hot swappable. Typical USB connectors have an A connector on one side and a B connector on the other. You can have other...

amazing tricks to learn 2020

10 hidden Google tricks we bet you didn’t know! Google has changed our lives forever, hasn’t it? Moreover, It’s kind of hard to imagine a world where Google does not exist… This Einstein of search engines is also very sneaky! Here are 10 Google tricks you need to try right away! We bet you are going to love these! 2.   Askew/Tilt When someone is trying to search something on google send them the askew link and watch the reaction. Askew/Tilt will tilt the google page and the user watching it for the first time will be shocked. Try it with your friends to see their reactions. 3.   Zerg Rush Search Zerg Rush and see your Google results disappearing one by one. The search will take you to a google page where you can see the alphabets erasing and falling all the results one by one. 4.   Blink HTML Go to google and search Blink HTML. You can see all the words blinking at a time. Try this! 5.   Party Like It’s 1998 If your friend is using a high-speed internet connecti...