Call Android Kotlin Code

8 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93.98
List Price:  €131.57
You save:  €37.59
£80.28
List Price:  £112.40
You save:  £32.11
CA$138.08
List Price:  CA$193.32
You save:  CA$55.23
A$155.74
List Price:  A$218.04
You save:  A$62.30
S$136.25
List Price:  S$190.76
You save:  S$54.50
HK$782.98
List Price:  HK$1,096.21
You save:  HK$313.22
CHF 91.14
List Price:  CHF 127.60
You save:  CHF 36.46
NOK kr1,098.40
List Price:  NOK kr1,537.80
You save:  NOK kr439.40
DKK kr701.21
List Price:  DKK kr981.73
You save:  DKK kr280.51
NZ$169.22
List Price:  NZ$236.92
You save:  NZ$67.69
د.إ367.20
List Price:  د.إ514.09
You save:  د.إ146.89
৳10,977.89
List Price:  ৳15,369.49
You save:  ৳4,391.59
₹8,365.11
List Price:  ₹11,711.49
You save:  ₹3,346.38
RM479.10
List Price:  RM670.76
You save:  RM191.66
₦120,104.65
List Price:  ₦168,151.32
You save:  ₦48,046.66
₨27,833.48
List Price:  ₨38,967.99
You save:  ₨11,134.50
฿3,681.88
List Price:  ฿5,154.78
You save:  ฿1,472.90
₺3,251.57
List Price:  ₺4,552.33
You save:  ₺1,300.75
B$528.60
List Price:  B$740.07
You save:  B$211.46
R1,902.92
List Price:  R2,664.17
You save:  R761.24
Лв183.76
List Price:  Лв257.28
You save:  Лв73.51
₩138,255.79
List Price:  ₩193,563.64
You save:  ₩55,307.85
₪376.37
List Price:  ₪526.94
You save:  ₪150.56
₱5,722.47
List Price:  ₱8,011.69
You save:  ₱2,289.21
¥15,461.20
List Price:  ¥21,646.30
You save:  ¥6,185.10
MX$1,698.40
List Price:  MX$2,377.83
You save:  MX$679.43
QR364.94
List Price:  QR510.94
You save:  QR145.99
P1,382.56
List Price:  P1,935.64
You save:  P553.08
KSh13,248.67
List Price:  KSh18,548.67
You save:  KSh5,300
E£4,879.07
List Price:  E£6,830.89
You save:  E£1,951.82
ብር5,691.67
List Price:  ብር7,968.56
You save:  ብር2,276.89
Kz83,741.62
List Price:  Kz117,241.62
You save:  Kz33,500
CLP$98,036.19
List Price:  CLP$137,254.59
You save:  CLP$39,218.40
CN¥723.78
List Price:  CN¥1,013.33
You save:  CN¥289.54
RD$5,909.81
List Price:  RD$8,273.97
You save:  RD$2,364.16
DA13,475.51
List Price:  DA18,866.26
You save:  DA5,390.74
FJ$227.51
List Price:  FJ$318.52
You save:  FJ$91.01
Q778.01
List Price:  Q1,089.25
You save:  Q311.23
GY$20,943.86
List Price:  GY$29,322.24
You save:  GY$8,378.38
ISK kr14,144.58
List Price:  ISK kr19,802.98
You save:  ISK kr5,658.40
DH1,017.39
List Price:  DH1,424.39
You save:  DH407
L1,786.82
List Price:  L2,501.62
You save:  L714.80
ден5,782.34
List Price:  ден8,095.50
You save:  ден2,313.16
MOP$806.92
List Price:  MOP$1,129.72
You save:  MOP$322.80
N$1,901.80
List Price:  N$2,662.60
You save:  N$760.80
C$3,681.76
List Price:  C$5,154.62
You save:  C$1,472.85
रु13,382.26
List Price:  रु18,735.71
You save:  रु5,353.44
S/373.93
List Price:  S/523.52
You save:  S/149.59
K378.80
List Price:  K530.34
You save:  K151.53
SAR375.07
List Price:  SAR525.11
You save:  SAR150.04
ZK2,508.25
List Price:  ZK3,511.66
You save:  ZK1,003.40
L467.60
List Price:  L654.66
You save:  L187.05
Kč2,369.93
List Price:  Kč3,318
You save:  Kč948.06
Ft36,898.16
List Price:  Ft51,658.91
You save:  Ft14,760.74
SEK kr1,094.62
List Price:  SEK kr1,532.51
You save:  SEK kr437.89
ARS$86,865.91
List Price:  ARS$121,615.75
You save:  ARS$34,749.84
Bs693.67
List Price:  Bs971.16
You save:  Bs277.49
COP$390,802.63
List Price:  COP$547,139.32
You save:  COP$156,336.68
₡50,098.77
List Price:  ₡70,140.28
You save:  ₡20,041.51
L2,469.54
List Price:  L3,457.46
You save:  L987.91
₲740,758.16
List Price:  ₲1,037,091.06
You save:  ₲296,332.90
$U3,889.78
List Price:  $U5,445.86
You save:  $U1,556.07
zł408.85
List Price:  zł572.41
You save:  zł163.55
Already have an account? Log In

