Tadbirlarni rejalashtiruvchi ilova - foydalanuvchilarga to‘ylar, partiyalar va uchrashuvlar kabi tadbirlarni rejalashtirish va tashkil etishga yordam beradigan ilovani loyihalash va ishlab chiqish

Mavzu:   Tadbirlarni rejalashtiruvchi ilova - foydalanuvchilarga to'ylar, partiyalar
va uchrashuvlar kabi tadbirlarni rejalashtirish va tashkil etishga yordam beradigan
ilovani loyihalash va ishlab chiqish
Reja:
Kirish.
1. Ilova haqida.
2. Ilovaning tuzilishi.
3. Ilovani kodi.
Xulosa 
Foydalanilgan adabiyotlar ro’yxati Kirish
Tadbirlarni   rejalashtiruvchi   ilova   -foydalanuvchilarga   daromadlari   va
xarajatlarini   kuzatib,   byudjetni   rejalashtirishga   yordam   beradigan   ilovani   loyihalash
va   ishlab   chiqish.-   bu   qo'lda   juda   kam   yoki   hech   qanday   aralashuvsiz   jismoniy
shaxslar   yoki   iste'molchilar   guruhlariga   matnli   xabarlarni   avtomatik   ishga   tushirish
yoki yuborish.   Ular oldindan yozilgan, avtomatik ravishda rejalashtirilgan va ma'lum
vaqt   va   sanada   qabul   qiluvchiga   yuboriladi.   Bu   kompaniyaning   kontaktlari   bilan   o'z
vaqtida va shaxsiylashtirilgan aloqani yaratadi.
Byudjetni   boshqarish   begona   emas   va   ko'proq   kompaniyalar   orasida   tobora
ommalashib   bormoqda,   chunki   bu   ularga   matnli   xabarlarni   oldindan   belgilangan
vaqtda   yuborishni   rejalashtirish   orqali   vaqtni   tejash   imkonini   beradi.   Uning
yordamida   kompaniyalar   reklama   aktsiyalari,   maxsus   takliflar,   yangilanishlar,
ogohlantirishlar   va   sotib   olingan   mahsulot   ma'lumotlarini   xaridorlarni   harakatga
ilhomlantirishi mumkin.   Matnli xabar almashish platformalari, shuningdek, ommaviy
Byudjet   kampaniyalari   uchun   rejalashtirish,   tomchilatib   yuborish   yoki   avtomatik
javobni ishga tushirish kabi turli xil avtomatlashtirish usullarini taqdim etadi.
 Byudjetni   boshqarishdan   foydalanishi   kerak   bo'lgan   sohalar :   Byudjetni
boshqarish butun dunyo bo'ylab ko'plab sohalarda ajoyib natijalarni berdi.   Sizning
kompaniyangiz   mahsulot   yoki   xizmatni   sotayotgan   ekan,   siz   marketing
strategiyasiga   Byudjetni   qo'shishdan   foyda   olishingiz   mumkin   deb   taxmin   qilish
xavfsiz.   Ya'ni, ushbu o'ziga xos tarmoqlar Byudjetni boshqarishdan eng ko'p foyda
ko'radi:
 Elektron   tijorat   :   Bu   yerda   ajablanarli   joyi   yo'q,   chunki   ko'plab   onlayn
savdogarlar   SMS   avtomatlashtirishni   oson   amalga   oshirish   tufayli   ajoyib
natijalarga   erishdilar.   Elektron   tijorat   kompaniyalari   e-pochta   marketingi   bilan
birgalikda   tashlab   qo'yilgan   aravalarni   tiklash,   o'zaro   sotish,   sotish,   mijozlar
xabarlariga   javob   berish,   savdoni   rag'batlantirish,   eksklyuziv   takliflarni   taklif
qilish, sharhlar olish va boshqalar uchun kuchli vositalarga ega.  Ko'chmas   mulk   :   Ko'chmas   mulk   kompaniyalari   xaridorlarni   ochiq   uylar,
namoyishlar,   ko'chmas   mulk   sotuvi   va   boshqa   ko'p   narsalar   haqida   xabardor   qilish
uchun   SMS   avtomatizatsiyasidan   foydalanishlari   mumkin   .   Tomchilatib   yuborilgan
SMS   kampaniyasi   mijozlarni   rieltorlar   bilan   bog‘lashi   va   istiqbollilarga   eslatmalar
yuborishi mumkin.
 Restoranlar   :   Yuqorida   aytib   o'tilganidek,   SMS   avtomatizatsiyasi
