Դաս 18 – Android: Date Picker

0

Android Date Picker-ը թույլատրում է ընտրել օրը, կախված օրից, ամսից և տարուց: Ֆունկցիոնալության համար android-տ տրամադրում է DatePicker և DatePickerDialog բաղադրիչներ:

Այս դասում մենք կցուցադրենք Date Picker-ի օգտագործումը  DatePickerDialog-ով: DatePickerDialog-ը պարզ դիալոգ է, որը ներառում է DatePicker:

DatePickerDialog ցուցադրելու համար, պետք է անցնեք DatePickerDialog id-ն showDialog(id_of_dialog) մեթոդի համար: Շարահյուսությունը հետևյալն է:

showDialog(999);

showDialog մեթոդը կիրառելու համար, մեկ այլ մեթոդ է ավտոմատ կերպով օգտագործվում՝ onCreateDialog: Շարահյուսությունը հետևյալն է:

@Override
protected Dialog onCreateDialog(int id) {
   // TODO Auto-generated method stub
   if (id == 999) {
      return new DatePickerDialog(this, myDateListener, year, month, day);
   }
   return null;
}

Վերջին քայլում պետք է գրանցվեք DatePickerDialog listener-ում և  օգտագործեք իր onDateSet մեթոդը: Այս  onDateSet մեթոդը ներառում է  թարմացված օրը, ամիսը և տարին: Շարահյուսությունը հետևյալն է:

private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {
   @Override
   public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
      // arg1 = year
      // arg2 = month
      // arg3 = day		
   }
};

set_date

Բացի օրվա ատրիբուտներից DatePicker օբյեկտը նույնպես գործածվում է այս ֆունկցիայում: Կարող եք օգտագործել DatePicker- հետևյալ մեթոդները կատարելու հետագա գործունեություն:

Sr.No Մեթոդ & Նկարագրություն
1 getDayOfMonth()

Այս մեթոդը տալիս է ընտրված ամսվա օրը:

2 getMonth()

Այս մեթոդը տալիս է ընտրված ամիսը:

3 getYear()

Այս մեթոդը տալիս է ընտրված տարին:

4 setMaxDate(long maxDate)

Այս մեթոդը տեղադրում է մաքսիմալ օրը, աջակցված  այս DatePicker-ով միլիվարկյաններով, մինչը Հունվարի 1-ը 1970 թվականի 00:00:00 getDefault() ժամանակային զոնայում:

5 setMinDate(long minDate)

Այս մեթոդը տեղադրում է մինիմալ օրը, աջակցված  այս DatePicker-ով միլիվարկյաններով, մինչը Հունվարի 1-ը 1970 թվականի 00:00:00 getDefault() ժամանակային զոնայում:

6 setSpinnersShown(boolean shown)

Այս մեթոդը տեղադրում է spinner-ները

7 updateDate(int year, int month, int dayOfMonth)

Այս մեթոդը թարմացնում է ներկա ժամանակը:

8 getCalendarView()

Այս մեթոդը վերադարձնում է օրացույցի view-ն:

9 getFirstDayOfWeek()

Այս մեթոդը վերադարձնում է շաբաթվա առաջին օրը:

Օրինակ

Կօգտագործեք Android studio ստեղծելու Android հավելված և անվանեք այն DatePicker, com.example.datepicker -ի փաթեթի ներքո:

Քայլեր Նկարագրություն
1 Կօգտագործեք Android studio ստեղծելու Android հավելված և անվանեք այն DatePicker, com.example.datepicker -ի փաթեթի ներքո:
2 Փոփոխեք src/MainActivity.java ֆայլը ավելացնելու անհրաժեշտ կոդը:
3 Փոփոխեք res/layout/activity_main.xml ֆայլը ավելացնելու XML բաղադրիչները:
4 Փոփոխեք res/values/string.xml ավելացնելու անհրաժեշտ լարային բաղադրիչները:
5 Միացրեք հավելվածը և ընտրեք Android սարք և տեղադրեք հավելվածը նրա վրա և հաստատեք տվյալները:

