0

我正在用一本书'headfirst python'做python练习,并使用python和sl4a制作android应用程序我的代码是

import android
import json
import time

from urllib import urlencode
from urllib2 import urlopen

hello_msg     = "Welcome to Coach Kelly's Timing App"
list_title    = 'Here is your list of athletes:'
quit_msg      = "Quitting Coach Kelly's App."
web_server    = 'http://127.0.0.1:8080'
get_names_cgi = '/cgi-bin/generate_name.py'

def send_to_server(url, post_data=None):
    if post_data:
        page = urlopen(url, urlencode(post_data))
    else:
        page = urlopen(url)
    return(page.read().decode("utf8"))

app = android.Android()

def status_update(msg, how_long=2):
    app.makeToast(msg)
    time.sleep(how_long)

status_update(hello_msg)

athlete_names = sorted(json.loads(send_to_server(web_server + get_names_cgi)))
app.dialogCreateAlert(list_title)
app.dialogSetSingleChoiceItems(athlete_names)
app.dialogSetPositiveButtonText('Select')
app.dialogSetNegativeButtonText('Quit')
app.dialogShow()
resp = app.dialogGetResponse().result

status_update(quit_msg) 

这是我的代码,结果是 在此处输入图像描述

问题是什么???我无法弄清楚问题是什么......

4

2 回答 2

2

使用 10.0.2.2:8080

因为如果您在计算机 127.0.0.1:(port) 中同时运行服务器和仿真器,则本地 IP 将引用仿真器,那么您需要服务器的另一个本地 IP,它将自动为 10.0.2.2

希望我把它弄清楚了,很高兴我能帮上忙

于 2013-11-10T09:50:28.873 回答
0

遵循 @Coderji 的解决方案后,我终于能够解决这个问题,尽管使用不同的 IP 地址;因为建议的 10.0.2.2 对我不起作用。对我有用的是访问终端 ipconfig,然后使用 cmd 提供的任何 ipv4 地址(它们似乎都可以工作)。干杯。

于 2020-03-09T10:32:03.060 回答