Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android實現查詢數據庫,把數據庫內容顯示到屏幕

Android實現查詢數據庫,把數據庫內容顯示到屏幕

編輯:關於Android編程

首先,是布局文件,非常的簡單,一個可以滑動的ScrollView包裹一個線性布局,線性布局裡面無內容

 

<scrollview xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent">

    <linearlayout android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">
    </linearlayout>

</scrollview>

為了方面使用,我們定義一個person類,這個類中包含了我們需要查詢的那個數據庫的信息名稱。

 

 

package com.neusoft.show.domal;

public class Person {
	private String _id;
	private String name;
	private String salary;
	private String phone;

	public Person(String _id, String name, String salary, String phone) {
		super();
		this._id = _id;
		this.name = name;
		this.salary = salary;
		this.phone = phone;
	}

	public String get_id() {
		return _id;
	}

	public void set_id(String _id) {
		this._id = _id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSalary() {
		return salary;
	}

	public void setSalary(String salary) {
		this.salary = salary;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	@Override
	public String toString() {
		return  _id + "," + name + ", " + salary+ ", " + phone ;
	}

}

接下來,再來一個MyOpenHelper類,這個類用來創建數據庫和升級數據庫用的

 

 

package com.neusoft.show;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MyOpenHelper extends SQLiteOpenHelper {

	public MyOpenHelper(Context context) {
		super(context,"people.db",null, 1);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL("create table person(_id integer primary key autoincrement,name char(20),salary char(20),phone char(20))");
	}

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		// TODO Auto-generated method stub
		System.out.print("數據庫升級了!!!");

	}

}

最後一步,就是把數據庫中的內容顯示到手機的屏幕上。理所應當,我們應該查詢數據庫,然後得到值,再把它顯示到手機屏幕上。這裡由於剛開始學,所以,我們用的最簡單的TextView,就沒用ListView了。我的思路是,每有一個數據,就創建一個TextView,然後把這些TextView插入到一個List集合中,最後循環顯示到界面。

 

 

package com.neusoft.show;

import java.util.ArrayList;
import java.util.List;

import com.neusoft.show.domal.Person;

import android.R.integer;
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {
	List personList;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		personList=new ArrayList();
		
		//從數據庫裡面把數據取出來
		MyOpenHelper oh = new MyOpenHelper(this);
		SQLiteDatabase db = oh.getWritableDatabase();

		Cursor cursor = db.query("person", null, null, null, null, null, null);
		while (cursor.moveToNext()) {
			String _id = cursor.getString(cursor.getColumnIndex("_id"));
			String name = cursor.getString(cursor.getColumnIndex("name"));
			String salary = cursor.getString(cursor.getColumnIndex("salary"));
			String phone = cursor.getString(cursor.getColumnIndex("phone"));
			Person p=new Person(_id, name, salary, phone);
			
			personList.add(p);
		}
		LinearLayout ll=(LinearLayout) findViewById(R.id.ll);
		//把數據顯示到屏幕
		for(Person p:personList)
		{
			//1.集合中每有一條數據,就new一個TextView
			TextView tv=new TextView(this);
			//2.把人物的信息設置為文本的內容
			tv.setText(p.toString());
			tv.setTextSize(18);
			//3.把TextView設置成線性布局的子節點
			ll.addView(tv);
		}
	}

}

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved