java - 如何从MySQL数据库获取数据到android

标签 java android mysql android-layout

在我的应用程序中,我想在 Android 应用程序 TextViews 上显示保存在 MY_SQL 中的数据。我该怎么做

我的 android 应用程序布局是:

     <LinearLayout 
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:gravity="center">


    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/cus_name"
        android:gravity="center"
        android:clickable="true"
        android:focusable="true"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/cus_name_txta"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge"/>

    </LinearLayout>

   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center">

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/contact_no"
        android:clickable="true"
        android:focusable="true"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView 
        android:id="@+id/contact_no_txta"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center" />

   </LinearLayout>

    <LinearLayout 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical"
       android:gravity="center">

    <TextView
             android:id="@+id/textView4"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/ticket_no"
             android:clickable="true"
             android:focusable="true"
             android:gravity="center"
             android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView 
        android:id="@+id/ticket_no_txta"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge" />

   <requestFocus />

    </LinearLayout>

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:gravity="center">

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:focusable="true"
        android:gravity="center"
        android:text="@string/task_detail"
        android:textAppearance="?android:attr/textAppearanceLarge" />


         <TextView
             android:id="@+id/task_detail_txt"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:gravity="center"/>

    </LinearLayout>



     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:gravity="center"
         android:orientation="vertical" >

         <TextView
             android:id="@+id/textView6"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:gravity="center"
             android:text="@string/attend_by"
             android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView 
        android:id="@+id/attend_by_txta"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge" />

我的java代码是:

public static String attend_by_txt;

TextView cus_name_txt, contact_no_txt, ticket_no_txt;
TextView task_detail_txt;
 EditText attend_by_txtbx;



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_task);


    this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);


    cus_name_txt = (TextView)findViewById(R.id.cus_name_txta);

           contact_no_txt = (TextView)findViewById(R.id.contact_no_txta);

    task_detail_txt = (TextView)findViewById(R.id.task_detail_txt);

当我点击 customer_name、Contact_No、ticket_No、Task_detail 时,我想要它。它显示保存在 MY_SQL 中的数据。请指导我如何从数据库中检索数据并将其显示在 android 中。我会非常感谢你。

最佳答案

这取决于您是希望数据库位于本地还是存储在远程服务器上。

如果它是本地的,您必须将您的 MYSQL 数据库转换为 SQLite 数据库,因为这是 Android 支持的数据库。

有关说明,请参见此处:

Convert MySQL to SQlite

然后您可以使用 native android 方法访问它。在此处查看数据库教程:

http://www.vogella.com/articles/AndroidSQLite/article.html

如果它托管在远程服务器上,那么您必须创建您的 Android 应用可以使用的 REST API(通过使用 PHP、Ruby、Python 等语言编写服务器端代码)消费从数据库中获取数据。

还有其他选项也可以避免使用 REST API。见:

How to get from a MySql server to an Android app?

有关 REST 的初学者教程,请参见此处:

http://net.tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/

关于java - 如何从MySQL数据库获取数据到android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13678026/

相关文章:

Android Studio-Gradle : How to replace variables in a file

java - super 录音机不写入文件

PHP MYSQL : instant select + insert

mysql - 在 MYSQL 中获取第一个解锁行

java - 如何创建 OSGI 包?

java - 如何创建类的对象

java - 使用 Java 通过 HTTP 发送文件内容

java - 如何从 application.yml 文件注入(inject)属性?

Android Studio - 删除的依赖项并未从外部库中删除

php - PDO - 与手动执行相比,特定查询速度非常慢