yetang307

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

调用html进行图形化展示

package com.example.app_t;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity3 extends AppCompatActivity {

    private WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        // 实例化
        mWebView = (WebView) findViewById(R.id.mWebView);

        // 开启javascript 渲染
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setWebViewClient(new WebViewClient());


        Intent intent = getIntent();
        String name = intent.getStringExtra("name");


        // 载入内容
        mWebView.loadUrl("file:///android_asset/"+name+".html");

    }


}

最少换乘展示页面

package com.example.app_t;

import static com.example.app_t.unilt.ChangeChineseutils.getchinese;
import static com.example.app_t.unilt.Graph.getOne;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.example.app_t.Dao.RouteDao;
import com.example.app_t.pojo.Route;
import com.example.app_t.pojo.Site;

import java.util.List;
import java.util.Objects;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class MainActivity4 extends AppCompatActivity implements View.OnClickListener {

    TextView textView1, textView2;
    EditText editText1, editText2;
    Button button1;
    String name,Chance;

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

        GetControl();

        Intent intent = getIntent();
        name = intent.getStringExtra("name");
        String Name = "城市地铁";
        switch (name) {
            case "beijing":
                Name = "北京地铁";
                Chance ="1";
                break;
            case "shijiazhuang":
                Name = "石家庄地铁";
                Chance ="2";
                break;
        }
        textView1.setText(Name);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.button1:

                try {
                    List<Site> routes1 = ByName(String.valueOf(editText1.getText()),Chance);
                    List<Site> routes2 = ByName(String.valueOf(editText2.getText()),Chance);
                    List<Route> routes3 = All(Chance);

                    String str = "";

                    if(routes1.size()!=0&&routes2.size()!=0) {

                        int sta = Integer.parseInt(routes1.get(0).getRoute2());
                        int end = Integer.parseInt(routes2.get(0).getRoute2());
                        String[] one = getOne(routes3, sta, end);
                        int n = Integer.parseInt(one[0]);

                        for (int i = 1; i <= n; i++) {
                            if (i == 1) {
                                List<Route> routes = RouteByid(one[1], one[2], Chance);
                                if (routes.size() == 0) {
                                    routes = RouteByid(one[2], one[1], Chance);
                                }
                                if (String.valueOf(editText1.getText()) != routes.get(0).getName())
                                    str += "从'" + editText1.getText() + "'站坐*" + getchinese(one[1]) + "*到'" + routes.get(0).getName() + "'站\n\n";
                            }
                            if (i != n) {
                                List<Route> routes = RouteByid(one[i], one[i + 1], Chance);
                                if (routes.size() == 0) {
                                    routes = RouteByid(one[i + 1], one[i], Chance);
                                }
                                str += "在'" + routes.get(0).getName() + "站'从*" + getchinese(one[i]) + "*转到*" + getchinese(one[i + 1]) + "*\n\n";
                            }
                            if (i == n && i != 1) {
                                List<Route> routes = RouteByid(one[n - 1], one[n], Chance);
                                if (routes.size() == 0) {
                                    routes = RouteByid(one[n], one[i - 1], Chance);
                                }
                                if (String.valueOf(editText2.getText()) != routes.get(0).getName())
                                    str += "从'" + routes.get(0).getName() + "'站坐*" + getchinese(one[n]) + "*到'" + editText2.getText() + "'站\n\n";
                            }
                        }
                    } else {
                        str += "没有查找到相关信息,请重新输入!!!";
                    }
                    textView2.setText(str);

                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                } catch (ExecutionException e) {
                    throw new RuntimeException(e);
                }

                break;
        }
    }


    private void GetControl() {
        textView1 = findViewById(R.id.textview1);
        textView2 = findViewById(R.id.textview2);
        editText1 = findViewById(R.id.editText1);
        editText2 = findViewById(R.id.editText2);
        button1 = findViewById(R.id.button1);
        button1.setOnClickListener(this);

    }

    private static ExecutorService mExecutor = Executors.newSingleThreadExecutor();

    public static List<Route> All(String Chance) throws InterruptedException, ExecutionException {
        Future<List<Route>> result2 = mExecutor.submit(new Callable<List<Route>>() {
            public List<Route> call() throws Exception {
                // TODO Auto-generated method stub
                return RouteDao.queryAll(Chance);
            }
        });
        return result2.get();
    }

    public static List<Site> ByName(String Name,String Chance) throws InterruptedException, ExecutionException {
        Future<List<Site>> result2 = mExecutor.submit(new Callable<List<Site>>() {
            public List<Site> call() throws Exception {
                // TODO Auto-generated method stub
                return RouteDao.queryByName(Name,Chance);
            }
        });
        return result2.get();
    }


    public static List<Route> RouteByid(String Id, String Site,String Chance) throws InterruptedException, ExecutionException {
        Future<List<Route>> result2 = mExecutor.submit(new Callable<List<Route>>() {
            public List<Route> call() throws Exception {
                // TODO Auto-generated method stub
                return RouteDao.RouteByid(Id, Site,Chance);
            }
        });
        return result2.get();
    }


}

 

posted on 2023-03-24 13:17  椰糖  阅读(15)  评论(0)    收藏  举报