如何将我的计算机中的MySql数据库连接到android应用程序。?

时间:2015-12-01 11:45:53

标签: java android mysql

如何将我的本地计算机中的MySQL数据库连接到Android应用程序。 这有可能。?

我开发了一个完美的Android应用程序。现在我需要从我的本地计算机中访问MySQL数据库中的一些数据。我正在寻找解决方案,因为2周后。 请帮我解决

---------------------------
| Order_id  |   Toatl Amt |
|-------------------------|
| 1025566   | 99.50       |
|-------------------------|
| 1125426   | 50.00       |
|-------------------------|
| 1025555   | 150.00      |
---------------------------

这是我的数据库表&#34; Bill&#34;在我的本地PC。我需要从我的手机中安装的Android应用程序访问这个数据库。当我在我的移动应用程序中输入订单ID时,我需要获取特定Oreder_id的total_amt。但问题是此表位于本地计算机< / strong>即可。我无法从移动应用程序访问此数据库direclty。是否有任何解决方案

3 个答案:

答案 0 :(得分:0)

您需要本地计算机上的网络服务器,例如ApacheNGINX,以及适当的配置,以便您的计算机在本地网络上得到识别。然后,您应该能够将主机(即本地计算机)编程到Android应用程序中进行测试,然后通过本地网络进行访问。给定MySQL和Web服务器配置设置,您应该能够指定一个端口,提供对本地mysql服务器的访问。

答案 1 :(得分:0)

你需要一台服务器。 Apache服务器很好。 最简单的方法(也有点脏)就是在服务器上登录,无论App是什么。 然后在Android Studio中,您可以使用Webview并加载您的服务器。 您需要知道加载通常需要时间。 如果您计划使用日常连接进行应用,最好查看 Todd的回答,但如果您只需要一些数据,那么您可以使用Webview。

以下是代码:

<强> MainActivity.java

public class MainActivity extends AppCompatActivity {
    WebView mWebView; //your webview
    final String url ="http://www.yourwebpage.com"; // string with your webpage url
    ProgressDialog mProgress; //progress dialog that appears if your connection is not good (its an extra)

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        getSupportActionBar().hide();
        mWebView = (WebView) findViewById(R.id.webView); //your webview
        WebSettings ajustes = mWebView.getSettings(); //your websettings (i am spanish so i called it "ajustes")
        ajustes.setJavaScriptEnabled(true); //enable javascript in your webview
        ajustes.setBuiltInZoomControls(true);
        ajustes.setSupportZoom(true);
        mWebView.getSettings().setLoadWithOverviewMode(true);
        mWebView.getSettings().setUseWideViewPort(true);

        mWebView.setWebViewClient(new MyWebClient());
        mWebView.loadUrl(url); // here you call your url string that you made before
        mProgress = ProgressDialog.show(this, "Loading...", "Wait please...."); // progress dialog text

        mWebView.setWebViewClient(new WebViewClient() {
            public void onReceivedError(WebView view, int errorCode,
                                        String description, String failingUrl) { // in this fuction you deal with connection error so you show a toast that tells you that tere is not connection

                Toast.makeText(main_activity.this, "THERE IS NOT CONNECTION.TRY AGAIN LATER", Toast.LENGTH_LONG).show();
            }

            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) { //when your page finishes loading, your progressdialog will disappear
                if (mProgress.isShowing()) {
                    mProgress.dismiss();
                }
            }
        });
        // set url for webview to load
        mWebView.loadUrl(url);
    }

    private class MyWebClient extends WebViewClient {
        //AlertDialog.Builder alert = new AlertDialog.Builder(web.this);
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
}

<强> activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1">

    <WebView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/webView"
        android:layout_gravity="center_horizontal" />

</LinearLayout>

这就是所有的代码。 如果你需要更多请求。 ADIOS !!!

答案 2 :(得分:0)

您需要在计算机上设置本地服务器,我目前正在使用Xampp来访问与我的Sql DataBase联系的我的Web服务