从数据库获取数据并在android界面中使用

问题描述 投票:0回答:1

我正在使用 Urls 类(下面给出的代码)来设置我想在我的应用程序中使用的不同网址

    public interface Urls {
        public String SERVER_BASE_URL = "http://webaddress.com/";
    public String URL_DIRECT =SERVER_BASE_URL + "token.php";
        public String URL_DIRECT2= SERVER_BASE_URL + "token2.php";
        public String URL_DIRECT3= SERVER_BASE_URL + "token3.php";
    }

现在我想将

SERVER_BASE_URL
的值从静态值更改为数据库中的值。 IP 地址已正确存储在数据库中。为此,我使用基本代码,因为我需要此页面仅出现一次来存储 IP 地址。

mydatabase = openOrCreateDatabase("IP", MODE_PRIVATE, null);
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS value1(ipaddress VARCHAR);");
String a = ip.getText().toString();
mydatabase.execSQL("INSERT INTO value1 VALUES('" + a + "');");

我使用此代码从数据库获取正确的 IP

Cursor resultSet = mydatabase.rawQuery("Select * from value1", null);
                resultSet.moveToFirst();
                address = resultSet.getString(0);

但我不知道如何以编程方式将此IP设置为

SERVER_BASE_URL

或者我想从每个活动的数据库中获取价值?

android eclipse android-activity android-sqlite android-database
1个回答
0
投票

应用程序首次启动

输入活动

XML:

<EditText
android:id = "@+id/ip_address_text"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:hint = "Enter your IP Address"
android:inputType = "text"/>

<Button
android:id = "@+id/button_submit"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "SUBMIT"/>

Java:

EditText ipText = (EditText) findViewById(R.id.ip_address_text); 
Button submitButton = (Button) findViewById(R.id.button_submit);
submitButton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
SharedPreference sp = getSharedPreferences("ANY NAME FOR PREFERENCE", Context.MODE_PRIVATE);
sp.edit().putString("ip_address", ipText.getText().toString()).apply();
      }
    });

脚本调用活动

Java:

在访问服务器之前。

SharedPreference sp = getSharedPreferences("ANY NAME FOR PREFERENCE", Context.MODE_PRIVATE);
String ipAddress = sp.getString("ip_address", "Default value");

更新代码

public interface Urls {
SharedPreference sp = getSharedPreferences("ANY NAME FOR PREFERENCE", Context.MODE_PRIVATE);
    public String SERVER_BASE_URL = sp.getString("ip_address", "Default value");
    public String URL_DIRECT =SERVER_BASE_URL + "token.php";
    public String URL_DIRECT2= SERVER_BASE_URL + "token2.php";
    public String URL_DIRECT3= SERVER_BASE_URL + "token3.php";
    }

并使用变量 url 来访问服务器。

您的问题不是指向特定部分而是询问 以便整个实施。尝试缩小您的问题范围 有利于求解者回答而不是询问整个问题 实现代码。

祝你好运!!

使用参考链接

共享首选项 1

共享首选项2

© www.soinside.com 2019 - 2024. All rights reserved.