GithubHelp home page GithubHelp logo

iampawan / flutterexampleapps Goto Github PK

View Code? Open in Web Editor NEW
20.2K 948.0 3.7K 110.25 MB

[Example APPS] Basic Flutter apps, for flutter devs.

Dart 100.00%
flutter flutter-apps flutter-plugin dart dartlang material-design apps android ios cross-platform

flutterexampleapps's Issues

How to create dynamic widgets based on json response flutter

How do i design the screen as shown in the Screenshot
Screenshot
image

Here, in the screen it has option to swipe screen within the fixed content and screen are also created dynamically based on json response

Also, please help me out in creating dynamic expansiontile with multiple items as in the screenshot, and providing user to enter comments and store comment values based in each exapansiontile
Any help would be appreciated..

flutter run failed , can you help me?

`* Error running Gradle:
ProcessException: Process "C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\gradlew.bat" exited abnormally:
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
java.lang.IllegalStateException: compileSdkVersion is not specified.
at com.google.common.base.Preconditions.checkState(Preconditions.java:456)
at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:590)
at com.android.build.gradle.BasePlugin.lambda$null$3(BasePlugin.java:555)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81)
at com.android.build.gradle.BasePlugin.lambda$createTasks$4(BasePlugin.java:551)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:91)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:80)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy28.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:75)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:69)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:33)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:103)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:651)
at org.gradle.api.internal.project.DefaultProject.evaluationDependsOn(DefaultProject.java:731)
at org.gradle.api.internal.project.DefaultProject.evaluationDependsOn(DefaultProject.java:723)
at org.gradle.api.Project$evaluationDependsOn.call(Unknown Source)
at build_608y0f0tiuyq95x8su36yynea$_run_closure3.doCall(C:\2018MrzWorks\Android Study
Test\Flutter-Music-Player\android\build.gradle:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:71)
at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:160)
at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:106)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$3.run(BuildOperationCrossProjectConfigurator.java:100)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runProjectConfigureClosure(BuildOperationCrossProjectCo
nfigurator.java:96)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.access$400(BuildOperationCrossProjectConfigurator.java:
31)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$1.doRunProjectConfigure(BuildOperationCrossProjectConfi
gurator.java:81)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$BlockConfigureBuildOperation.run(BuildOperationCrossPro
jectConfigurator.java:144)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runBlockConfigureClosure(BuildOperationCrossProjectConf
igurator.java:78)
at
org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.subprojects(BuildOperationCrossProjectConfigurator.java
:53)
at org.gradle.api.internal.project.DefaultProject.subprojects(DefaultProject.java:1103)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:479)
at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:191)
at org.gradle.internal.metaobject.CompositeDynamicObject.tryInvokeMethod(CompositeDynamicObject.java:98)
at
org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.tryInvokeMethod(MixInClosurePropertiesAsMethodsDyn
amicObject.java:30)
at org.gradle.groovy.scripts.BasicScript$ScriptDynamicObject.tryInvokeMethod(BasicScript.java:134)
at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:160)
at org.gradle.groovy.scripts.BasicScript.invokeMethod(BasicScript.java:83)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:75)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at build_608y0f0tiuyq95x8su36yynea.run(C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\build.gradle:23) at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:187)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:192)
at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:61)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:58)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34) at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:63)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:33)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:103)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:651)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:133)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:246)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:165)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:124)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:107)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:45)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:71)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at
org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionEx
ecuter.java:43)
at
org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionEx
ecuter.java:29)
at
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
at
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
at
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:
55)
at
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:
42)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:58)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:33)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\app\build.gradle' line: 19

  • What went wrong:
    A problem occurred evaluating project ':app'.

C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\key.properties (系统找不到指定的文件。)

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

  • Get more help at https://help.gradle.org

BUILD FAILED in 1s
Command: C:\2018MrzWorks\Android Study Test\Flutter-Music-Player\android\gradlew.bat app:properties

Please review your Gradle project setup in the android/ folder.`

