Fanidan 2-Topshiriq Guruh: 315-20 Bajardi: Usmonov Po’latjon Tekshirdi: Egamberdiev Nodir
Download 81.37 Kb.
|
mobil ilova 2
- Bu sahifa navigatsiya:
- Guruh: 315-20 Bajardi: Usmonov Po’latjon Tekshirdi: Egamberdiev Nodir
О‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI Mobil ilovalarni ishlab chiqish fanidan 2-Topshiriq Guruh: 315-20 Bajardi: Usmonov Po’latjon Tekshirdi: Egamberdiev Nodir Mavzu: Kundalik vazifalarni rejalashtiruvchi mobil ilovani ishlab chiqish Kundalik vazifalarni rejalashtiruvchi mobil ilovani ishlab chiqish bosqichlari: Ilovaning maqsadi va talablarini aniqlang: Birinchi qadam ilovaning maqsadi va qanday xususiyatlarga ega bo'lishi kerakligini aniqlashdir. Vazifa yaratish, bildirishnoma eslatmalari, topshiriqlarni turkumlashtirish, topshiriqning bajarilishini kuzatish va h.k. kabi boʻlishi kerak boʻlgan va boʻlishi kerak boʻlgan xususiyatlar roʻyxatini tuzing. To'g'ri platforma va texnologiyani tanlang: ilovangizni ko'pchilik foydalanuvchilar uchun ochiq qiladigan platformani tanlang. Sizning talablaringiz asosida mahalliy yoki gibrid texnologiyalardan foydalangan holda ishlab chiqishni hal qiling. Simli ramkalar va ilova dizaynini yarating: Ekran oqimi va foydalanuvchi interfeysi, jumladan, ilova uchun simli ramkalar va ilova dizaynini yarating. Foydalanuvchilar ilovada qanday harakat qilishini va to'g'ri vizual ohangni o'rnatishini aniqlang.
Ilovani sinab ko'ring: Har qanday xato yoki xatolarni aniqlash uchun ilovani yaxshilab sinab ko'ring. Ilova kutilganidek ishlayotganiga ishonch hosil qilish uchun birlik testlari, integratsiya testlari va foydalanuvchini qabul qilish testlari kabi turli turdagi testlarni bajaring. Ilovani nashr qilish: Tanlangan ilovalar do'konida dasturni ishga tushiring va maqsadli auditoriyaga erishish uchun uni targ'ib qiling. Xatolarni tuzatish yoki foydalanuvchi fikr-mulohazalari asosida yangi xususiyatlarni qo'shish uchun ilovani yangilab turing. Ilovani saqlash va yaxshilash: Ilovani yangilab turish va vaqt o'tishi bilan uni yaxshilash uchun uni saqlab turing. Foydalanuvchi fikr-mulohazalarini tinglang va kerak bo'lganda ilovani yangilang. import android.app.AlarmManager import android.app.PendingIntent import android.content.Context import android.content.Intent import java.util.* class DailyTaskScheduler { fun scheduleTask(context: Context, task: Task, timeIn24HourFormat: String) { val calendar = Calendar.getInstance() val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager val timeParts = timeIn24HourFormat.split(":") calendar.set(Calendar.HOUR_OF_DAY, timeParts[0].toInt()) calendar.set(Calendar.MINUTE, timeParts[1].toInt()) val intent = Intent(context, TaskReceiver::class.java) intent.putExtra("task_name", task.name) intent.putExtra("task_description", task.description) val pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT) alarmManager.setRepeating( AlarmManager.RTC_WAKEUP, calendar.timeInMillis, AlarmManager.INTERVAL_DAY, pendingIntent ) } fun unscheduleTask(context: Context) { val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager val intent = Intent(context, TaskReceiver::class.java) val pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0) alarmManager.cancel(pendingIntent) } } import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Daily Planner App', home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key? key}) : super(key: key); @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State final taskNameController = TextEditingController(); final List void addTask() { final task = taskNameController.text; final now = DateTime.now(); final formatDate = DateFormat('dd/MM/yyyy'); final formattedDate = formatDate.format(now); setState(() { tasks.add('$formattedDate - $task'); taskNameController.clear(); }); } @override void dispose() { taskNameController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Daily Tasks'), ), body: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ ...tasks.map((task) => Card( child: ListTile( title: Text(task), ), )), TextField( controller: taskNameController, decoration: InputDecoration( labelText: 'Task Name', ), ), SizedBox(height: 16), ElevatedButton( onPressed: addTask, child: Text('Add Task'), ), ], ), ), ); } Download 81.37 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling