代碼源檔案與布局檔案全貼:
MainActivity.java
package com.baidu.listview;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity implements View.OnClickListener {
private DatabaseHelper iDatabaseHelper;
private Button Btn_CreateDB,Btn_ShowListView;
private DatabaseDAO iDatabaseDAO;
private List<DataGetSet> iList;
private LinearLayout LayoutRoot;
private ListView iListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iDatabaseHelper = new DatabaseHelper(this);
Btn_CreateDB = (Button)findViewById(R.id.Btn_SetDatabase);
Btn_ShowListView = (Button)findViewById(R.id.Btn_ShowListView);
LayoutRoot = (LinearLayout)findViewById(R.id.Layout_ShowListViewSpeace);
iListView = (ListView)findViewById(R.id.Control_ListView);
iListView.setAdapter(new MyAdapter());
Btn_CreateDB.setOnClickListener(this);
Btn_ShowListView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.Btn_SetDatabase: //創建資料庫并初始化資料
try{
iDatabaseHelper.getWritableDatabase();
}catch (Exception e){
ToastMessage(this,"例外!原因:\n"+e.getMessage().toString(),0);
}finally {
ToastMessage(this,"資料庫創建成功!",0);
iDatabaseDAO = new DatabaseDAO(MainActivity.this);
long getLongNumber = iDatabaseDAO.DataAddToBase();
if(getLongNumber!=0){
ToastMessage(this,"資料初始化成功!!",0);
}else{
ToastMessage(this,"資料初始化失敗,請稍后嘗試!!",0);
}
}
break;
case R.id.Btn_ShowListView: //顯示ListView資料
break;
}
}
private class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return iList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView TextControl = new TextView(getApplicationContext());
TextControl.setTextSize(20);
TextControl.setTextColor(Color.BLACK);
//DataGetSet iDataGetSet = iList.get(position).ID;
int id = iList.get(position).ID;
String name = iList.get(position).User_Name;
String number = iList.get(position).Phone_Number;
//TextControl.setText(iDataGetSet.toString());
TextControl.setText("ID:"+id+"\t\t"+number+"\t\t"+number);
//LayoutRoot.addView(TextControl);
return TextControl;
}
}
private void ToastMessage (Context context, String msg,int serial){
Toast.makeText(context,msg,serial).show();
}
}
------------------
DatabaseDAO.java
package com.baidu.listview;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
public class DatabaseDAO {
private DatabaseHelper iDatabaseHelper;
public DatabaseDAO (Context context){
iDatabaseHelper = new DatabaseHelper(context);
}
public long DataAddToBase(){
long getLongState = 0;
SQLiteDatabase db = iDatabaseHelper.getWritableDatabase();
ContentValues iValues = new ContentValues();
for(int i=0;i<50;i++){
iValues.put("user_name","王網速"+i);
iValues.put("phone_number","13455433"+i);
getLongState = db.insert("AppTable",null,iValues);
}
db.close();
return getLongState;
}
public List<DataGetSet> FindDataAll(){
List<DataGetSet> iDatabase = new ArrayList<DataGetSet>();
SQLiteDatabase db = iDatabaseHelper.getReadableDatabase();
Cursor iCursor = db.query("AppTable",new String[]{"id","user_name","phone_number"},null,null,null,null,null);
while(iCursor.moveToNext()){
int ID_get = iCursor.getInt(iCursor.getColumnIndex("id"));
String UserName_Get = iCursor.getString(iCursor.getColumnIndex("user_name"));
String Phone_Number_Get = iCursor.getString(iCursor.getColumnIndex("phone_number"));
DataGetSet iDataGetSet = new DataGetSet(ID_get,UserName_Get,Phone_Number_Get);
iDatabase.add(iDataGetSet);
}
return iDatabase;
}
}
-----------------
DatabaseHelper.java
package com.baidu.listview;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
super(context, "apple.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table AppTable(id integer primary key autoincrement,user_name varchar(20),phone_number varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
---------------------
DataGetSet.java
package com.baidu.listview;
public class DataGetSet {
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String getUser_Name() {
return User_Name;
}
public void setUser_Name(String user_Name) {
User_Name = user_Name;
}
public String getPhone_Number() {
return Phone_Number;
}
public void setPhone_Number(String phone_Number) {
Phone_Number = phone_Number;
}
public DataGetSet(int ID, String user_Name, String phone_Number) {
this.ID = ID;
User_Name = user_Name;
Phone_Number = phone_Number;
}
public DataGetSet() {
}
int ID;
String User_Name;
String Phone_Number;
}
---------------------
布局檔案activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/Layout_Root"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/Layout_ShowListViewSpeace"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/Layout_Meum"
android:background="#D0ECF0"
android:orientation="vertical"
>
<ListView
android:id="@+id/Control_ListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:id="@+id/Layout_Meum"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#A3D8E2"
android:orientation="horizontal">
<Button
android:id="@+id/Btn_SetDatabase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/setData" />
<Button
android:id="@+id/Btn_ShowListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAllCaps="false"
android:text="@string/showListView" />
</LinearLayout>
</RelativeLayout>
--------------------
Strings.xml
<resources>
<string name="app_name">ListView</string>
<string name="setData">初始化資料庫</string>
<string name="showListView">顯示ListView</string>
</resources>
--------------------------------------
Log報錯資訊(看不懂~)
--------------------------------------
05-06 10:59:04.138 32069-32069/? E/dalvikvm: Failed to symlink /storage/internalsd to /storage/emulated/legacy: File exists
05-06 10:59:04.408 32069-32069/com.baidu.listview E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.baidu.listview, PID: 32069
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.baidu.listview/com.baidu.listview.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2337)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1243)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:159)
at android.app.ActivityThread.main(ActivityThread.java:5377)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:976)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:792)
at dalvik.system.NativeStart.main(Native Method)
C
uj5u.com熱心網友回復:
MainActivity未寫入注冊檔案uj5u.com熱心網友回復:
什么叫未寫入注冊檔案啊?
在fest檔案里已注冊過了啊
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/35490.html
標籤:Android
上一篇:安卓activity跳轉出現問題
