Schlagworte:
  1. andymcnab, 29.03.2019 #1
    andymcnab

    andymcnab Threadstarter Neues Mitglied

    Servus zusammen, gibt es eine Möglichkeit eine Tabelle (mit mehreren TextViews) mit Daten einer Homepage zu befüllen?
    Also z.B. Premier League Table, Form Guide & Season Archives die Daten der Premier League Tabelle in die Tabelle eintragen.

    Grund: Ich will die Tabelle natürlich nicht manuell pflegen, sondern die Daten automatisch einlesen.

    Besten Dank
     
  2. swa00, 30.03.2019 #2
    swa00

    swa00 Moderator Team-Mitglied

    Willkommen im Forum,

    mit Libraries a la JSoup ist dies möglich

    jhy/jsoup
     
  3. andymcnab, 09.04.2019 #3
    andymcnab

    andymcnab Threadstarter Neues Mitglied

    Hi,
    super danke Dir. Das verstehe ich soweit.

    Ich habe nun versucht eine TabbedActivity mit zwei Tabs, in denen ich zwei verschiedene Fragmente anzeigen möchte zu erstellen.
    Ich bekomme es momentan noch nicht hin den Text aus der HTML Seite in meine TextViews zu schreiben.

    Mein Code sieht so aus:
    @override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
    mParam1 = getArguments().getString(ARG_PARAM1);
    mParam2 = getArguments().getString(ARG_PARAM2);
    }
    new Website().execute();
    }

    // Title AsyncTask
    private class Website extends AsyncTask<Void, Void, Void> {
    String title;
    final StringBuilder builder = new StringBuilder();
    final StringBuilder tabellenerster = new StringBuilder();

    @override
    protected void onPreExecute() {
    super.onPreExecute();
    }
    @override
    protected Void doInBackground(Void... params) {
    try {
    // Connect to the web site
    Document doc = Jsoup.connect("Tabelle - B-Klasse Nord - Donau - FuPa").get();
    // Get the html document title
    title = doc.title();

    Elements erster = doc.select("#ip_content_wrapper > div.content > div.content_standard > table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_meister > td.tab_team_name");
    //Platz 1
    for (Element link : erster) {
    tabellenerster.append(link.text());
    }
    }
    catch (IOException e) {
    builder.append("Error : ").append(e.getMessage()).append("\n");
    }
    return null;
    }

    @override
    protected void onPostExecute(Void result) {

    // Set title into TextView
    TextView txttitle = (TextView) getView().findViewById(R.id.titletxt);
    txttitle.setText(title);

    TextView erster = (TextView) getView().findViewById(R.id.erster);
    erster.setText(tabellenerster.toString());

    }
    }

    Vielleicht kann mir nochmal jemand helfen oder einen Tipp geben.

    Danke!
     
  4. swa00, 09.04.2019 #4
    swa00

    swa00 Moderator Team-Mitglied

    Schau dir mal deinen Errorlog an , da steht mit an Sicherheit grenzender Wahrscheinlichkeit drin , dass du nicht auf den UI Thread zugreifen kannst.

    P.S Bitte in Zukunft direkt den Errorlog mitschicken , sonst können wir nicht mehr helfen
     
    Zuletzt bearbeitet: 09.04.2019
  5. andymcnab, 09.04.2019 #5
    andymcnab

    andymcnab Threadstarter Neues Mitglied

    Hi,

    sry dafür. Ich bekomme keinen Errror, also meine App läuft auf dem AVD, aber der Text in der TextView wird nicht ersetzt.
     
  6. jogimuc, 09.04.2019 #6
    jogimuc

    jogimuc Erfahrenes Mitglied

    Hallo eine frage zwischen durch wird in der onPostExecute Methode den auch dein Titel ausgegeben?

    Das mit dem final für tabellenerster bezweifle 9ch etwas wurde das auch mal weglassen.
    Oder als Parameter an die Methode onpostexecute übergeben.

    So wie saw00 sagte das du im thread it die zu zugreifen stimmt nicht kann ich nicnt erkennen.
    Die onPostExecute läuft im UI . Nur doInBackground läuft im thread .
     
  7. andymcnab, 09.04.2019 #7
    andymcnab

    andymcnab Threadstarter Neues Mitglied

    Ich habe jetzt mal versucht nur den Title der Website auszugeben. Das sieht dann folgendermaßen aus und sollte meiner Meinung nach funktionieren:

    @override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
    mParam1 = getArguments().getString(ARG_PARAM1);
    mParam2 = getArguments().getString(ARG_PARAM2);
    }

    new Website().execute();
    }

    // Title AsyncTask
    private class Website extends AsyncTask<Void, Void, Void> {
    String title;

    @override
    protected void onPreExecute() {
    super.onPreExecute();
    }

    @override
    protected Void doInBackground(Void... params) {
    try {
    // Connect to the web site
    Document doc = Jsoup.connect("Tabelle - B-Klasse Nord - Donau - FuPa").get();
    // Get the html document title
    title = doc.title();
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    return null;
    }

    @override
    protected void onPostExecute(Void result) {

    // Set title into TextView
    TextView txttitle = (TextView) getView().findViewById(R.id.titletxt);
    txttitle.setText(title);
    }

    @override
    protected void onProgressUpdate(Void... values) {
    super.onProgressUpdate(values);
    }
    }
     
  8. jogimuc, 09.04.2019 #8
    jogimuc

    jogimuc Erfahrenes Mitglied

    Ja und wird herausgeführt oder nicht?
     
  9. andymcnab, 09.04.2019 #9
    andymcnab

    andymcnab Threadstarter Neues Mitglied

    Ja ohne Fehler, allerdings wird der Text in der TextView nicht durch den title ersetzt. Kann es etwas damit zu tun haben, dass es sich um ein Fragment handelt?
    -- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
    Es scheint hier doch Probleme zu geben:


    2019-04-09 12:07:22.763 19385-19420/com.google.android.videos W/PlayCommon: [1481] PlayEventLogger.getAuthToken: No account for auth token provided
    2019-04-09 12:07:22.760 19192-19192/? W/kworker/0:0: type=1400 audit(0.0:9193): avc: denied { module_request } for kmod="net-pf-16-proto-4-type-2-17" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
    2019-04-09 12:07:22.920 19192-19192/? I/chatty: uid=0(root) kworker/0:0 identical 4 lines
    2019-04-09 12:07:22.920 19192-19192/? W/kworker/0:0: type=1400 audit(0.0:9198): avc: denied { module_request } for kmod="net-pf-16-proto-4-type-2-17" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
    2019-04-09 12:07:42.957 1769-1769/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
    2019-04-09 12:07:42.957 1769-1769/? E/netmgr: WifiForwarder unable to open QEMU pipe: Invalid argument
    2019-04-09 12:07:57.807 19510-19512/? W/libprocessgroup: Failed to find HighPerformancetask profile: Success
    2019-04-09 12:07:57.809 19510-19512/? W/libprocessgroup: Failed to find HighIoPrioritytask profile: Success
    2019-04-09 12:07:57.809 19510-19512/? W/libprocessgroup: Failed to find TimerSlackNormaltask profile: Success
    2019-04-09 12:07:58.568 1861-5336/system_process I/ActivityManager: Force stopping com.example.utzwingen_1 appid=10123 user=0: from pid 19515
    2019-04-09 12:07:58.569 1861-5336/system_process I/ActivityManager: Killing 19468:com.example.utzwingen_1/u0a123 (adj 0): stop com.example.utzwingen_1
    2019-04-09 12:07:58.570 1861-5336/system_process W/ActivityTaskManager: Force removing ActivityRecord{2c3f637 u0 com.example.utzwingen_1/.Kader t176 f}: app died, no saved state
    2019-04-09 12:07:58.613 1861-1887/system_process W/libprocessgroup: kill(-19468, 9) failed: No such process
    2019-04-09 12:07:58.669 1861-1887/system_process W/libprocessgroup: kill(-19468, 9) failed: No such process
    2019-04-09 12:07:58.675 1861-1960/system_process W/InputDispatcher: channel '72fb086 com.example.utzwingen_1/com.example.utzwingen_1.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
    2019-04-09 12:07:58.675 1861-1960/system_process E/InputDispatcher: channel '72fb086 com.example.utzwingen_1/com.example.utzwingen_1.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
    2019-04-09 12:07:58.683 1597-1597/? I/Zygote: Process 19468 exited due to signal 9 (Killed)
    2019-04-09 12:07:58.694 1861-5336/system_process W/ActivityTaskManager: Force removing ActivityRecord{761ef67 u0 com.example.utzwingen_1/.MainActivity t176 f}: app died, no saved state
    2019-04-09 12:07:58.695 1861-5336/system_process W/InputDispatcher: Attempted to unregister already unregistered input channel '72fb086 com.example.utzwingen_1/com.example.utzwingen_1.MainActivity (server)'
    2019-04-09 12:07:58.715 1861-1887/system_process W/libprocessgroup: kill(-19468, 9) failed: No such process
    2019-04-09 12:07:58.716 1861-1887/system_process I/libprocessgroup: Successfully killed process cgroup uid 10123 pid 19468 in 110ms
    2019-04-09 12:07:58.733 1861-3050/system_process W/WindowManager: Failed looking up window callers=com.android.server.wm.WindowManagerService.windowForClientLocked:5155 com.android.server.wm.WindowState$DeathRecipient.binderDied:2380 android.os.BinderProxy.sendDeathNotice:620
    2019-04-09 12:07:58.733 1861-3050/system_process I/WindowManager: WIN DEATH: null
    2019-04-09 12:07:58.802 1861-1885/system_process W/Looper: Slow dispatch took 233ms android.ui h=com.android.server.am.ActivityManagerService$UiHandler c=null m=53
    2019-04-09 12:07:58.816 1861-1885/system_process W/Looper: Slow delivery took 246ms android.ui h=com.android.server.am.ActivityManagerService$UiHandler c=null m=32
    2019-04-09 12:07:58.886 1861-1885/system_process W/Looper: Drained
    2019-04-09 12:07:58.960 1861-1890/system_process W/ActivityManager: setHasOverlayUi called on unknown pid: 19468
    2019-04-09 12:07:58.968 2017-2214/com.android.systemui W/ndroid.systemu: JNI critical lock held for 41.047ms on Thread[16,tid=2214,Runnable,Thread*=0xdab3a000,peer=0x13780590,"pool-2-thread-1"]
    2019-04-09 12:07:58.900 1637-1637/? W//system/bin/adbd: type=1400 audit(0.0:9212): avc: denied { read } for comm=73796E6320737663203336 dev="nsfs" ino=4026531840 scontext=u:r:adbd:s0 tcontext=u:object_r:nsfs:s0 tclass=file permissive=0
    2019-04-09 12:07:59.074 18340-18423/com.google.android.googlequicksearchbox:search I/RunnerModule: Event Bus thread priority is now -2
    2019-04-09 12:07:59.075 18340-18340/com.google.android.googlequicksearchbox:search I/SearchServiceCore: Event Bus thread is enabled
    2019-04-09 12:07:59.094 18340-18340/com.google.android.googlequicksearchbox:search W/ThreadPoolDumper: Queue length for executor EventBus is now 11. Perhaps some tasks are too long, or the pool is too small.
    2019-04-09 12:07:59.201 18340-18423/com.google.android.googlequicksearchbox:search W/SessionLifecycleManager: Handover failed. Creating new session controller.
    2019-04-09 12:07:59.234 1861-3048/system_process I/ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.utzwingen_1/.MainActivity} from uid 2000
    2019-04-09 12:07:59.297 1597-1597/? I/zygote: Ignoring open file descriptor 29
    2019-04-09 12:07:59.340 1861-1886/system_process W/ActivityManager: Slow operation: 66ms so far, now at startProcess: done updating battery stats
    2019-04-09 12:07:59.353 1861-1886/system_process W/ActivityManager: Slow operation: 78ms so far, now at startProcess: building log message
    2019-04-09 12:07:59.357 1861-1886/system_process I/ActivityManager: Start proc 19527:com.example.utzwingen_1/u0a123 for activity com.example.utzwingen_1/.MainActivity
    2019-04-09 12:07:59.357 1861-1886/system_process W/ActivityManager: Slow operation: 83ms so far, now at startProcess: starting to update pids map
    2019-04-09 12:07:59.415 1861-1886/system_process W/ActivityManager: Slow operation: 141ms so far, now at startProcess: done updating pids map
    2019-04-09 12:07:59.461 19527-19527/? I/ple.utzwingen_: Not late-enabling -Xcheck:jni (already on)
    2019-04-09 12:07:59.494 19527-19527/? E/ple.utzwingen_: Unknown bits set in runtime_flags: 0x8000
    2019-04-09 12:07:59.495 19527-19527/? W/ple.utzwingen_: Unexpected CPU variant for X86 using defaults: x86
    2019-04-09 12:07:59.646 19527-19527/com.example.utzwingen_1 I/ple.utzwingen_: The ClassLoaderContext is a special shared library.
    2019-04-09 12:07:59.654 19527-19527/com.example.utzwingen_1 I/ple.utzwingen_: The ClassLoaderContext is a special shared library.
    2019-04-09 12:08:00.036 1625-1852/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
    2019-04-09 12:08:00.046 18340-18423/com.google.android.googlequicksearchbox:search E/MicroDetectionWorker: Stale runnable..ignoring
    2019-04-09 12:08:00.055 19527-19548/com.example.utzwingen_1 W/libc: Unable to set property "qemu.gles" to "1": connection failed; errno=13 (Permission denied)
    2019-04-09 12:08:00.055 19527-19548/com.example.utzwingen_1 E/vndksupport: Could not load /vendor/lib/egl/libGLES_emulation.so from sphal namespace: dlopen failed: library "/vendor/lib/egl/libGLES_emulation.so" not found.
    2019-04-09 12:08:00.055 19527-19548/com.example.utzwingen_1 E/libEGL: load_driver(/vendor/lib/egl/libGLES_emulation.so): unknown
    2019-04-09 12:08:00.091 18340-19549/com.google.android.googlequicksearchbox:search W/LocationOracle: No location history returned by ContextManager
    2019-04-09 12:08:00.050 19527-19527/com.example.utzwingen_1 W/RenderThread: type=1400 audit(0.0:9213): avc: denied { write } for name="property_service" dev="tmpfs" ino=7432 scontext=u:r:untrusted_app_27:s0:c123,c256,c512,c768 tcontext=u:object_r:property_socket:s0 tclass=sock_file permissive=0 app=com.example.utzwingen_1
    2019-04-09 12:08:00.201 2404-19329/com.google.android.gms.persistent W/ctxmgr: [AclManager]No 3 for (accnt=account#-517948760#, com.google.android.gms(10089):UserVelocityProducer, vrsn=16088022, 0, 3pPkg = null , 3pMdlId = null , pid = 2404). Was: 3 for 1, account#-517948760# [CONTEXT service_id=47 ]
    2019-04-09 12:08:00.325 1861-5336/system_process W/AppOps: Noting op not finished: uid 10089 pkg com.google.android.gms code 79 time=1554804480318 duration=-1
    2019-04-09 12:08:00.443 2404-2404/com.google.android.gms.persistent W/.gms.persisten: JNI critical lock held for 22.191ms on Thread[1,tid=2404,Runnable,Thread*=0xf2334e00,peer=0x7288cec8,"main"]
    2019-04-09 12:08:00.496 19527-19527/com.example.utzwingen_1 W/ple.utzwingen_: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection)
    2019-04-09 12:08:00.497 19527-19527/com.example.utzwingen_1 W/ple.utzwingen_: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection)
    2019-04-09 12:08:00.620 1861-2879/system_process I/WifiService: acquireWifiLock uid=10089 lockMode=2
    2019-04-09 12:08:00.731 19527-19547/com.example.utzwingen_1 W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
    2019-04-09 12:08:00.804 1509-1509/? I/hwservicemanager: getTransport: Cannot find entry android.hardware.graphics.mapper@3.0::IMapper/default in either framework or device manifest.
    2019-04-09 12:08:00.805 19527-19547/com.example.utzwingen_1 W/Gralloc3: mapper 3.x is not supported
    2019-04-09 12:08:00.828 2404-19329/com.google.android.gms.persistent E/ctxmgr: [ProducerStatusImpl]updateStateForNewContextData: inactive, contextName=7 [CONTEXT service_id=47 ]
    2019-04-09 12:08:00.954 2404-3592/com.google.android.gms.persistent I/PlaceInferenceEngine: [anon] Changed inference mode: 1
    2019-04-09 12:08:01.041 1861-1883/system_process I/ActivityTaskManager: Displayed com.example.utzwingen_1/.MainActivity: +1s806ms
    2019-04-09 12:08:01.056 1861-2135/system_process E/InputDispatcher: Window handle Window{5793da9 u0 Splash Screen com.example.utzwingen_1} has no registered input channel
    2019-04-09 12:08:01.060 1861-3900/system_process E/InputDispatcher: Window handle Window{5793da9 u0 Splash Screen com.example.utzwingen_1} has no registered input channel
    2019-04-09 12:08:01.149 18340-19456/com.google.android.googlequicksearchbox:search I/PBSessionCacheImpl: Deleted sessionId[565303858679] from persistence.
    2019-04-09 12:08:01.171 2404-3592/com.google.android.gms.persistent I/Places: ?: PlacesBleScanner start() with priority 2
    2019-04-09 12:08:01.171 2404-3592/com.google.android.gms.persistent I/PlaceInferenceEngine: [anon] Changed inference mode: 1
    2019-04-09 12:08:01.214 18340-18423/com.google.android.googlequicksearchbox:search W/SearchServiceCore: Abort, client detached.
    2019-04-09 12:08:01.543 1861-2879/system_process I/WifiService: releaseWifiLock uid=10089
    2019-04-09 12:08:01.552 2404-3592/com.google.android.gms.persistent I/Places: Converted 1 out of 1 WiFi scans
    2019-04-09 12:08:01.575 2404-19495/com.google.android.gms.persistent I/PlaceInferenceEngine: No beacon scan available - ignoring candidates.
    2019-04-09 12:08:05.032 18340-19231/com.google.android.googlequicksearchbox:search I/EventLogSendingHelper: Sending log events.
    2019-04-09 12:08:06.276 2404-3592/com.google.android.gms.persistent I/PlaceInferenceEngine: [anon] Changed inference mode: 1
    2019-04-09 12:08:06.301 1861-3050/system_process W/AppOps: Noting op not finished: uid 10089 pkg com.google.android.gms code 79 time=1554804486300 duration=-1
    2019-04-09 12:08:06.348 1861-3050/system_process W/AppOps: Noting op not finished: uid 10089 pkg com.google.android.gms code 79 time=1554804486347 duration=-1
    2019-04-09 12:08:06.429 1861-3050/system_process W/AppOps: Noting op not finished: uid 10089 pkg com.google.android.gms code 79 time=1554804486429 duration=-1
    2019-04-09 12:08:06.348 2404-3592/com.google.android.gms.persistent I/PlaceInferenceEngine: [anon] Changed inference mode: 1
    2019-04-09 12:08:10.030 18340-19549/com.google.android.googlequicksearchbox:search I/EventLogSendingHelper: Sending log events.
    2019-04-09 12:08:10.040 18340-18423/com.google.android.googlequicksearchbox:search I/WorkerManager: dispose()
    2019-04-09 12:08:10.044 18340-18423/com.google.android.googlequicksearchbox:search W/ThreadPoolDumper: Queue length for executor EventBus is now 11. Perhaps some tasks are too long, or the pool is too small.
    2019-04-09 12:08:10.047 1861-1883/system_process E/memtrack: Couldn't load memtrack module
    2019-04-09 12:08:10.049 1861-1883/system_process W/android.os.Debug: failed to get memory consumption info: -1
    2019-04-09 12:08:11.348 1603-3538/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 35134154 , only wrote 35134133
    2019-04-09 12:08:11.485 19527-19527/com.example.utzwingen_1 W/ple.utzwingen_: Accessing hidden field Landroid/widget/AbsListView;->mIsChildViewEnabled:Z (greylist, reflection)
    2019-04-09 12:08:11.636 1613-1766/? I/chatty: uid=1000(system) HwBinder:1613_2 identical 1 line
    2019-04-09 12:08:12.501 1861-3050/system_process I/ActivityTaskManager: START u0 {cmp=com.example.utzwingen_1/.Kader} from uid 10123
    2019-04-09 12:08:11.878 19527-19547/com.example.utzwingen_1 I/chatty: uid=10123(com.example.utzwingen_1) RenderThread identical 5 lines
    2019-04-09 12:08:12.567 19527-19527/com.example.utzwingen_1 W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@7655a13
    2019-04-09 12:08:13.055 1613-1766/? I/chatty: uid=1000(system) HwBinder:1613_2 identical 1 line
    2019-04-09 12:08:15.637 1603-1757/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 35510660 , only wrote 35323179
    2019-04-09 12:08:20.108 1861-1883/system_process E/memtrack: Couldn't load memtrack module
    2019-04-09 12:08:20.108 1861-1883/system_process W/android.os.Debug: failed to get memory consumption info: -1
    2019-04-09 12:08:23.472 1861-2879/system_process E/memtrack: Couldn't load memtrack module
    2019-04-09 12:08:23.472 1861-2879/system_process W/android.os.Debug: failed to get memory consumption info: -1
     
  10. jogimuc, 09.04.2019 #10
    jogimuc

    jogimuc Erfahrenes Mitglied

    Dann füge dir doch mal ein Log für die variable text in der doInBackground ein. Oder benutze den Debugger um zu sehen welchen Wert deine variable annimmt.

    Wenn du dich wirklich in einem fragment befindest brauchst du den Context der activity für das findviewbyid. Da du deine asynctask klasse aus der oncreate startest bist du wohl noch nicht im fragment .
     
  11. andymcnab, 09.04.2019 #11
    andymcnab

    andymcnab Threadstarter Neues Mitglied

    Das Problem scheint "Couldn't load memtrack module" zu sein?

    Kann das sein?
    -- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
    Kann ich Euch noch weitere Infos geben? Ich bin nicht der Oberprogrammierer und momentan wirklich verzweifelt...
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Zuletzt geklickten Button automatisch auf Invisible setzen Android App Entwicklung 01.11.2018
Du betrachtest das Thema "Fußballtabelle automatisch befüllen..." im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.