We will be using the Firebase ML Kit Face Detection API to detect the faces in an image. The key features of the Firebase Vision Face Detection API are as follows:

  1. Recognize and return the coordinates of facial features such as the eyes, ears, cheeks, nose, and mouth of every face detected.
  2. Get the contours of detected faces and facial features.
  3. Detect facial expressions, such as whether a person is smiling or has one eye closed.
  4. Get an identifier for each individual face detected in a video frame. This identifier is consistent across invocations and can be used to perform…


Methods of integrating AI on Android and iOS

With the ever-increasing popularity of AI, mobile application users expect apps to adapt to the information that is provided and made available to them. The only way to make applications adaptive to the data is by deploying fine-tuned machine learning models to provide a delightful user experience.

Firebase ML Kit

Firebase ML Kit is a machine learning Software Development Kit (SDK) that is available on Firebase for mobile developers. It facilitates the hosting and serving of mobile machine learning models. It reduces the heavy tasks of running machine learning models on mobile devices to API…


One Button

showAlertDialog(BuildContext context) {  // set up the button
Widget okButton = FlatButton(
child: Text("OK"),
onPressed: () { },
);
// set up the AlertDialog
AlertDialog alert = AlertDialog(
title: Text("My title"),
content: Text("This is my message."),
actions: [
okButton,
],
);
// show the dialog
showDialog(
context: context,
builder: (BuildContext context) {
return alert;
},
);
}

Two Buttons


First, we need to add the firebase-messaging dependency to the ./android/app/build.gardle file. In the file, we need to add the following dependencies:

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.firebase:firebase-messaging:20.1.0'
}

Next, we need to add an action and a category as an intent-filter within the activity tag in the ./android/app/src/main/AndroidManifest.xml file:

<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Now, we need to create a Java file called Application.java in the path /android/app/src/main/java/<app-organization-path>.

Then, we need to add the code from the following code snippet inside it:

package io.flutter.plugins.pushNotification;import io.flutter.app.FlutterApplication; import io.flutter.plugin.common.PluginRegistry; import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; import io.flutter.plugins.GeneratedPluginRegistrant; import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin; import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService…

What are Dynamic Links?

Dynamic-link is a service provided by firebase that takes care of all of that for you. You can create your links in the console or programmatically and share them with other users. They allow you to define the action to take per platform and tailor the experience exactly how you want it to be. Per platform, it also automatically tracks how many people clicked the link, the platform they were on, and if they completed the intended action. In short, dynamic-link is a smart link. It is handled differently on each platform but you can choose how it’s handled.

Implementation

The…


use this function for this purpose.

1.

class DatabaseService {
final String uid;

DatabaseService({this.uid});

final CollectionReference userCollection =
Firestore.instance.collection('users');

Future deleteuser() {
return userCollection.document(uid).delete();
}
}

2.

FirebaseUser user = await FirebaseAuth.instance.currentUser();
user.delete();

  1. using function
void _changePassword(String newpassword) async{
//Create an instance of the current user.
FirebaseUser user = await FirebaseAuth.instance.currentUser();

//Pass in the password to updatePassword.
user.updatePassword(newpassword).then((_){
print("Successfully changed password");
}).catchError((error){
print("Password can't be changed" + error.toString());
//This might happen, when the wrong password is in, the user isn't found, or if the user hasn't logged in recently.
});
}

2. use of the firebase REST API way

import 'package:http/http.dart' as http; import 'dart:convert'; import 'dart:async'; Future<Null> changePassword(String newPassword) async { const String API_KEY = 'YOUR_API_KEY'; final String changePasswordUrl = 'https://www.googleapis.com/identitytoolkit/v3/relyingparty/setAccountInfo?key=$API_KEY'; final String idToken = await user.getIdToken(); // where user is FirebaseUser…

Installing Git

First, you need to install Git to be able to use it. Since not everyone prefers to use the terminal, then you are able to install a Git Gui and a Git Bash from git-SCM. After finishing the installation, if you are using the windows operating system then you can right-click and click Git Gui to open the graphical user interface.

In the below tutorial, I will give a comparison between the Git Gui and Git Bash.

Initializing a Repository and Using it

First you need to navigate to the location where you want to create a new repository, then do the following:

Git Bash:

cd Desktop/gitExample
git…

Introduction

What is Cloud Firestore?

Both Cloud Firestore and realtime database are NoSQL database, their are no joins, there are no columns or tables, and you don’t have to worry about duplicating your data. The main difference between the two is that Cloud Firestore contains collections and inside these collections, you have documents that may contain subcollections or fields mapped to a value while a real-time database can be considered as a big JSON that will contain all the data. The other also important difference to take into consideration is the queries, in a real-time database as you can tell from previous articles we can…


Complete Code:-

void main() {
int row = 8;
int col = 3;
for (int i = 1; i <= row; i++) {
if (i <= 3) {
print(" " * (4 - i) + "* " * col);
}
if (i == 4) {
print("* * * * * * ");
}
if (i == 5) {
print(" * * * * ");
}
if (i >= 6) {
print(" " * (i - 4) + "* " * col);
}
}
}

In the first three rows of the logo, we show a rhombus pattern so we make…

lokesh jangid

Flutter Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store