Հետևյալը փոփոխված գլխավոր գործունեության բովանդակությունն է src/com.example.datepicker/MainActivity.java.

package com.example.datepicker;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;

import android.os.Bundle;

import android.view.Menu;
import android.view.View;

import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
   private DatePicker datePicker;
   private Calendar calendar;
   private TextView dateView;
   private int year, month, day;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      dateView = (TextView) findViewById(R.id.textView3);
      calendar = Calendar.getInstance();
      year = calendar.get(Calendar.YEAR);
      
      month = calendar.get(Calendar.MONTH);
      day = calendar.get(Calendar.DAY_OF_MONTH);
      showDate(year, month+1, day);
   }

   @SuppressWarnings("deprecation")
   public void setDate(View view) {
      showDialog(999);
      Toast.makeText(getApplicationContext(), "ca", 
         Toast.LENGTH_SHORT)
      .show();
   }

   @Override
   protected Dialog onCreateDialog(int id) {
      // TODO Auto-generated method stub
      if (id == 999) {
         return new DatePickerDialog(this, 
            myDateListener, year, month, day);
      }
      return null;
   }

   private DatePickerDialog.OnDateSetListener myDateListener = new 
      DatePickerDialog.OnDateSetListener() {
      @Override
      public void onDateSet(DatePicker arg0, 
         int arg1, int arg2, int arg3) {
         // TODO Auto-generated method stub
         // arg1 = year
         // arg2 = month
         // arg3 = day
         showDate(arg1, arg2+1, arg3);
      }
   };

   private void showDate(int year, int month, int day) {
      dateView.setText(new StringBuilder().append(day).append("/")
      .append(month).append("/").append(year));
   }
}

Հետևյալը կլինի res/layout/activity_main.xml ֆայլի բովանդակությունը:

<?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"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="70dp"
      android:onClick="setDate"
      android:text="@string/date_button_set" />

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="24dp"
      android:text="@string/date_label_set"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/button1"
      android:layout_marginTop="66dp"
      android:layout_toLeftOf="@+id/button1"
      android:text="@string/date_view_set"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <TextView
      android:id="@+id/textView3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignRight="@+id/button1"
      android:layout_below="@+id/textView2"
      android:layout_marginTop="72dp"
      android:text="@string/date_selected"
      android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

Հետևյալը res/values/string.xml-ի բովանդակությունն է:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">DatePicker</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>
   <string name="date_label_set">Press the button to set the date</string>
   <string name="date_button_set">Set Date</string>
   <string name="date_view_set">The Date is: </string>
   <string name="date_selected"></string>
</resources>

Եկեք փորձենք միացնել DatePicker հավելվածը: Ենթադրում ենք միացրել եք Android Mobile սարքը համակարգչի հետ: Հավելվածը միացնելու համար միացրեք այն Android studio-ից, բացեք ձեր պրոյեկտներից մեկը և սեղմեք Run  կոճակին toolbar-ում: Մինչ հավելվածի միացնելը Android studio-ն կցուցադրի հետևյալ պատուհանը ընտրելու տարբերակ, որտեղ ցանկանում եք միացնել ձեր Android հավելվածը:

android_date_picker_1

Հիմա կարող եք տեսնել որ օրը տեղադրվել է պիտակի ներքևւմ: Հիմա կփոխենք օրը DatePickerDialog-ով, սեղմելով Set Date կոճակը: Սեղմելով կոճակը կտեսնեք հետյալ էկրանը:

android_date_picker_2

Հիմա դրեք պահանջված օրը և ժամը և սեղմեք Done կոճակը: Այս դիալոգը կհայտնվի և թարմացված ժամը կերևա էկրանին:

android_date_picker_3

 Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.