Tuesday, December 4, 2018

Android Rating Bar , Android WebView and Android SeekBar (Part -11)

                                                 

                    Android RatingBar

                ----------------------------------

 

আমরা এখন রেটিং বার নিয়ে কথা বলবো , রেটিং বার কিভাবে ব্যবহার করতে হয় ? সেটা দেখবো !! আমরা গুগল প্লে স্টর থেকে কোনো অ্যাপ ডাউনলোড দিলে , আমরা সেখানে সেই অ্যাপের রেটিং কিন্তু দেখতে পাই । ঠিক সেইরকম , রেটিং বার নিয়েই আমরা কাজ করবো। এটা সাধারণত , ইউজার থেকে রেটিং নিতে ব্যবহার করা হয় !! আর এটা , ডাবল নাম্বার রিটার্ন করে যেমন 2.0, 3.5, 4.0 !!
Android RatingBar তার রেটিং , স্টার এর মাধ্যমে ডিস্প্লে তে শো করাবে !! এটা সাধারনত ,
AbsSeekBar class. এর সাবক্লাস !! 

 
getRating()মেথোডের মাধ্যমে ,আমরা rating number রিটার্ন পাই , তো চলো আমরা একটা অ্যাপ্লিকেশন বানিয়ে ফেলি ----------

 আমরা প্রথমে লেয়াউট ফাইল দেখে নেই , 

<?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:gravity="center"    android:orientation="vertical">

    <Button 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:text="submit" 
 android:id="@+id/button"         
android:layout_marginTop="87dp" 
 android:layout_alignTop="@+id/ratingBar"         
android:layout_centerHorizontal="true" />

    <RatingBar 
 android:id="@+id/ratingBar" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginLeft="72dp"         
android:layout_centerVertical="true" 
 android:layout_centerHorizontal="true" />

</RelativeLayout>
 
 
এবার আমরা জাভা ফাইল দেখে নেই --------------
 
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    RatingBar ratingbar;
    Button button;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addListenerOnButtonClick();
    }
    public void addListenerOnButtonClick(){
        ratingbar=(RatingBar)findViewById(R.id.ratingBar);
        button=(Button)findViewById(R.id.button);
        //Performing action on Button Click   
 button.setOnClickListener(new View.OnClickListener(){

            @Override 
 public void onClick(View arg0) {
                //Getting the rating and displaying it on the toast
  String rating=String.valueOf(ratingbar.getRating());
                Toast.makeText(getApplicationContext(), rating, Toast.LENGTH_LONG).show();
            }

        });
    }
}  
 
 এবার রান করালেই , বিষয়টি আরো পরিষ্কার হবে , যে কিভাবে ? এটা কাজ করছে ?? 


                              

                               Android WebView

                     --------------------------------------------

 

 আমরা যদি , আমাদের এক্টিভিটি'তেই কোনো ওয়েব পেইজ এর কনটেন্ট শো করাতে চাই , অর্থাৎ কিছুটা ব্রাউজারের মতো কাজ করাতে চাই , তাহলে মাদের এই WebView ব্যবহার করতে হয় !!  আমরা বিভিন্নভাবে , এটা করাতে পারি --- আমরা যেভাবে মেথোড ইউজ করবো , সেই মেথোড  নিচে দিলাম 

 WebView mywebview = (WebView) findViewById(R.id.webView1); 

 mywebview.loadUrl("http://www.google.com/");

তো চলো , আমরা একটা অ্যাপ্লিকেশন বানিয়ে ফেলি 

 

<?xml version="1.0" encoding="utf-8"?><RelativeLayout 
 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"    >

    <WebView 
 
 android:id="@+id/google"         
android:layout_width="fill_parent" 
 android:layout_height="fill_parent" 
 android:layout_alignParentBottom="true" 
 android:layout_alignParentEnd="true" 
 android:layout_alignParentLeft="true" 
 android:layout_alignParentRight="true" 
 android:layout_alignParentStart="true"         
android:layout_alignParentTop="true" />

</RelativeLayout>
 
এবার , আমরা জাভা ফাইল দেখবো 
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {
    private WebView mywebview;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView mywebview = (WebView) findViewById(R.id.google);
        mywebview.setWebViewClient(new WebViewClient());
        mywebview.getSettings().setJavaScriptEnabled(true);
        mywebview.getSettings().setDomStorageEnabled(true);
        mywebview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
        mywebview.loadUrl("https://www.google.com");
    }
   
} 