buyurtmalarni   kuzatib   borish   va   mijozlar   bilan   menyu   elementlari,   haftalik   maxsus
takliflar  yoki  vaqt  bilan bog'liq aksiyalar  haqida  muloqot  qilish  uchun oson vositani
taklif etadi.
 Sport   zallari   :   Sport   zali   va   fitnes   klublari   SMS   avtomatlashtirish   orqali
mijozlarni kuzatib borishlari va ularni tekshirishlari mumkin.   Bundan tashqari, SMSni
avtomatlashtirish mijozlarni a'zolik obunalarini yangilashga undashi mumkin.   Sanoat
pandemiyadan katta zarar ko'rdi, ammo onlayn va virtual o'qitish mashhurlik darajasi
oshib bormoqda.
 Ta'lim   :   Ko'pgina   maktablar   o'quvchilar   va   ota-onalar   bilan   bog'lanish   yoki
bayramlar, favqulodda vaziyatlar, uchrashuvlar haqida eslatmalar, moliyaviy yordam
dasturlari   va   hokazolar   haqida   muloqot   qilish   uchun   SMS   avtomatlashtirishdan
foydalanadi. Onlayn maktablar topshiriqlar va boshqa zarur ma'lumotlar haqida SMS
eslatmalarini yuborishi mumkin.
 Salon   va   salomatlik   :   Salon   egalari   sekin   kunlarda   mijozlarga   chegirmalarni
