編輯:Android開發實例
首先要創建一個類,繼承自SQLiteOpenHelper,用來打開數據庫
package com.SQLiteTest2;
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 static final String DB_NAME = "student";
public static final String TABLE_NAME = "student_information";
public static final String ID = "_id";
public static final String NUMBER = "number";
public static final String NAME = "name";
public MyOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists "+TABLE_NAME+" ("
+ ID + " integer primary key,"
+ NUMBER + " varchar,"
+ NAME + " varchar)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
在onCreate()函數中,我創建一個表,用來存儲學生的學號和姓名信息
然後從UI上的TextEdit控件上獲取數據
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/enter"
/>
<LinearLayout
android:orientation="horizontal"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number"
/>
<EditText
android:id="@+id/number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></EditText>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:id="@+id/LinearLayout02"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name"
/>
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></EditText>
</LinearLayout>
<Button
android:id="@+id/submit"
android:text="@string/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
<TextView
android:id="@+id/IdLongitude"
android:textSize="16px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/IdLatitude"
android:textSize="16px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
接下來就是主窗體的代碼部分了
import static com.SQLiteTest2.MyOpenHelper.*;
public class SQLiteTest2 extends Activity {
MyOpenHelper myHelper;
EditText [] textArray;
Button btn_save;
int [] textIds = {
R.id.number,
R.id.name
};
View.OnClickListener myListener = new View.OnClickListener() {
@Override
public void onClick(View v) { //保存按鈕按下觸發該事件
String [] strArray = new String[textArray.length];
for(int i = 0; i < strArray.length; i++){
strArray[i] = textArray[i].getText().toString().trim(); //獲得用戶輸入的
信息數組
}
insert(strArray);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textArray = new EditText[textIds.length];
for(int i=0;i<textIds.length;i++){
textArray[i] = (EditText)findViewById(textIds[i]);
}
myHelper = new MyOpenHelper(this, MyOpenHelper.DB_NAME, null, 1);
btn_save = (Button) findViewById(R.id.submit);
btn_save.setOnClickListener(myListener);
}
public void insert(String [] strArray)
{
SQLiteDatabase db = myHelper.getWritableDatabase(); //獲得數據庫對象
ContentValues values = new ContentValues();
values.put(NUMBER, strArray[0]);
values.put(NAME, strArray[1]);
long count = db.insert(TABLE_NAME, ID, values); //插入數據
db.close();
if(count == -1){
Toast.makeText(this, "插入失敗!", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this, "插入成功!", Toast.LENGTH_SHORT).show();
}
}
}
刪除記錄的函數
public void deleteContact(int id){
SQLiteDatabase db = myHelper.getWritableDatabase(); //獲得數據庫對象
db.delete(TABLE_NAME, ID+"=?", new String[]{id+""});
db.close();
}
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
在《Android 手機衛士(六):打包生成apk維護到服務器》一文中,實現了新版本的apk到服務器,當打開客戶端apk的時候,發現有新版本,提示更
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個