模拟器和真实的我的设备是不同的

时间:2021-04-02 04:56:44

标签: android flutter dart

我在创建应用程序时降低了 android sdk 的版本。 30 -> 26

那么在模拟器中有效的方法在我的手机上无效。 让我知道原因。

模拟器版本是 26(效果很好。) enter image description here

但我的真实设备无法正常工作:( (android sdk 版本也是 26)enter image description here

我认为这可能不是 Sdk 的问题。 从 30 变为 26 之前是一样的。

我的代码:

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Fetch(),
    );
  }
}

class Fetch extends StatefulWidget {
  @override
  _FetchState createState() => _FetchState();
}

class _FetchState extends State<Fetch> {
  //List<String> list = List();
  String txt = "";
  void _getData() async {
    String str = "https://yongwon-h.gne.go.kr/yongwon-h/main.do#";
    Uri uri = Uri.parse(str);
    final response = await http.get(uri);
    dom.Document document = parser.parse(response.body);
    //final elements = document.getElementsByTagName('h1');

    //txt = document.getElementsByTagName('h1')[0].innerHtml.replaceAll("<span>", "").replaceAll("<"+"/"+"span>", "");
    txt = document
        .getElementsByClassName('meal_list')[0]
        .innerHtml
        .replaceAll("dietDiv;", "");
    print(txt);

    setState(() {
      print(txt);

      /*     list = elements
          .map((element) =>
       element.getElementsByTagName("img")[0].attributes['src'])
          .toList();*/
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: kPrimaryColor,
        actions: <Widget>[
          IconButton(
            icon: Icon(Icons.refresh),
            onPressed: () {
              _getData();
            },
          ),
        ],
      ),
      body: Container(
        child: Column(
          children: <Widget>[
            Text(
              '음식 / 알레르기 번호\n',
              style: TextStyle(
                  fontFamily: 'cage',
                  fontSize: 25,
                  color: Colors.black,
                  fontWeight: FontWeight.bold),
            ),
            Positioned(
              bottom: 0,
              left: 0,
              child: SizedBox(
                height: MediaQuery.of(context).size.height * 0.7,
                width: MediaQuery.of(context).size.width * 1,
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.end,
                  children: <Widget>[
                    Padding(
                      padding: const EdgeInsets.symmetric(
                          horizontal: kDefaultPadding),
                      child: Text(
                        txt,
                        style: TextStyle(
                          fontFamily: 'cage',
                          fontSize: 25,
                          color: Colors.black,
                          fontWeight: FontWeight.bold,
                        ),
                      ),
                    ),
                    Spacer(),
                  ],
                ),
              ),
            ),
            Text(
              '만약 급식이 장시간동안 불러와 지지 않는다면, \n새로고침을 눌러주세요.',
              style: TextStyle(
                  fontFamily: 'cage',
                  fontSize: 20,
                  fontWeight: FontWeight.bold),
            ),
          ],
        ),
      ),
    );
  }
}

0 个答案:

没有答案