1 package com.example.showdatafromsqlite; 2 3 4 public class UserPhone { 5 6 private int id ; 7 private String name; 8 private String telephone; 9 public int getId() { 10 return id; 11 } 12 public void setId(int id) { 13 this.id = id; 14 } 15 public String getName() { 16 return name; 17 } 18 public void setName(String name) { 19 this.name = name; 20 } 21 public String getTelephone() { 22 return telephone; 23 } 24 public void setTelephone(String telephone) { 25 this.telephone = telephone; 26 } 27 @Override 28 public String toString() { 29 return "UserPhone [id=" + id + ", name=" + name + ", telephone=" 30 + telephone + "]"; 31 } 32 public UserPhone(int id, String name, String telephone) { 33 super(); 34 this.id = id; 35 this.name = name; 36 this.telephone = telephone; 37 } 38 public UserPhone() { 39 super(); 40 // TODO Auto-generated constructor stub 41 } 42 43 }
UserPhone.java
1 package com.example.showdatafromsqlite; 2 3 import android.content.ContentValues; 4 import android.content.Context; 5 import android.database.sqlite.SQLiteDatabase; 6 import android.database.sqlite.SQLiteDatabase.CursorFactory; 7 import android.database.sqlite.SQLiteOpenHelper; 8 import android.text.AlteredCharSequence; 9 import android.util.Log; 10 11 public class MydbOpenHelper extends SQLiteOpenHelper { 12 13 // 14 public MydbOpenHelper(Context context, String name, CursorFactory factory, 15 int version) { 16 super(context, name, factory, version); 17 // TODO Auto-generated constructor stub 18 } 19 20 21 //oncreate函数当数据库第一次被创建的时候会调用 22 @Override 23 public void onCreate(SQLiteDatabase db) { 24 // TODO Auto-generated method stub 25 String createtable = "create table userphone(id int, name varchar(20), telephone char(11));"; 26 db.execSQL(createtable); 27 28 29 ContentValues c = new ContentValues(); 30 //id int ,name string ,password string 31 for(int i=1;i<50;i++){ 32 c.put("id", i); 33 c.put("name", "user"+i); 34 if(i<10) 35 c.put("telephone", "1371111111"+i); 36 else { 37 c.put("telephone", "137111111"+i); 38 } 39 db.insert("userphone", null, c); 40 } 41 42 System.out.println("MydbOpenHelper.onCreate()"); 43 } 44 45 46 //onUpgrade当你的数据库版本升级的时候会调用 47 @Override 48 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 49 // TODO Auto-generated method stub 50 //更改数据库的表结构 51 // user(id,name,password) user(id,name,password,gender) 52 // 53 // db.execSQL(""); 54 Log.i("MydbOpenHelper", "oldervserion"+oldVersion+"newversion"+newVersion); 55 System.out.println("MydbOpenHelper.onUpgrade()"); 56 57 } 58 59 }
MydbOpenHelper.java
1 package com.example.showdatafromsqlite; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import android.app.Activity; 7 import android.database.Cursor; 8 import android.database.sqlite.SQLiteDatabase; 9 import android.os.Bundle; 10 import android.util.Log; 11 import android.view.Menu; 12 import android.view.MenuItem; 13 import android.view.View; 14 import android.view.ViewGroup; 15 import android.widget.BaseAdapter; 16 import android.widget.ListView; 17 import android.widget.TextView; 18 19 public class MainActivity extends Activity { 20 List <UserPhone> list = new ArrayList <UserPhone>(); 21 UserPhone userPhone; 22 23 @Override 24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 setContentView(R.layout.activity_main); 27 28 MydbOpenHelper helper = new MydbOpenHelper(this, "telphone.db", null, 1); 29 SQLiteDatabase db = helper.getReadableDatabase(); 30 Cursor c = db.rawQuery("select * from userphone", null); 31 32 while(c.moveToNext()){ 33 int id = c.getInt(0); 34 String name = c.getString(1); 35 String telephone = c.getString(2); 36 37 Log.i("test", id+","+name+","+telephone); 38 userPhone = new UserPhone(id, name, telephone); 39 list.add(userPhone); 40 } 41 db.close(); 42 43 ListView listView = (ListView)findViewById(R.id.listview); 44 BaseAdapter ba = new BaseAdapter(){ 45 46 @Override 47 public int getCount() { 48 // TODO Auto-generated method stub 49 return list.size(); 50 } 51 52 @Override 53 public Object getItem(int position) { 54 // TODO Auto-generated method stub 55 return null; 56 } 57 58 @Override 59 public long getItemId(int position) { 60 // TODO Auto-generated method stub 61 return 0; 62 } 63 64 @Override 65 public View getView(int position, View convertView, ViewGroup parent) { 66 View v; 67 if(convertView == null){ 68 v = View.inflate(MainActivity.this, R.layout.itemlayout, null); 69 } 70 else{ 71 v = convertView; 72 } 73 //往该布局内填充数据 74 UserPhone user = list.get(position); 75 TextView tv_id = (TextView) v.findViewById(R.id.tv_id); 76 TextView tv_name = (TextView) v.findViewById(R.id.tv_name); 77 TextView tv_telephone = (TextView) v.findViewById(R.id.tv_telephone); 78 79 tv_id.setText(user.getId() + ""); 80 tv_name.setText(user.getName()); 81 tv_telephone.setText(user.getTelephone()); 82 return v; 83 } 84 85 }; 86 listView.setAdapter(ba); 87 88 89 } 90 91 92 }
MainActivity.java
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:paddingBottom="@dimen/activity_vertical_margin" 6 android:paddingLeft="@dimen/activity_horizontal_margin" 7 android:paddingRight="@dimen/activity_horizontal_margin" 8 android:paddingTop="@dimen/activity_vertical_margin" 9 tools:context="com.example.showdatafromsqlite.MainActivity" 10 android:orientation="vertical"> 11 12 <TextView 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:text="@string/hello_world" /> 16 <!-- <ScrollView 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content"> 19 <LinearLayout 20 android:id="@+id/linearlayout" 21 android:layout_width="wrap_content" 22 android:layout_height="wrap_content" 23 android:orientation="vertical" 24 ></LinearLayout> 25 </ScrollView> --> 26 27 <ListView 28 android:id="@+id/listview" 29 android:layout_width="fill_parent" 30 android:layout_height="wrap_content" 31 android:dividerHeight="5dp" > 32 </ListView> 33 34 </LinearLayout>
activity_main.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 <TextView 7 android:id="@+id/tv_id" 8 android:layout_width="fill_parent" 9 android:layout_height="wrap_content" 10 /> 11 <LinearLayout 12 android:layout_width="fill_parent" 13 android:layout_height="wrap_content" 14 android:orientation="horizontal"> 15 <TextView 16 android:id="@+id/tv_name" 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 /> 20 <TextView 21 android:id="@+id/tv_telephone" 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 /> 25 26 </LinearLayout> 27 </LinearLayout>
itemlayout.xml
效果图:(可上下滑动)
时间: 2024-10-09 10:32:08