package Ġcom . a ife ii . nano httpd demo Ċ Ċ import Ġandroid . net . wifi . Wifi Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġcom . a ife ii . nano httpd demo . http Server . Nano Http d Server Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . android . synt hetic . main . content _ main .* ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlisten Port Ġ= Ġ 8 0 8 0 ĊĠĠĠ Ġprivate Ġval Ġserver Ġ= ĠN ano Http d Server ( null , Ġlisten Port ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġfab . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġ" Replace Ġwith Ġyour Ġown Ġaction ", ĠSn ackbar . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction (" Action ", Ġnull ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġwifi Manager Ġ= Ġapplication Context . getSystem Service ( WIFI _ SERVICE ) Ġas ĠW ifi Manager ĊĠĠĠĠĠĠĠ Ġval Ġwifi Info Ġ= Ġwifi Manager . connection Info ĊĠĠĠĠĠĠĠ Ġval Ġip Address Ġ= Ġwifi Info . ipAddress ĊĊĠĠĠĠĠĠĠ Ġval Ġip Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ipAddress Ġand Ġ 0 xff ). toString () Ġ+ Ġ"." Ġ+ Ġ( ipAddress Ġshr Ġ 8 Ġand Ġ 0 xff ) Ġ+ Ġ"." Ġ+ Ġ( ipAddress Ġshr Ġ 1 6 Ġand Ġ 0 xff ) Ġ+ Ġ"." Ġ+ Ġ( ipAddress Ġshr Ġ 2 4 Ġand Ġ 0 xff ) ĊĊĠĠĠĠĠĠĠ Ġtv 1 . text Ġ= Ġ" http :// $ ip :$ listen Port " ĊĊĠĠĠĠĠĠĠ ĠThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . start () ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġserver . stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHandle Ġaction Ġbar Ġitem Ġclicks Ġhere . ĠThe Ġaction Ġbar Ġwill ĊĠĠĠĠĠĠĠ Ġ// Ġautomatically Ġhandle Ġclicks Ġon Ġthe ĠHome / Up Ġbutton , Ġso Ġlong ĊĠĠĠĠĠĠĠ Ġ// Ġas Ġyou Ġspecify Ġa Ġparent Ġactivity Ġin ĠAndroid Manifest . xml . ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ settings Ġ-> Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