package com.extension.issinfo; import android.app.Activity; import com.google.appinventor.components.annotations.*; import com.google.appinventor.components.common.*; import com.google.appinventor.components.runtime.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.HttpURLConnection; @DesignerComponent(version = 1, description = "Created by Salman Developer", category = ComponentCategory.EXTENSION, nonVisible = true, iconName = "") @SimpleObject(external = true) public class IssInfo extends AndroidNonvisibleComponent { public Activity activity; public IssInfo(ComponentContainer container) { super(container.$form()); activity = container.$context(); } @SimpleFunction() public void GetJSONText() { new Thread(new Runnable() { @Override public void run() { String url = "https://api.wheretheiss.at/v1/satellites/25544"; try { URL u = new URL(url); HttpURLConnection con = (HttpURLConnection) u.openConnection(); BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); } br.close(); postText(sb.toString()); } catch (Exception ex) { ex.printStackTrace(); postText(ex.getMessage() != null?ex.getMessage():ex.toString()); } } }).run(); } public void postText(final String text){ activity.runOnUiThread(new Runnable() { @Override public void run() { GotText(text); } }); } @SimpleEvent() public void GotText(String text){ EventDispatcher.dispatchEvent(this,"GotText",text); } }