patriques82 / alphavantage4j

(Repository is not maintained anymore) A Java wrapper to get stock data and stock indicators from the Alpha Vantage API
https://www.alphavantage.co/
Apache License 2.0
124 stars 73 forks source link

Does this work in Android? #45

Open liveaffiliates opened 5 years ago

liveaffiliates commented 5 years ago

Hi, Thank you for putting this library together!

I've been trying to get this to workin android but I get this error:

java.lang.BootstrapMethodError: Exception from call site #37 bootstrap method

This is the main activity: `public class MainActivity extends AppCompatActivity {

  @Override
protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      StrictMode.ThreadPolicy threadPolicy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
      StrictMode.setThreadPolicy(threadPolicy);

      try {

          String apiKey = "5O67OT1RXVG9ABJ";
          int timeout = 3000;
          AlphaVantageConnector apiConnector = new AlphaVantageConnector(apiKey, timeout);

          TimeSeries stockTimeSeries = new TimeSeries(apiConnector);

          IntraDay response = stockTimeSeries.intraDay("MSFT", Interval.ONE_MIN, OutputSize.COMPACT);
          Map<String, String> metaData = response.getMetaData();
          System.out.println("Information: " + metaData.get("1. Information"));
          System.out.println("Stock: " + metaData.get("2. Symbol"));

          List<StockData> stockData = response.getStockData();

          for (int i = 0; i < stockData.size(); i++) {
              StockData stock = stockData.get(i);
              System.out.println("date:   " + stock.getDateTime());
              System.out.println("open:   " + stock.getOpen());
              System.out.println("high:   " + stock.getHigh());
              System.out.println("low:    " + stock.getLow());
              System.out.println("close:  " + stock.getClose());
              System.out.println("volume: " + stock.getVolume());
          }

      } catch (AlphaVantageException e) {
          System.out.println("something went wrong");
      }
  }

}`

This is the full stacktrace:

03-04 16:34:49.241 9679-9679/com.roboticc.stockswipe E/AndroidRuntime: FATAL EXCEPTION: main Process: com.roboticc.stockswipe, PID: 9679 java.lang.BootstrapMethodError: Exception from call site #37 bootstrap method at org.patriques.output.timeseries.IntraDay$Parser.resolve(IntraDay.java:59) at org.patriques.output.timeseries.IntraDay$Parser.resolve(IntraDay.java:42) at org.patriques.output.timeseries.TimeSeriesParser.resolve(TimeSeriesParser.java:49) at org.patriques.output.JsonParser.parseJson(JsonParser.java:62) at org.patriques.output.timeseries.IntraDay.from(IntraDay.java:33) at org.patriques.TimeSeries.intraDay(TimeSeries.java:36) at com.roboticc.stockswipe.MainActivity.onCreate(MainActivity.java:39) at android.app.Activity.performCreate(Activity.java:7136) at android.app.Activity.performCreate(Activity.java:7127) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.lang.ClassCastException: Bootstrap method returned null

Thanks