rag'batlantirishlari,   uchrashuv   haqida   eslatmalarni   yuborishlari   va   bir   martalik
foydalanuvchilarga keyingi xabarlarni yuborishlari mumkin. 1. Ilova haqida.
Oddiy qilib aytganda, avtomatlashtirilgan Byudjet-xabarlar - bu platformalar bir
vaqtning o'zida bir yoki bir nechta oluvchilarga yuboradigan rejalashtirilgan matnlar.
Avtomatik   matnli   xabarlar   sotuvchilarga   Byudjet   reklamalarni   oldindan
rejalashtirish  imkonini  beradi  . Bu ularning vaqtini  ancha tejaydi  va ishini  yaxshiroq
tashkil   etishga   yordam   beradi.   Bundan   tashqari,   avtomatik   matnli   xabarlar   har   doim
sotuvchilarni   bir   necha   qadam   oldinga   qo'yadi.   Ular   o'zlarining   rejalarini   oldindan
bilishadi   va   biron   bir   voqea   sodir   bo'lgan   taqdirda   ular   tezroq   harakat   qilishlari
mumkin.
Avtomatik matnli xabarlarni qanday yuborish kerak
Siz   shunchaki   ro'yxatdan   o'tish   va   balansingizga   pul   qo'yish   orqali   portalimiz
orqali   avtomatlashtirilgan   matnli   xabarlarni   yuborishingiz   mumkin.   Hisob
qaydnomangizni birinchi marta kiritganingizda, tizim sizga jo'natuvchi identifikatorini,
manzil   telefon   raqamlarini   va   xabarlar   matnini   to'ldirishingiz   uchun   maxsus   bo'sh
oynalarni   taqdim   etadi.   Biroq,   agar   siz   o'z   platformangizdan   matnli   xabarlar
jo'natmoqchi   bo'lsangiz,   buni   bizning   u   bilan   integratsiyalash   orqali   qilishingiz
mumkin.
Platformangizdan   avtomatik   matnli   xabarlarni   yuborish   uchun   siz   avvalo
ByudjetAPI   platformamiz   bilan   birlashtirilgan   rivojlangan   platformaga   ega
bo'lishingiz   kerak.   Uni   olganingizdan   so'ng,   integratsiya   juda   oddiy.   Bu   erda
jarayonning bosqichma-bosqich tavsifi va boshqalar.
1-qadam:  Price ni kiritish portalida hisobingizga kiring
2-qadam:   "Ulanishlar" tugmasini bosing
3-qadam:   "Qo'shish" tugmasini bosing
4-qadam:   Ulanishingiz uchun nom kiriting
5-qadam:   Haqiqiy manba IP manzilingizni kiriting
6-qadam:   Valyutani tanlang
7-qadam:   "Ulanishlarni saqlash" tugmasini bosing Ushbu shablonda siz yozishingiz kerak
Siz   ushbu   shablonni   platformangizga   qo'shishingiz   mumkin   va   u   avtomatik
ravishda   manzil   raqamlaringizga   matnli   xabarlarni   yuboradi.   Biroq,   maksimal
samaraga   erishish   uchun   bu   erda   ilg'or   platformaga   ega   bo'lishingiz   kerak.   Bu   sizga
shablonni   tahrirlash   va   avtomatlashtirilgan   ommaviy   matnli   xabarlarni   yuborishni
ancha osonlashtiradi.
Avtomatik matn jo'natuvchi
Avtomatik   Narxlarni   yuborish   nafaqat   kompaniyalar   kattaroq   auditoriyaga
murojaat   qilish   uchun   foydalanadigan   kompyuterlashtirilgan   platformalarga
tegishli.   Shuningdek, siz avtomatik matnli xabarlarni yuborish uchun smartfoningizdan
foydalanishingiz mumkin.
Xabarlarni oldindan rejalashtirish va ularni jadvalga muvofiq yuborishga yordam
beradigan   avtomatik   matn   ilovalari   mavjud.   Bundan   tashqari,   ba'zi   telefonlarda,
asosan, Android telefonlarida avtomatik matnli xabar jo'natish ilovasi o'rnatilgan.
Smartfonlar   uchun   avtomatik   matn   yozish   xizmatlari   odatda   bepul   taqdim
etilmaydi.   Biroq,   ular   ham   juda   qimmat   emas.   Avtomatik   matnli   ilovalarning
aksariyati oyiga 2-6 dollar turadi.   Ular bajaradigan ishning muhimligini hisobga olsak,
shunday bo'lishi yaxshidir.
Avtomatlashtirilgan matnli xabar jo'natuvchilar narxi yoki turiga qarab sizga turli
xil   variantlarni   berishi   mumkin.   Ba'zi   ilovalar   sizga   jadval   va   qabul   qiluvchilar
ro'yxatini yaratishga imkon beradi va ular tegishli ravishda xabarlarni jo'natadi.
Ba'zi   platformalar   sizga   qora   ro'yxatga   kiritish,   avtomatik   javob   berish   yoki
Byudjetni   saralash   imkonini   beradigan   darajada   moslashuvchan.   Bu   xususiyatlar
ta'tilda yoki shunchaki muhim narsa bilan band bo'lganingizda juda qulay bo'ladi.
Ba'zan siz ilovada qisqa kalit so'zni ham o'rnatishingiz mumkin va u uni uzunroq
matnga aylantiradi.   Masalan, siz “band” deb yozishingiz mumkin va uni “Kechirasiz,
men   hozir   bandman”ga   aylantiradigan   avtomatik   matn   ilovalari   mavjud.   Men   sizga
keyinroq qaytib kelaman." Avtomatik   Byudjet   yuborish   WhatsApp,   Viber,   Skype   va   boshqalar   kabi   xabar
almashish   dasturlarini   ham   o'z   ichiga   oladi.   Siz   ushbu   ilovalarda   yuqoridagi   barcha
xususiyatlardan   deyarli   foydalanishingiz   mumkin.   Bundan   tashqari,   Gmail-da   siz
ta'tilda   yoki   faqat   ofisda   bo'lmaganingizda   avtomatik   xabarlarni   yuborish   imkonini
beruvchi o'rnatilgan opsiya mavjud.
Avtomatik matnli xabarlarni Samsung-da ishlatish
Samsung   telefonlarida   xabarlarni   avtomatlashtirish   ilovasi   mavjud
emas.   Samsung   -da   avtomatik   Byudjet   xabarlarni   yuborish   uchun   bir   nechta   foydali
ilovalar   mavjud.   Umuman   olganda,   ularning   barchasi   yuqorida   aytib   o'tilgan
xususiyatlarni taklif qiladi.
Moslashuvchanligi   bilan   ajralib   turadigan   ikkita   ilova   Rejalashtirilgan
vaByudjet   .   Rejalashtirilgan   bilan   siz   taqvimingizni   uning   platformasiga   integratsiya
qilishingiz   va   undan   maksimal   foyda   olishingiz   mumkin.   Ilova   taqvimingizda   qayd
etilgan tug‘ilgan kunlar yoki boshqa muhim sanalarni aniqlaydi va qaysi sana bo‘yicha
yuborish   uchun   matn   shablonlarini   taklif   qiladi.   Rejalashtirilganda   tug'ilgan   kun
tilaklarini avtomatik ravishda yuborish xususiyati mavjud.   Sizga kerak bo'lgan narsa -
ilovaga kerakli ma'lumotlarni import qilish va qolganini u bajaradi.
Shuningdek,   siz   Rejalashtirilgan   platformasini   WhatsApp,   Telegram,   iMessage,
Twitter va boshqalar kabi boshqa ilovalarga integratsiya qilishingiz mumkin. Bundan
tashqari,   ilova   ofis   uchrashuvlari   yoki   maktabdagi   ota-onalar   yig‘ilishi   kabi   boshqa
tadbirlar   uchun   sizga   eslatma   sifatida   xizmat   qilishi   mumkin.   Har   safar   bunday
hodisalarni aniqlasa, u sizga eslatma xabarlarini yuborishingizni taklif qiladi.
Rejada to'rtta paket mavjud: Bepul, Premium, Business va Business  Plus.   Bepul
paket bilan siz olasiz
 3 Rejalashtirilgan eslatma
 Xabarlarni takrorlash
 Tug'ilgan kun bildirishnomalari bilan taqvim importi