Yǐshàng shì wǒ zài flutter run shíbào de cuò
22/5000
The above is my mistake in the flutter run time.

Instagram token

These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.me/imthepk/']

I have this awesome app idea, But need help making it Please any person help me here. Please help me

So, I have this idea of making an app for a nonprofit foundation, In our community (street) we collect money and one person saves it at his home after collecting from all (monthly) *this money is used in situations like sudden death of any contributor, financial help to poors etc. I want to make an app to help make this process digital and make the system more powerful. APP DETAILS There is an admin app *website: which can control how has given this month's contribution or not, and also with a single click give the person notification 🔔 if he has overdue amount. (so he could pay by coming at home) Users side: the user (contributors)sign inn to their apps : to see their overdues or dues or get notifications through notifications of dues. I really want to help people with this, And need a passionate person to help me make it as i don't have skills, so in the process i could learn too. Please help me so we could do our part to make something for people.

pubspec.yaml find not found

I'm unable to find pubspec.yaml file of this project. And, also (idk why I did this) I tried to copy pubspec.yaml file from other my other projects but it showed
"Target file "lib/main.dart" not found."

Please help how do I overcome this pubspec.yaml problem?

urgent help for sound wave recorder to forward and backward functionality

Working in flutter need solution for recording sound with wave form and forward it by 15 seconds ,
I tried many solutions but they were not helpful like using duration custom or custom.....
also used this package audio_waveforms but didnt worked if anyone could help please respond asap

import 'dart:io';

import 'package:audio_waveforms/audio_waveforms.dart';
import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';
import 'package:provider/provider.dart';
import 'package:smilestone/Audio_Screen/AudioRecordingProvider.dart';
import 'package:smilestone/Utils/sizeConfig.dart';

import '../Utils/utils.dart';

class AudioRecording extends StatefulWidget {
const AudioRecording({Key key}) : super(key: key);

@OverRide
State createState() => _AudioRecordingState();
}