Transcript

Hello, in this video, I'm going to show you how to connect up your flutter Dart based project to native kotlin code. If you're interested in doing it for Java, I've got a couple of videos covering that. So feel free to check them out. This is for kotlin. So I'm just going to close this down a sec. So for kotlin, you do need to create a project in a certain way.

So I'll show you that I've already got created that way. But I'm gonna show you how to do it. So you will make sure you do new flutter project and my web is always coming to my words, my next or you're on Mac or you're on Windows, you want to go to flutter application. And now what do you want, I'm not going to actually create this I want to show you what you need to select to go to next. You need to select this include kotlin support for Android code. If you do not do that.

It's very difficult to get kotlin code in there. You know Working hundred percent. So that's why I would recommend men especially if you know that you are going to be you know, doing some kotlin. Okay, and then click finish, you create your project and then you're basically in a similar position to where I'm in. So what you want to first do is import package, colon flutter for slash services dot Dart. Hold on there.

Now the error disappeared fantastic. Scroll down to this. underscore my home page state in here. We want to do static content, Khan's platform. So this is gonna be the connection to our kotlin code. This is gonna be equal to on message channel.

And here, you can put wherever you want. It's good to put it into a for a package name formatting, do calm dot turb dot epic for slash f No, you could just have you like this or like, that's totally up to you. I like to do it like this and then like this. So I can sort of say, this is, you know, the single channel that I'm connecting to my kotlin. But I could add sub channels who could have multiple channels in the kotlin code, the person Hold on there. Now what we want to do is we are going to create a method and it's going to be a void, empty, and this simply is going to print out a result that we get back from our kotlin code when we call a particular method, and we'll do a thing and screen value.

So we are going to do it slowly block. In here we're going to say value equals a weight platform dot invoke method. And we are going to put 20 lists and this does not have to match this has to match in the kotlin side, which are showing you the second, this is going to be a catch block. For this wisdom, print out the error, if we actually get any we shouldn't do it. But just in case and we are going to print out this value as well, you don't have to print it out, you could assign it to some variable that maybe you've created here. And you can use that on some other button press, for example.

So now that's actually going to close that down, working or done here. What you want to do is go to your Android folder, app, SRC main kotlin comm dot example whatever the package name is, and main activity, ignore this red line. This is what your file would look like, by default. It's just unable to get the Android import. And if you was editing in Android Studio, which you can do so in another window, but you know, for our purposes, it's not necessary. So in here, we can actually know, first of all, thou shalt know.

Equals, and this has to be the same as what we set our method channel here that platform so just copy it to make sure you don't get any errors or any you know mistake. Now inside of the on create, just afterwards, you want to say and you know semicolons aren't required in kotlin so we can get rid of that. He's gonna put method channel inside of here, not terview Hama channel and the do dot set method call handler inside of here Look missing something Nope, we don't want bracket one curly braces. And inside of here, we are going to say method for results. So essentially like so. And this will get triggered when ever some method is trying to invoke this particular platform.

So this right here, because we put out multiple methods and multiple methods, you just change this to a different method name, we want to handle what method is actually being triggered. And we can simply do that by some method call dot method is equal to printing. So remember, there has to match exactly what we put here. If you put brackets here, make sure you put them over there. You do not need them even though it is a method. And now we're done.

We've actually handled it so this Right here, this code inside of this system will get triggered when and only when this particular platform invokes a method called printed. So in in here, if you want to return a value back into it, you could do some calculations, whatever you want with your return something back, do we build dot success, and then you put the object here, I'm just going to put a string. And I'll say, Hello, from the lean world. Yeah, that's it. We're all ready to go. So one thing to bear in mind in make sure you shut down the application, if you already have it running because hot reload and hot restart will not work on building the Android, you know, project side of, you know, what we are doing.

And you will need to do a proper restart or a proper you know, debug, stop. To be able to build the unrestored side. And that will be reflected in the new APK that is installed for you just do a modification in the dot and not in the kotlin. then most of the time hot reload and hot restart works. So we've got this button. So if I click it that's because the unpress I haven't triggered this method printing.

There we go. So now we should just be able to do a hot reload because this will just on the dark side of things. So if I click the method, it says hello from the kotlin world. And as you can see, none of that Hello from the kotlin world is in the dark side. It's in the kotlin solid. So that's how you call a method from your flutter dot sight to your Android kotlin file.

If you have any questions, feel free to shoot me a message. In the next video I'm going to show you how to pass parameters in to the kotlin file plus will be really cool and I look forward to seeing you very soon.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.