এখনি , সবকিছু শেষ হয় নি , আমরা একটু নরমাল চিন্তা করলেই বুঝতে পারি যে এই ওয়েবভিউ ঠিক্টহাক তখনই চলবে , যখন আমাদের নেট এর প্রয়োজন হবে 
তাহলে আমাদের manifest ফাইল এ এই ইন্টারনেট ইউজ করার বেপারটা ইঙ্কলুড করতে হবে !!!! 
 
তাহলে , ঠিক  application অ্যাট্রিবিউট এর আগেই ম্যানিফেস্ট ফাইলে নীচের স্টেইটমেন্ট যোগ করে দেই 
 
<uses-permission android:name="android.permission.INTERNET"/>
 
ব্যাস এবার আমাদের , কাজ শেষ , এটা রান করালেই , তোমরা গুগলের সার্চ ইঞ্জিন পেয়ে যাবা , তারপর সেখানে সার্চ দিয়ে ইচ্ছেমত ব্রাউজারের মতো ব্যবহার করতে পারবা , আজ এইটুকুই !!  

 

                    Android SeekBar

----------------------------------------------------------------------------------------------------------------------------



 এটা এক ধরনের প্রোগ্রেসবার ,যেমন গান শোনার সময় , আমরা হাত দিয়েই , অনেক সময় গান কেটে দেই , বা মাঝ থেকে শুনি বা প্রথম থেকে শুনি , মানে ইচ্ছেমতো drag করতে পারি !! SeekBar আর RatingBar দুইটাই ,AbsSeekBar  এর সাবক্লাস !! তো চলো , একটা অ্যাপ্লিকেশন বানিয়ে দেখি , কিভাবে seekbar হ্যান্ডেল করতে হয় ?

 

activity_main.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     xmlns:app="http://schemas.android.com/apk/res-auto"  
  4.     xmlns:tools="http://schemas.android.com/tools"  
  5.     android:layout_width="match_parent"  
  6.     android:layout_height="match_parent"  
  7.     tools:context="example.javatpoint.com.seekbar.MainActivity">  
  8.   
  9.   
  10.     <SeekBar  
  11.         android:id="@+id/seekBar"  
  12.         android:layout_width="match_parent"  
  13.         android:layout_height="wrap_content"  
  14.         android:layout_marginEnd="8dp"  
  15.         android:layout_marginStart="8dp"  
  16.         android:layout_marginTop="372dp"  
  17.          />  
  18. </android.support.constraint.ConstraintLayout> 

 এবার জাভা ফাইল , দেখে নেই ---------

File: MainActivity.java
  1. package example.javatpoint.com.seekbar;  
  2.   
  3. import android.support.v7.app.AppCompatActivity;  
  4. import android.os.Bundle;  
  5. import android.widget.SeekBar;  
  6. import android.widget.Toast;  
  7.   
  8. public class MainActivity extends AppCompatActivity {  
  9.     SeekBar seekBar;  
  10.     @Override  
  11.     protected void onCreate(Bundle savedInstanceState) {  
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.activity_main);  
  14.   
  15.         seekBar=(SeekBar)findViewById(R.id.seekBar);  
  16.         seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {  
  17.             @Override  
  18.             public void onProgressChanged(SeekBar seekBar, int progress,  
  19.                                           boolean fromUser) {  
  20.                 Toast.makeText(getApplicationContext(),"seekbar progress: "+progress, Toast.LENGTH_SHORT).show();  
  21.             }  
  22.   
  23.             @Override  
  24.             public void onStartTrackingTouch(SeekBar seekBar) {  
  25.                 Toast.makeText(getApplicationContext(),"seekbar touch started!", Toast.LENGTH_SHORT).show();  
  26.             }  
  27.   
  28.             @Override  
  29.             public void onStopTrackingTouch(SeekBar seekBar) {  
  30.                 Toast.makeText(getApplicationContext(),"seekbar touch stopped!", Toast.LENGTH_SHORT).show();  
  31.             }  
  32.         });  
  33.     }  

  চলো , পিক দেখে পরীষ্কার হয়ে নেই --------


No comments:

Post a Comment