class _AudioRecordingState extends State {
RecorderController recorderController;
PlayerController playerController;
bool _isPlayingAudio = false;
bool _isPlayIcon = true;
bool closeIcon = false;
bool yesDialog = false;
String audioFilePath;
TextEditingController saveController=TextEditingController();
bool listOfSound=false;
Duration currentPosition = Duration.zero;
Duration _position = Duration.zero;
Duration _duration = Duration.zero;

var filePath;

void toggleBtn() {
if (_isPlayingAudio == false) {
_isPlayingAudio = !_isPlayingAudio;
_startRecording();
}
if (_isPlayIcon == false) {
_isPlayIcon = !_isPlayIcon;
}
setState(() {});
}

void toggleIconBtn() {
_isPlayIcon = !_isPlayIcon;
_pauseAudio();
if(_isPlayIcon==true){
_pauseAudio();

}
print("object111111111");
setState(() {});

}

void _initializeController() {
recorderController = RecorderController()
..androidEncoder = AndroidEncoder.aac
..androidOutputFormat = AndroidOutputFormat.mpeg4
..iosEncoder = IosEncoder.kAudioFormatMPEG4AAC
..sampleRate = 16000;

playerController = PlayerController();

}

void _startRecording() async {
try {
if (!recorderController.isRecording) {
await recorderController.record();
} else {
final path = await recorderController.stop();
_isPlayingAudio = true;

    if (path != null) {
      await playerController.preparePlayer(path: path);
      await playerController.startPlayer(finishMode: FinishMode.loop);
    }
    setState(() {
      audioFilePath = path;
    });
  }
  setState(() {});
}catch (e){
  print(e.toString());
}

}

void forwardAudioBy15Seconds() async {
if (_isPlayingAudio) {
var duration = playerController.getDuration(DurationType.current);
print("duration===>"+duration.toString());
playerController.onPlayerStateChanged.skip(15000);
// final Duration newPosition = currentPosition + Duration(seconds: 15);
// playerController.seekTo(newPosition.inSeconds);
// print("object"+newPosition.toString());

}

}

Future saveAudio() async {
final appDir = await getExternalStorageDirectory();
final folderPath = '${appDir.parent.path}/audio_folder';
final folder = Directory(folderPath);
if (!(await folder.exists())) {
await folder.create(recursive: true);
}
var audioFileName = "";
if (saveController.text != null && saveController.text.isNotEmpty) {
audioFileName = '${saveController.text}.wav';
} else {
audioFileName = 'audio
${DateTime.now().millisecondsSinceEpoch}.wav';
}
print("audioFileName"+audioFileName);
filePath = '$folderPath/$audioFileName';
print("file path"+filePath);
final recordedAudioFile = File(audioFilePath);
final copiedFile = await recordedAudioFile.copy(filePath);

if (copiedFile != null) {
  print('Audio saved at: $filePath');
} else {
  print('Failed to save audio.');
}
saveController.text="";

}

void _pauseAudio() async {
if (_isPlayIcon) {
playerController.pausePlayer();
_isPlayingAudio=true;
} else {
playerController.startPlayer(finishMode: FinishMode.loop);
}
_isPlayIcon = !_isPlayIcon;
setState(() {});
}

@OverRide
void initState() {
super.initState();

_initializeController();

}

@OverRide
void dispose() {
super.dispose();
recorderController.dispose();
playerController.dispose();
}

Widget SelectListOfAudio(){
return Container(
width: SizeConfig.screenWidth *0.11,
height: SizeConfig.screenHeight *0.18,
decoration: BoxDecoration(
// border: Border.all(width: 0.5),
color: Color.fromRGBO(0, 0, 0, 0.7),
borderRadius: BorderRadius.circular(36),
shape: BoxShape.rectangle,
),
child: Column(
children: [
SizedBox(height: SizeConfig.screenHeight *0.01,),
GestureDetector(
child: Image.asset(
"assets/images/audioImage.png",
height: SizeConfig.screenHeight * 0.045,
),
),
SizedBox(height: SizeConfig.screenHeight *0.01,),
GestureDetector(
child: Image.asset(
"assets/images/childImage.png",
height: SizeConfig.screenHeight * 0.045,
),
),
SizedBox(height: SizeConfig.screenHeight *0.01,),
GestureDetector(
child: Image.asset(
"assets/images/child_animalImg.png",
height: SizeConfig.screenHeight * 0.045,
width: SizeConfig.screenWidth *0.088,
),
)
],
),
);
}

@OverRide
Widget build(BuildContext context) {
SizeConfig().init(context);
return Scaffold(
body: Container(
child: SingleChildScrollView(
child: Column(
children: [
Container(
margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.055),
alignment: Alignment.topCenter,
child: Image.asset(
"assets/images/smileStone.png",
width: SizeConfig.screenWidth * 0.4,
)),

          Container(
              margin: EdgeInsets.only(top: SizeConfig.screenHeight*0.01,left: SizeConfig.screenWidth *0.055,right: SizeConfig.screenWidth *0.055),
              width: SizeConfig.screenWidth * 0.9,
              height: SizeConfig.screenHeight * 0.7,
              decoration: BoxDecoration(
                  boxShadow: [
                    BoxShadow(
                        color: Color.fromRGBO(0, 0, 0, 0.18),
                        offset: Offset(0, 2),
                        spreadRadius: 0,
                        blurRadius: 8
                    )
                  ],
                  color: ColorCode_white_text,
                  shape: BoxShape.rectangle,
                  borderRadius: BorderRadius.circular(36)
              ),
              child: Stack(
                children: [

                  _isPlayingAudio
                      ? AudioFileWaveforms(
                    size: Size(MediaQuery.of(context).size.width, 400.0),
                    playerController: playerController,
                    enableSeekGesture: false,
                    waveformType: WaveformType.long,
                    backgroundColor: Colors.red,
                    playerWaveStyle: const PlayerWaveStyle(
                      fixedWaveColor: Colors.grey,
                      liveWaveColor: Colors.black,
                      spacing: 12,
                      waveThickness: 7,
                      waveCap: StrokeCap.round,
                      scaleFactor: 1000,
                      showSeekLine: false,
                    ),
                  )
                      : recorderController.isRecording
                      ? Container(
                    width: SizeConfig.screenWidth * 0.9,
                    height: SizeConfig.screenHeight * 0.7,
                    decoration: BoxDecoration(
                        boxShadow: [
                          BoxShadow(
                              color: Color.fromRGBO(0, 0, 0, 0.18),
                              offset: Offset(0, 2),
                              spreadRadius: 0,
                              blurRadius: 8
                          )
                        ],
                        color: ColorCode_white_text,
                        shape: BoxShape.rectangle,
                        borderRadius: BorderRadius.circular(36)
                    ),
                        child: AudioWaveforms(
                          size: Size(MediaQuery.of(context).size.width, 500.0),
                          recorderController: recorderController,
                          enableGesture: false,
                          waveStyle: const WaveStyle(
                            bottomPadding: 205,
                            waveColor: Colors.black,
                            showDurationLabel: false,
                            waveCap: StrokeCap.round,
                            extendWaveform: true,
                            showMiddleLine: false,
                            scaleFactor: 400,
                            waveThickness: 6,
                            spacing: 12,
                          ),
                        ),
                      )
                      : Stack(
                    alignment: Alignment.center,
                    children: [
                      Row(
                        // mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: [
                          Container(
                            alignment: Alignment.topLeft,
                            margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.04, left: SizeConfig.screenWidth * 0.05),
                            child: GestureDetector(
                              child: Image.asset(
                                "assets/images/backBtn.png",
                                height: SizeConfig.screenHeight * 0.03,
                              ),
                            ),
                          ),
                          GestureDetector(
                            onTap: (){
                              listOfSound=!listOfSound;
                              setState(() {

                              });
                            },
                            child: Container(
                              alignment: Alignment.topLeft,
                              margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.025, left: SizeConfig.screenWidth * 0.5),
                              child: !listOfSound? Image.asset(
                                "assets/images/selectSound.png",
                                height: SizeConfig.screenHeight * 0.05,
                              ):SelectListOfAudio()
                            ),
                          ),
                          Container(
                            alignment: Alignment.topLeft,
                            padding: EdgeInsets.only(top: SizeConfig.screenHeight * 0.02, right: SizeConfig.screenWidth * 0.02),
                            child: GestureDetector(
                              child: Image.asset(
                                "assets/images/upload.png",
                                height: SizeConfig.screenHeight * 0.06,
                              ),
                            ),
                          ),
                        ],
                      ),
                      Text('Record your voice here'),

                    ],
                  ),
                  _isPlayingAudio?
                  Container(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        Container(
                          alignment: Alignment.topLeft,
                          margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.025, left: SizeConfig.screenWidth * 0.05,bottom: SizeConfig.screenHeight *0.025),
                          child: GestureDetector(
                            onTap: () {
                              showDialog(
                                barrierDismissible: false,
                                context: context,
                                builder: (BuildContext context) {
                                  return AlertDialog(
                                    shape: RoundedRectangleBorder(
                                      borderRadius: BorderRadius.circular(15),
                                    ),
                                    title: Column(
                                      mainAxisAlignment: MainAxisAlignment.start,
                                      crossAxisAlignment: CrossAxisAlignment.start,
                                      mainAxisSize: MainAxisSize.max,
                                      children: [
                                        Text(
                                          '''Are you sure you want to Delete this recording?''',
                                          style: TextStyle(fontSize: Utils().GlobalScreenHeight * 0.022, color: black_color, fontWeight: FontWeight.w600),
                                        ),
                                        SizedBox(
                                          height: SizeConfig.screenHeight * 0.03,
                                        ),
                                        Row(
                                          mainAxisAlignment: MainAxisAlignment.center,
                                          children: [
                                            Container(
                                              width: SizeConfig.screenWidth * 0.25,
                                              height: SizeConfig.screenHeight * 0.053,
                                              child: ElevatedButton(
                                                  style: ElevatedButton.styleFrom(
                                                    primary: greenColor, // Background color
                                                  ),
                                                  onPressed: () {
                                                    Navigator.pop(context);
                                                    _isPlayingAudio = !_isPlayingAudio;
                                                    setState(() {});
                                                  },
                                                  child: Text('Yes')),
                                            ),
                                            SizedBox(
                                              width: SizeConfig.screenWidth * 0.05,
                                            ),
                                            Container(
                                              width: SizeConfig.screenWidth * 0.25,
                                              height: SizeConfig.screenHeight * 0.053,
                                              child: ElevatedButton(
                                                  style: ElevatedButton.styleFrom(
                                                    primary: redColor, // Background color
                                                  ),
                                                  onPressed: () {
                                                    Navigator.of(context).pop();
                                                    if (_isPlayIcon == true) {
                                                      _pauseAudio();
                                                    }
                                                  },
                                                  child: Text('No')),
                                            ),
                                          ],
                                        )
                                      ],
                                    ),
                                  );
                                },
                              );
                            },
                            child: Image.asset(
                              "assets/images/wrong.png",
                              height: SizeConfig.screenHeight * 0.025,
                            ),
                          ),
                        ),
                        ChangeNotifierProvider<RecordingProvider>(
                          create: (_) => RecordingProvider(),
                          child: Consumer<RecordingProvider>(
                            builder: (context, provider,_){
                              return Container(
                                alignment: Alignment.topLeft,
                                margin: EdgeInsets.only(top: SizeConfig.screenHeight * 0.025, right: SizeConfig.screenWidth * 0.05),
                                child: GestureDetector(
                                  onTap: () async{
                                    await _pauseAudio();
                                    showDialog(
                                        barrierDismissible: false,
                                        context: context,
                                        builder: (BuildContext context) {
                                          return AlertDialog(
                                            shape: RoundedRectangleBorder(
                                              borderRadius: BorderRadius.circular(15),
                                            ),
                                            title: Column(
                                              mainAxisAlignment: MainAxisAlignment.start,
                                              crossAxisAlignment: CrossAxisAlignment.center,
                                              mainAxisSize: MainAxisSize.max,
                                              children: [
                                                Container(
                                                  width:SizeConfig.screenWidth* 0.5,
                                                  height: SizeConfig.screenHeight *0.07,
                                                  child: TextFormField(
                                                    cursorColor: ColorCode_grey,
                                                    controller: saveController,
                                                    style: TextStyle(fontSize: SizeConfig.screenHeight *0.018),
                                                    decoration: InputDecoration(

                                                      border: OutlineInputBorder(
                                                          borderSide: BorderSide(
                                                            color:  TextFormColor,
                                                          )
                                                      ),
                                                      hintText: "Name your recording",
                                                      hintStyle: TextStyle(fontSize: SizeConfig.screenHeight *0.018),
                                                      fillColor: TextFormColor,
                                                      filled: true,
                                                      focusedBorder: OutlineInputBorder(
                                                          borderSide: BorderSide(
                                                            color:  TextFormColor,
                                                          )
                                                      ),
                                                      enabledBorder: OutlineInputBorder(
                                                          borderSide: BorderSide(
                                                            color:  TextFormColor,
                                                          )
                                                      ),

                                                    ),
                                                  ),
                                                ),
                                                SizedBox(height: SizeConfig.screenHeight *0.02,),
                                                Text("Successfully Saved!",style: TextStyle(fontWeight: FontWeight.w600,fontSize: Utils().GlobalScreenHeight *0.02),),
                                                SizedBox(height: SizeConfig.screenHeight *0.02,),
                                                Container(
                                                  width: SizeConfig.screenWidth * 0.25,
                                                  height: SizeConfig.screenHeight * 0.053,
                                                  child: ElevatedButton(
                                                      style: ElevatedButton.styleFrom(
                                                        primary: greenColor, // Background color
                                                      ),
                                                      onPressed: () {
                                                        _saveAudio();
                                                        provider.FetchSaveRecording('${saveController.text}', filePath);
                                                        Navigator.pop(context);
                                                        // _isPlayIcon = !_isPlayIcon;
                                                        setState(() {});
                                                      },
                                                      child: Text('Done')),
                                                ),

                                              ],
                                            ),
                                          );
                                        });
                                    setState(() {

                                    });
                                  },
                                  child: Image.asset(
                                    "assets/images/right.png",
                                    height: SizeConfig.screenHeight * 0.025,
                                  ),
                                ),
                              );
                            },

                          ),
                        ),
                      ],
                    ),
                  ):Container(),
                ],
              )
          ),
          SizedBox(height: SizeConfig.screenHeight *0.05,),

          _isPlayingAudio
              ? Container(
            width: SizeConfig.screenWidth *0.8,
            child: Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: [
                GestureDetector(
                    onTap: () async{
                      await playerController.seekTo(1000);

                    },
                    child: Image.asset(
                      "assets/images/backward.png",
                      height: SizeConfig.screenHeight * 0.08,
                    )),
                GestureDetector(
                    onTap: _pauseAudio,
                    child: Image.asset(
                      _isPlayIcon ? "assets/images/audio_pause.png" : "assets/images/audio_play.png",
                      height: SizeConfig.screenHeight * 0.085,
                    )
                ),
                GestureDetector(
                    onTap: ()async {
                      playerController.onCurrentDurationChanged.listen((duration) {
                        duration=5000;

                      });
                      forwardAudioBy15Seconds();
                      setState(()async {
                        Duration forwardDuration = Duration(seconds: 5);
                        await playerController.getDuration(DurationType.current);
                        forwardDuration.inSeconds;

// Seek forward by a specific duration
// Duration currentPosition = playerController.getDuration(DurationType.current);
// Duration forwardDuration = Duration(seconds: 5); // Seek forward by 5 seconds
// Duration targetPosition = currentPosition + forwardDuration;
//
// if (targetPosition > playerController.) {
// // Adjust target position to the maximum duration if it exceeds the duration
// targetPosition = playerController.duration;
// }
//
// await playerController.seekTo(targetPosition);
var duration = playerController.getDuration(DurationType.current);
print("duration===>"+duration.toString());

                      });
                    },
                    child: Image.asset(
                      "assets/images/forward.png",
                      height: SizeConfig.screenHeight * 0.08,
                    )),
              ],
            ),
          )
              : GestureDetector(
              onTap: () {
                _startRecording();
              },
              child: Image.asset(
                recorderController.isRecording
                    ?
                "assets/images/audio_pause.png":
                "assets/images/mic.png",
                height: SizeConfig.screenHeight * 0.085,
              )),

        ],
      ),
    ),
  ),
);

}
}

buildTypes and productFlavors

This repo is awesome!
If you could illustrate how to configure buildTypes and productFlavors in a flutter perspective, that would be great

please provide an example how to call android foreground service from flutter.

I have an android app in which I have a foreground service which runs for every 24 hours and download few things. Now I want to port app to flutter, but I'm unable to understand properly how to call that foreground service. I searched online and found we can use platform channels to talk with native platform code but I'm quite unable to get it. please provide an example to run android foreground service from flutter. Thanks in advance.

code for the Wallfy example

Thanks for sharing the examples: Could you point to the code for the Walfy example. You only show the gif but no link is provided for the code or youtube video

Thank you

how to solve this?

package:http/http.dart
That library is in a package that is not known. Maybe you forgot to mention it in your pubspec.yaml file?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.