@@ -0,0 +1,1224 @@
+import SimpleHTTPServer%0Aimport SocketServer%0Aimport kivy%0Akivy.require('1.9.1') # replace with your current kivy version !%0Afrom kivy.clock import Clock%0Afrom kivy.app import App%0Afrom kivy.uix.label import Label%0Aimport socket%0A%0A# first find out the IP your phone has%0Aip = (%5B(s.connect(('8.8.8.8', 80)), s.getsockname()%5B0%5D, s.close()) for s in %5Bsocket.socket(socket.AF_INET, socket.SOCK_DGRAM)%5D%5D%5B0%5D%5B1%5D)%0APORT = 8008 # the port to serve%0Amsg = %22serving at port%22 + str(ip)+':'+ str(PORT) # the msg to display%0A#somehing like %22serving at port 192.168.1.1:8008%22 so we know the address to put in our browser%0A%0Adef my_callback(instance):%0A%09%22%22%22%0A%09%09This is the lighter version of a simple Python http server%0A%09%22%22%22%0A%09Handler = SimpleHTTPServer.SimpleHTTPRequestHandler%0A%09httpd = SocketServer.TCPServer((%22%22, PORT), Handler)%0A%09httpd.serve_forever() # this blocks our main thread to avoid we use Clock 'see below'%0A%0A# to avoid blocking the main thread schedule to run the server 5 seconds after the app starts%0AClock.schedule_once(my_callback, 5)%0A%0Aclass MyApp(App):%0A%09%22%22%22%0A%09%09The main app, just return a label with our msg ex. %22serving at port 192.168.1.1:8008%22%0A%09%22%22%22%0A%09def build(self):%0A%09%09return Label(text=msg)%0A%0A%0Aif __name__ == '__main__':%0A    MyApp().run()%0A

Create main.py