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

时间:2012-12-03 06:06:57

标签: 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中显示它。我会非常感谢你。

1 个答案:

答案 0 :(得分:3)

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

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

请参阅此处获取说明:

Convert MySQL to SQlite

然后您可以使用本机android方法访问它。请参阅此处的db教程:

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

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

还有其他选项可以避免使用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/