Hallo zusammen, nach einigem Rumprobieren und API durchlesen komme ich noch nicht ans Ziel. Ich habe folgenden String:
und habe nun einen Matcher angelegt. Doch er findet den Match in meinem String nicht.
In der rot markierten Zeile passiert der Fehler mit folgender Exception
Sieht jemand den Fehler der im Code steckt?
HTML:
<!DOCTYPE html>
<html dir="ltr" lang="de">
<head>
<meta charset="utf-8" />
<link rel="dns-prefetch" href="//flags.fmcdn.net" />
<meta name="robots" content="all, follow" />
<meta name="author" content="www.fireflymedia.cz" />
<meta name="description" content="Deutschland — flagge, download, hauptstadt, bevölkerung, gesamtfläche, unabhängigkeit, höchster punkt, währung, BIP." />
<meta name="keywords" content="flagge, land" />
<title>Deutschland | Flaggen der Länder</title>
<meta property="og:title" content="Deutschland | Flaggen der Länder" />
<meta property="og:description" content="Flaggen aller Länder" />
<meta property="og:image" content="http://www.welt-flaggen.de/data/flags/normal/de.png" />
<meta property="og:url" content="http://www.welt-flaggen.de/deutschland" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="canonical" href="http://www.welt-flaggen.de/deutschland" />
<link rel="shortcut icon" href="//flags.fmcdn.net/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="//flags.fmcdn.net/style/css-ed8db08fccc5.css?1489679280" />
<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="/style/css-37f751f624ed-fix-ie6.css?1455663600" />
<![endif]-->
<script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/81280E59-F044-C340-9890-4441E8225560/main.js" charset="UTF-8"></script></head>
und habe nun einen Matcher angelegt. Doch er findet den Match in meinem String nicht.
Java:
try {
stateResult=downloadTask.execute("http://www.welt-flaggen.de/"+state).get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
Log.i("stateResult",stateResult);
Pattern p=Pattern.compile("<meta property=\"og:image\" content=\"(.?)\" />");
Matcher m=p.matcher(stateResult);
[COLOR=#ff0000]String stateCode=m.group(1);[/COLOR]
In der rot markierten Zeile passiert der Fehler mit folgender Exception
Java:
Caused by: java.lang.IllegalStateException: No successful match so far
at java.util.regex.Matcher.ensureMatch(Matcher.java:1101)
at java.util.regex.Matcher.group(Matcher.java:369)
at de.markusc.worldstates.MainActivity.downloadImage2(MainActivity.java:44)
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Sieht jemand den Fehler der im Code steckt?