Premium to'plami $3,49 turadi va sizga beradi  Cheksiz rejalashtirilgan eslatmalar
 Oyiga 30 ta avtomatik xabar yuborish
 Xabarlarni takrorlash
 Tug'ilgan kun bildirishnomalari bilan taqvim integratsiyasi
Biznes-paket 9,99 dollar turadi va uning imkoniyatlari
 Cheksiz rejalashtirilgan eslatmalar
 Oyiga 300 ta avtomatik xabar yuborish
 Xabarlarni takrorlash
 Shaxsiy biznes raqami
 Tug'ilgan kun bildirishnomalari bilan taqvim integratsiyasi
Nihoyat, Business Plus to'plami opsiyalari bilan 49,99 dollar turadi
 Cheksiz rejalashtirilgan eslatmalar
 Oyiga 2000 ta avtomatik xabar yuborish
 Xabarlarni takrorlash
 Shaxsiy biznes raqami
 Tug'ilgan kun bildirishnomalari bilan taqvim integratsiyasi
Byudjet   Scheduler   ham   matnli   xabarlar   eslatmalarini   o'rnatish   uchun   ajoyib
vositadir.   U   nafaqat   matnli   xabarlarni   yuborishni   eslatibgina   qolmay,   balki   ushbu
xabarlarni ham sizga yuborishi mumkin.   Siz ilovani haftaning yoki oyning ma'lum bir
kunida doimiy ravishda xabarlar yuboradigan qilib sozlashingiz mumkin.
Ilovada   turli   tadbirlar   uchun   tayyor   andozalar   mavjud.   Eslatmalaringizga
asoslanib,   u   sizga   qanday   Narxlar   yuborishni   aniqlashi   va   taklif   qilishi   mumkin.   Bu
sizga   xohlagancha   ko'p   qabul   qiluvchiga   xabar   yuborish   imkonini   beradi.   Narxlar
Scheduler-ning aksariyat xususiyatlari bepul paketga kiritilgan.
iPhone matnli xabarlarini avtomatik yo'naltirish
Xuddi siz iPhone-da avtomatik ravishda matnli xabarlarni yuborishingiz mumkin
bo'lgani   kabi,   siz   ham   ularni   avtomatik   ravishda   yuborishingiz   mumkin.   Ilgari
iPhone’larning sozlamalarida kontaktlarni tanlash va xabarlarni avtomatik yo‘naltirish imkonini   beradigan   xususiyat   mavjud   edi.   Biroq,   iOSning   yangi   versiyalarida   bu
imkoniyat mavjud emas.
Yaxshiyamki,   siz   SMSni   yo'naltirish   yoki   SMS   yuborishni   avtomatlashtirishga
yordam   beradigan ilovalarni yuklab olishingiz mumkin .
SMSni   boshqa   raqamga   yo'naltirish   -   bu   sizning   matnli   xabarlaringizni
cheklangan   miqdordagi   telefonlarga   yuborishga   yordam   beradigan   oddiy   va   bepul
dastur.   Bu,   asosan,   xabarni   bir   telefondan   boshqasiga   yo'naltirish   kerak   bo'lganda
foydalidir.
Boshqa   tomondan,   guruhli   SMS   xabarlarni   ko'proq   qabul   qiluvchilarga
yo'naltirishga yordam beradi.   Shuningdek, u oluvchilarni guruhlashi mumkin, bu sizga
oila a'zolari, do'stlar, hamkasblar va boshqalar kabi guruhlarni ajratish kerak bo'lganda
foydalidir.
Group SMS Lite   deb nomlangan mutlaqo bepul versiyasi mavjud bo'lib   , u sizga
ilovaning   asosiy   asoslarini   beradi.   Ammo   shuni   ta'kidlash   kerakki,   Guruh   SMSlari
narxi unchalik qimmat emas.   Bir umrlik obuna uchun atigi 2,49 dollar turadi.
Avtomatik matnli xabarlarni yuborish Android
IOS telefonlaridan farqli o'laroq, Android telefonlarida avtomatlashtirilgan SMS
ilovalari   ancha   kengroq   tanlovga   ega.   Garchi   ushbu   Android   ilovalarining   aksariyati
iOS ilovalari bilan bir xil variantlarni taklif qilsa-da, Android foydalanuvchilari hech
bo'lmaganda kengroq tanlovga ega bo'lishadi.   Bundan tashqari, iOS SMS Scheduler va
Scheduled uchun ikkita eng yaxshi ilovalar Google Play-da ham mavjud.
Shunga   qaramay,   faqat   Android   qurilmalari   uchun   maxsus   ilovalar
mavjud.   Masalan, muayyan kontaktlar uchun ma'lum shablonlarni o'rnatish kabi noyob
variantlarning   keng   doirasini   taqdim   etadi.   Agar   band   bo'lganingizda   kimdir   sizni
bezovta   qilsa,   bu   juda   foydali   bo'ladi.   Ilova   sizni   telefonni   ko'tarmasdan   bezovta
qilmasdan ularga avtomatik javoblar yuboradi.
Xuddi shu narsa qo'ng'iroqlar uchun ham amal qiladi.   Qo'ng'iroqlarni rad etish va
avtomatik   matnli   javoblarni   yuborish   uchun   ilova   uchun   ma'lum   raqamlarni o'rnatishingiz   mumkin.   Avtomatik   javob   ikkita   SIM-kartani   qo'llab-quvvatlaydi   va
yuklab   olish   bepul.   Biroq,   to'liq   paketga   kirish   uchun   atigi   $2   to'lashingiz   kerak
bo'ladi.
Android   telefonlari   avtomatik   matnli   xabarlarni   yuborish   uchun   foydalanishi
mumkin   bo'lgan   yana   bir   dastur.   Ilova   matnli   xabarlarni   rejalashtirish   va   ularni
yuborish   vaqtini   belgilash   imkonini   beradi.   Bu   Rejalashtirilgan   uchun   ajoyib
muqobildir, chunki agar siz uni o'rnatsangiz, u tug'ilgan kun tilaklarini ham yuborishi
mumkin.
Tasker   endi   uch   baravar   arzon   va   uni   Google   Play   orqali   atigi   $1,99   ga   xarid
qilishingiz   mumkin.   Tasker   faqat   avtomatlashtirilgan   matnli   xabar   almashishdan
ko'proq   narsani   qila   oladi.   Masalan,   u   sizni   har   kuni   pleylistingizdagi   tasodifiy
qo shiqlar   bilan   uyg otishi,   telefoningiz   fon   rasmi   va   ekran   pardasini   o zingizʻ ʻ ʻ
belgilagan vaqtga qarab o zgartirishi va undan ham ko proq bo lishi mumkin.	
ʻ ʻ ʻ
2. Ilovaning tuzilishi.   3. Ilovani kodi.
AddActivity.java
package  com.example.dailywordscollector;
import  androidx.appcompat.app.AppCompatActivity;
import  android.content.Intent;
import  android.os.Bundle;
import  android.view.View;
import  android.widget.Button;
import  android.widget.EditText;
import  android.widget.TextView;
public class  AddActivity  extends  AppCompatActivity {
    EditText  title_input , pages_input , author_input ;
    TextView  text_show ;
    Button  add_button ;
    Button  b2 ;
     @Override
     protected void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
        setContentView(R.layout. activity_add );
         text_show =findViewById(R.id. show );
         title_input =findViewById(R.id. title_input );
         author_input =findViewById(R.id. author_input );
         pages_input =findViewById(R.id. pages_input );
         b2 =findViewById(R.id. b2 );
         add_button =findViewById(R.id. add_button );
         add_button .setOnClickListener( new  View.OnClickListener() {
             @Override
             public void  onClick(View view) {
                MyDatabaseHelper myDB =  new  MyDatabaseHelper(AddActivity. this );
                 boolean  b = 
myDB.addBook( title_input .getText().toString().trim(), 
author_input .getText().toString().trim(), 
Integer. valueOf ( pages_input .getText().toString().trim()));
                 if  (b) {
                     text_show .setText( "Failed" );
                }  else  {
                     text_show .setText( "Good" );
                }
            }
        });
         b2 .setOnClickListener( new  View.OnClickListener() {
                 @Override
                 public void  onClick(View view) {
                     //MyDatabaseHelper myDB=new 
MyDatabaseHelper(AddActivity.this);
                    //boolean b = 
myDB.addBook(title_input.getText().toString().trim(),author_input.getText().toSt
ring().trim(),Integer.valueOf(pages_input.getText().toString().trim() ));
                     Intent intent =  new  Intent (AddActivity. this ,second. class );
                    startActivity(intent);
                }
        });     }
}
CustomAdapter.java
package  com.example.dailywordscollector;
import  android.content.Context;
import  android.view.LayoutInflater;
import  android.view.View;
import  android.view.ViewGroup;
import  android.widget.TextView;
import  androidx.annotation. NonNull ;
import  androidx.recyclerview.widget.RecyclerView;
import  org.w3c.dom.Text;
import  java.util.ArrayList;
import  java.util.zip.Inflater;
public class  CustomAdapter  extends 
RecyclerView.Adapter<CustomAdapter.MyViewHolder> {
     private  Context  context ;
     private  ArrayList  book_id , book_title , book_author , book_pages ;
    CustomAdapter(Context context, ArrayList book_id,ArrayList 
book_title,ArrayList book_author,ArrayList book_pages){
         this . context =context;
         this . book_id =book_id;
         this . book_title =book_title;
         this . book_pages =book_pages;
         this . book_author =book_author;
    }
     @NonNull
    @Override
     public  MyViewHolder onCreateViewHolder( @NonNull  ViewGroup parent,  int 
viewType) {
        LayoutInflater inflater = LayoutInflater. from ( context );
        View view = inflater.inflate(R.layout. my_row , parent,  false );
         return new  MyViewHolder(view);
    }
     @Override
     public void  onBindViewHolder( @NonNull  MyViewHolder holder,  int  position) {
        holder. book_id_txt .setText(String. valueOf ( book_id .get(position)));
        holder. book_title_txt .setText(String. valueOf ( book_title .get(position)));
        
holder. book_author_txt .setText(String. valueOf ( book_author .get(position)));
        holder. book_pages_txt .setText(String. valueOf ( book_pages .get(position)));
    }
     @Override
     public int  getItemCount() {
         return  book_id .size();
    }      public class  MyViewHolder  extends  RecyclerView.ViewHolder{
        TextView  book_id_txt ,  book_pages_txt ,  book_title_txt ,  book_author_txt ;
         public  MyViewHolder( @NonNull  View itemView) {
             super (itemView);
             book_id_txt = itemView.findViewById(R.id. book_id_txt );
             book_title_txt = itemView.findViewById(R.id. book_title_txt );
             book_author_txt = itemView.findViewById(R.id. book_author_txt );
             book_pages_txt = itemView.findViewById(R.id. book_pages_txt );
        }
    }
}
MainActivity.java
package  com.example.dailywordscollector;
import  androidx.appcompat.app.AppCompatActivity;
import  androidx.recyclerview.widget.LinearLayoutManager;
import  androidx.recyclerview.widget.RecyclerView;
import  android.content.Intent;
import  android.database.Cursor;
import  android.os.Bundle;
import  android.view.View;
import  android.widget.Toast;
import  com.google.android.material.floatingactionbutton.FloatingActionButton;
import  java.util.ArrayList;
public class  MainActivity  extends  AppCompatActivity {
    RecyclerView  recyclerView ;
    FloatingActionButton  add_button ;
    MyDatabaseHelper  myDB ;
    ArrayList<String>  book_id , book_title , book_author , book_pages ;
    CustomAdapter  customAdapter ;
     @Override
     protected void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
        setContentView(R.layout. activity_main );
         recyclerView =findViewById(R.id. recyclerView );
         add_button =findViewById(R.id. add_button );
         add_button .setOnClickListener( new  View.OnClickListener() {
             @Override
             public void  onClick(View view) {
            Intent intent =  new  Intent(MainActivity. this ,AddActivity. class );
            startActivity(intent);
            }
        });
         myDB  =  new  MyDatabaseHelper(MainActivity. this );
         book_id  =  new  ArrayList<>();
         book_title  =  new  ArrayList<>();
         book_author  =  new  ArrayList<>();
         book_pages  =  new  ArrayList<>();         storeDateInArrays();
         customAdapter  =  new 
CustomAdapter(MainActivity. this , book_id , book_title , book_author , book_pages );
         recyclerView .setAdapter( customAdapter );
         recyclerView .setLayoutManager( new 
LinearLayoutManager(MainActivity. this ));
    }
     void  storeDateInArrays(){
        Cursor cursor =  myDB .readAllData();
         if  (cursor.getCount() ==  0 ){
            Toast. makeText ( this ,  "No Data" , Toast. LENGTH_SHORT ).show();
        } else {
             while (cursor.moveToNext()){
                 book_id .add(cursor.getString( 0 ));
                 book_title .add(cursor.getString( 1 ));
                 book_author .add(cursor.getString( 2 ));
                 book_pages .add(cursor.getString( 3 ));
            }
        }
    }
} Xulosa
Byudjet   xabar   boshqaruvini   avtomatlashtirish   xulosa   asosan   raqamlashtirilgan
tizimlar   va   avtomatik   jarayonlardan   foydalanishni   talab   qiladi.   Bu,   sms   xabar
boshqaruvini yengil va samarali qilish imkoniyatini beradi.
1.   Vaqt   va   mablag'ni   tejaytirish:   Budjetni   boshqarish   xabar   yuborish   ilovasi
sizga   vaqtni   va   mablag'ni   tejaytirish   imkoniyatini   beradi.   Sizning   joriy   ish
jarayoningizda, sizga tushuntiruvchi Narxlari olib tashlash uchun vakt sarflamang.
2.   Moslashtirilgan   xabarlar:   Avtomatik   Byudjet   ma’lumotlari   yuborish   ilovasi
sizning   biznesingiz   uchun   moslashtirilgan   xabarlar   yaratish   imkoniyatini   beradi.   Siz
ish   jarayonida   o'z   mijozlaringizga   moslashtirilgan   Byudjet   narsalari   xabarlarini
jo'natishingiz mumkin.
3.   Mijozlarga   qulaylik   yuborish   ilovasi   mijozlaringizga   qulaylik   keltiradi.   Siz
mijozlaringiz   bilan   tushunmovchilik   qilishingiz   va   ularni   yangiliklar   bilan
ta'minlashingiz mumkin.
4.   Marketing   kampaniyalari:   Byudjet   ilovasi   marketing   kampaniyalari   uchun
ham   foydali   bo'ladi.   Kampaniya   davomida,   siz   mijozlarga   reklama   va   chegirmalar
haqida.
5.   Ishga   qarash   vaqtini   kamaytirish:   Avtomatik   Byudjet   yuborish   ilovasi
sizning   ish   jarayoningizda   vaqtni   kamaytiradi.   Siz   mijozlaringiz   bilan
tushunmovchilik qilishingiz va ularni yangiliklar bilan ta'minlashingiz mumkin. Foydalanilgan adabiyotlar ro’yxati
1. GuardSquare. Proguard java obfuscator. http://proguard.sourceforge.net.
2. J. Crussell, C. Gibler, and H. Chen. Andarwin: Scalable detection of semantically
similar android applications. In ESORICS’13. Springer, 2013.
3. J.   Crussell,   C.   Gibler,   and   H.   Chen.   Attack   of   the   clones:   Detecting   cloned
applications on android markets. In ESORICS’12. Springer, 2012. 
4. K. Chen, P. Liu, and Y. Zhang. Achieving accuracy and scalability simultaneously
in detecting application
5. Licel Corporation. Dexprotector android obfuscator. https://dexprotector.com.
6. Licel Corporation. Stringer java obfuscator. https://jfxstore.com/stringer.
7. M. Backes, S. Bugiel, E. Derr, S. Gerling, and C. Hammer. R-Droid: Leveraging
Android App Analysis with Static Slice Optimization. In ASIACCS ’16. ACM, 2016.
8. M.   Egele,   D.   Brumley,   Y.   Fratantonio,   and   C.   Kruegel.   An   empirical   study   of
cryptographic misuse in android applications. In CCS’13. ACM, 2013.
9. M.   Grace,   W.   Zhou,   X.   Jiang,   and   A.-R.   Sadeghi.   Unsafe   exposure   analysis   of
mobile   in-app   advertisements.   In   WISEC’12.   ACM,   2012.   GuardSquare.   Dexguard
android obfuscator.  https://www.guardsquare.com/dexguard.
10. M.   I.   Gordon,   D.   Kim,   J.   Perkins,   L.   Gilham,   N.   Nguyen,   and   M.   Rinard.
Information-flow analysis of Android applications in DroidSafe. In NDSS’15, 2015.
11. S.   Arzt,   S.   Rasthofer,   C.   Fritz,   E.   Bodden,   A.   Bartel,   J.   Klein,   Y.   le   Traon,   D.
Octeau, and P. McDaniel.
12. S.   Fahl,   M.   Harbach,   T.   Muders,   L.   Baumgärtner,   B.   Freisleben,   and   M.   Smith.
Why eve and mallory love android: an analysis of android ssl (in)security. In CCS’12.
ACM, 2012.
S. Hanna, L. Huang, E. Wu, S. Li, C. Chen, and D. Song. Juxtapp: A scalable system
for detecting code reuse among android applications. In DIMVA’12. Springer, 2013.

Tadbirlarni rejalashtiruvchi ilova - foydalanuvchilarga to‘ylar, partiyalar va uchrashuvlar kabi tadbirlarni rejalashtirish va tashkil etishga yordam beradigan ilovani loyihalash va ishlab chiqish