精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android平臺應(yīng)用開發(fā)實(shí)例:Notepad

移動開發(fā) Android
這個(gè)教程中將會在Android平臺上建立一個(gè)簡單的應(yīng)用開發(fā)Notepad。開發(fā)中需要調(diào)用Sqlite數(shù)據(jù)庫,以及通過xml文件定義界面等。

在這個(gè)教程中將會建立一個(gè)簡單列表界面,允許用戶添加刪除,但是不能編輯。包括如下的內(nèi)容:

◆ListActivities的基礎(chǔ)知識和如何建立菜單項(xiàng)。

◆如何使用SQLite 數(shù)據(jù)庫訪問數(shù)據(jù)。

◆如何使用ArrayAdapter綁定數(shù)據(jù)到ListView (最簡單的一種方式)。

◆最基本的Layout,包括如何顯示一個(gè)ListView,如何向一個(gè)菜單插入菜單項(xiàng)以及如何響應(yīng)菜單

第一步 建立工程

使用Eclipse建立一個(gè)工程N(yùn)otepad

第二步 如何使用Sqlite數(shù)據(jù)庫

和系統(tǒng)相關(guān)的接口調(diào)用都要用到Context類。

1打開數(shù)據(jù)庫

代碼片段:

public DBHelper(Context ctx) {
try {
//打開已經(jīng)存在的數(shù)據(jù)庫
db = ctx.openDatabase(DATABASE_NAME, null);
} catch (FileNotFoundException e) {
try {
//建立新的數(shù)據(jù)庫
db =
ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0, null);
//建立數(shù)據(jù)表
db.execSQL(DATABASE_CREATE);
} catch (FileNotFoundException e1) {
db = null;
}
}
}

Context類的openDatabase可以打開一個(gè)已經(jīng)存在的數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在,將會拋出FileNotFoundException異常。可以通過Context類的createDatabase函數(shù)建立一個(gè)新的數(shù)據(jù)庫。通過調(diào)用SQLiteDatabase 的execSQL方法,執(zhí)行一條SQL語句建立一個(gè)新的數(shù)據(jù)表。

2.獲取表中的數(shù)據(jù)

代碼如下:

public List﹤Row﹥ fetchAllRows() {
ArrayList﹤Row﹥ ret = new ArrayList﹤Row﹥();
try {
Cursor c =
db.query(DATABASE_TABLE, new String[] {
"rowid", "title", "body"}, null, null, null, null, null);
int numRows = c.count();
c.first();
for (int i = 0; i ﹤ numRows; ++i) {
Row row = new Row();
row.rowId = c.getLong(0);
row.title = c.getString(1);
row.body = c.getString(2);
ret.add(row);
c.next();
}
} catch (SQLException e) {
Log.e("booga", e.toString());
}
return ret;
}

 

建立一個(gè)游標(biāo)類Cursor 通過SQLiteDatabase 的query方法查詢一個(gè)表格。有了Cursor就可以遍歷所有的記錄了。

3添加新的記錄

public void createRow(String title, String body) {
ContentValues initialValues = new ContentValues();
initialValues.put("title", title);
initialValues.put("body", body);
db.insert(DATABASE_TABLE, null, initialValues);
}

 

 

構(gòu)造一個(gè)ContentValues類,通過調(diào)用put方法,可以設(shè)置一條記錄的屬性。通過調(diào)用SQLiteDatabase的insert方法添加一條新的記錄。

4 刪除記錄

public void deleteRow(String str)
{
db.delete(DATABASE_TABLE, "title=\'" + str+"\'", null);
}

 

直接調(diào)用SQLiteDatabase的delete方法,第二個(gè)參數(shù)是一個(gè)SQL條件表達(dá)式。

第三步 顯示方式和界面

大部分的界面都有一個(gè)Layout。我們的界面是顯示在整個(gè)屏幕中的List。還有其他的顯示方式,比如懸浮的窗口(Dialog,Alert)。
打開main.xml文件。
這是一個(gè)定義界面顯示風(fēng)格的資源文件。

a. 所有的界面資源文件都從這樣的一行開始: ﹤?xml version="1.0" encoding="utf-8"?﹥.

b. 一般的類型定義都是LinearLayout (并不是總是)

c. 關(guān)于XML的名稱空間的定義,總是下面一行:

xmlns:android="http://schemas.android.com/apk/res/android"

#p#

第四步 編輯notepad_list.xml文件

最終如下所示:

﹤?xml version="1.0" encoding="utf-8"?﹥
﹤LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width=" fill_parent "
android:layout_height=" fill_parent "﹥
﹤ListView id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/﹥
﹤TextView id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_notes"/﹥
﹤/LinearLayout﹥


a. ListView和TextView只能顯示一個(gè),正常情況下,ListView會被顯示出來,當(dāng)沒有任何一個(gè)數(shù)據(jù)的時(shí)候?qū)@示一個(gè)TextView ,顯示出 "還沒有建立任何數(shù)據(jù)!" ,字符串資源將被定義在資源文件中。

b. 在 ListView 和 TextView中的帶@符號的字符串表示,XML解析器將會分析出后面的數(shù)據(jù)是一個(gè)資源ID。

c. 通過更改資源文件,在R.java文件中的代碼會反應(yīng)出來。在代碼中使用的資源都要通過R.java中的常量進(jìn)行索引

第五步 定義一個(gè)顯示列表項(xiàng)風(fēng)格的配置文件

在res/layout目錄現(xiàn)建立一個(gè)新的文件notes_row.xml.

添加如下的代碼:

﹤?xml version="1.0" encoding="utf-8"?﹥

﹤TextView id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/﹥

 

 

第六步

把Notepad 的父類從 Activity 改為 ListActivity:

public class Notepad extends ListActivity

 

注意: 必須導(dǎo)入ListActivity,在 Eclipse下可以使用, ctrl-shift-O

第七步

有三個(gè)方法: onCreate, onCreateOptionsMenu 和 onOptionsItemSelected, 需要我們填充:

onCreate()當(dāng)一個(gè)界面開始顯示的時(shí)候會被調(diào)用,相當(dāng)于一個(gè)界面的主函數(shù)。在這里可以初始化資源和狀態(tài)。

onCreateOptionsMenu() 被用來建立一個(gè)界面的菜單。當(dāng)用戶點(diǎn)擊菜單鍵的時(shí)候?qū)@示出來。

onOptionsItemSelected()當(dāng)用選擇菜單的時(shí)候?qū)徽{(diào)用。

第八步

填充onCreate() 方法。

在這里可以設(shè)置界面標(biāo)題,初始化DBHelper對象管理數(shù)據(jù)。填充List列表。

a. 調(diào)用super()傳入?yún)?shù)icicle

b. setContentView to R.layout.notepad_list

c. 定義另外一個(gè)類dbHelper

d. 初始化DBHelper類。

e. 最后調(diào)用方法-fillData()-

f. onCreate()方法如下所示:

@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.notepad_list);
dbHelper = new DBHelper(this);
fillData();
}


添加私有的屬性DBHelper

private DBHelper dbHelper;

 

第九步填充onCreateOptionsMenu() 方法.


在strings.xml文件中定義字符串資源。 a. 在strings.xml 文件中添加一個(gè)字符串資源

﹤string name="menu_insert"﹥添加﹤/string﹥,

﹤string name="menu_delete"﹥刪除﹤/string﹥,

這些在String.xml文件中定義的資源,保存文件后,在R.java中會出先相應(yīng)的資源ID。

定義一個(gè)菜單ID 在NotePad.java 中。

public static final int INSERT_ID = Menu.FIRST;
public static final int DELETE_ID = Menu.FIRST +1;

 

b. 在onCreateOptionsMenu() 中添加菜單項(xiàng),返回父類法方法onCreateOptionsMenu的返回值.。代碼如下所示:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, INSERT_ID, R.string.menu_insert);
menu.add(0, DELETE_ID, R.string.menu_delete);

return result;
}Menu.Add(num1,menuid,string)


其中num1是一個(gè)可以為菜單項(xiàng)排序的基數(shù),所有一樣基數(shù)的菜單項(xiàng)按照加入的順序排序,基數(shù)相同的菜單項(xiàng)排列在一起,基數(shù)按照從小到大的順序從上到下排列菜單項(xiàng)。Menuid是唯一一個(gè)菜單項(xiàng)的標(biāo)識。當(dāng)菜單項(xiàng)被用戶選擇的時(shí)候,這個(gè)標(biāo)識就會在onOptionsItemSelected()方法的參數(shù)中出現(xiàn)。

第十步

填充onOptionsItemSelected() 方法:

當(dāng)用戶選擇菜單以后,onOptionsItemSelected()方法將會被調(diào)用。通過調(diào)用item.getId()方法可以得到選擇的菜單的ID進(jìn)而區(qū)別不同的菜單。 The super.onOptionsItemSelected(item) 返回父類的onOptionsItemSelected()方法;

@Override
public boolean onOptionsItemSelected(Item item) {
switch (item.getId()) {
case INSERT_ID:
createNote();
break;
}

return super.onOptionsItemSelected(item);
}

【編輯推薦】

  1. Android中各種JAVA包的功能描述
  2. Android創(chuàng)建和使用數(shù)據(jù)庫詳細(xì)指南
  3. Android應(yīng)用開發(fā)入門五問
責(zé)任編輯:yangsai 來源: IT168
相關(guān)推薦

2011-09-08 13:11:07

Android Wid實(shí)例

2009-12-16 10:41:47

Android日程表

2011-08-08 16:56:44

iPhone 字符處理 視圖

2011-09-26 10:46:32

Android云計(jì)算開發(fā)

2013-05-20 17:51:47

Android游戲開發(fā)SurfaceView

2009-03-16 15:00:16

阿里軟件旺旺軟件平臺SaaS

2009-06-15 15:16:00

netbeans sw平臺開發(fā)

2011-07-26 11:08:23

iOS 錄像 錄音

2013-05-23 15:06:22

Android開發(fā)體重計(jì)算器移動應(yīng)用

2012-07-25 09:23:59

iOS企業(yè)應(yīng)用Android

2010-10-29 14:08:01

.NETWindows PhoiPhone

2013-05-20 17:13:17

Android游戲開發(fā)CanvasPaint

2011-09-07 17:54:40

Android Wid開發(fā)

2013-02-20 15:29:00

JSONAndroid開發(fā)

2012-12-21 14:59:52

Tabris

2011-05-23 15:56:56

Android

2009-05-08 13:48:56

微軟PHP開源

2010-11-11 09:04:05

跨平臺移動開發(fā)

2014-08-26 11:46:46

QtAndroid實(shí)例教程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

日韩视频欧美视频| 一个色妞综合视频在线观看| 国产精品一区二区三| 69xxx免费| 亚洲资源在线| 亚洲三级小视频| 国产精品免费看一区二区三区| 日本学生初尝黑人巨免费视频| 欧美综合自拍| 欧美视频一区二区三区在线观看| 丰满女人性猛交| 噜噜噜久久,亚洲精品国产品| 欧美精品aa| 亚洲图中文字幕| 337p日本欧洲亚洲大胆张筱雨| 僵尸再翻生在线观看| 国产三级一区二区三区| www 成人av com| 波多野结衣绝顶大高潮| 亚洲香蕉av| 亚洲视频在线观看| 国产综合内射日韩久| a成人v在线| 午夜激情久久久| 亚洲 欧洲 日韩| 国产中文字幕在线播放| 成人精品免费看| 成人黄色影片在线| 91久久国产综合久久91| 国产精品www994| xxx一区二区| 久久精品—区二区三区舞蹈| 亚洲精品在线国产| 欧美色爱综合网| 欧洲黄色一级视频| 丁香花在线高清完整版视频| **欧美大码日韩| 欧美久久久久久久| 成人久久精品人妻一区二区三区| 久久99国产精品久久| 日本91av在线播放| 成人午夜视频精品一区| 伊人影院久久| 欧美黄网免费在线观看| 91高清免费看| 欧美h版在线| 国产亚洲精品美女| 精品无码在线视频| 天海翼精品一区二区三区| 欧美一区二区啪啪| 在线观看免费不卡av| 99久久伊人| 欧美日韩成人在线| 亚洲美女爱爱视频| 亚洲欧洲二区| 7777精品伊人久久久大香线蕉完整版| 精品999在线| 78精品国产综合久久香蕉| 在线观看亚洲精品| 91网址在线播放| 日本美女久久| 欧美三区在线视频| 天天干天天玩天天操| 男人天堂久久| 欧美精品乱码久久久久久按摩| 国产又大又黄又猛| 伊人久久大香| 日韩欧美亚洲另类制服综合在线| 亚洲制服中文字幕| 亚洲精品不卡在线观看| 亚洲成人网在线| 成人无码www在线看免费| 亚洲欧洲免费| 中文欧美在线视频| 糖心vlog免费在线观看| 欧美午夜在线| 77777亚洲午夜久久多人| 国产精品视频免费播放| 日韩av网站免费在线| 国产精品视频中文字幕91| 亚洲天堂中文在线| 国产成人在线网站| 精品乱子伦一区二区三区| 欧美91精品久久久久国产性生爱| 日本一区二区三区国色天香| 在线免费一区| 波多野在线观看| 日韩欧美精品免费在线| 午夜宅男在线视频| silk一区二区三区精品视频| 精品亚洲男同gayvideo网站| 国产精品久久久久久久av| 一区二区中文字| 韩国19禁主播vip福利视频| 黄瓜视频在线免费观看| 久久精品99国产精品| 国产精品久久九九| 日本亚洲欧美| 成人欧美一区二区三区| av免费看网址| 久久久加勒比| 亚洲国产另类久久精品| 中文字幕求饶的少妇| 日韩视频一区| 成人淫片在线看| 手机亚洲第一页| 亚洲美女在线国产| 日本在线观看a| 日韩在线网址| 在线观看国产成人av片| 国产网友自拍视频| 久久国产精品99久久人人澡| 久久国产精品 国产精品| 在线观看黄色av| 疯狂欧美牲乱大交777| 992kp免费看片| 神马电影久久| 久久全球大尺度高清视频| 中文字幕在线日亚洲9| eeuss影院一区二区三区| 午夜啪啪免费视频| 日韩一区二区三区免费| 欧美精品一区二区三区一线天视频| 我不卡一区二区| 一本久道综合久久精品| 91久久国产综合久久蜜月精品| 国产乱理伦片a级在线观看| 亚洲一二三四区| 97超碰人人看| 日韩国产一区二区| 国产成人精品一区二区在线| 免费av网站观看| 亚洲精选视频免费看| 美女网站视频黄色| 欧美午夜精彩| 国产xxx69麻豆国语对白| 日本美女一级视频| 亚洲午夜久久久久久久久久久| 亚洲天堂伊人网| 久久综合电影| 国产在线观看91精品一区| 国产精品久久一区二区三区不卡 | 欧美日韩国产另类一区| 国产吞精囗交久久久| 1024精品一区二区三区| www.久久久| av免费在线视| 亚洲激情久久久| 日本一级一片免费视频| 成人午夜短视频| 91九色丨porny丨国产jk| 91精品入口| 久久人人97超碰精品888| 色窝窝无码一区二区三区| 亚洲国产一二三| 中文字幕第九页| 在线免费高清一区二区三区| 国产精品视频免费一区| www在线观看黄色| 亚洲精品国产成人| 久久久久久久久久久影院| 91丨国产丨九色丨pron| 精品一区二区中文字幕| 久久99国内| 国产精品老牛影院在线观看| 午夜不卡视频| 日韩欧美色电影| 国产午夜精品无码| 久久婷婷色综合| 91视频免费版污| 欧美激情国产在线| 亚洲xxxx做受欧美| 高清视频在线观看三级| 亚洲精品视频免费在线观看| 天天干,天天干| 成人欧美一区二区三区在线播放| 日本少妇激三级做爰在线| 欧美日韩日本国产亚洲在线| 精品乱码一区二区三区| 国产综合av| 久久国产精品久久国产精品| 亚洲精品一区二区三区区别 | 天天天天天天天干| 自拍偷拍亚洲综合| 国产高清成人久久| 日韩高清在线观看| 亚洲五码在线观看视频| 久久资源综合| 国产精品一区电影| 2018av在线| 最新国产精品拍自在线播放| aaa一区二区三区| 色综合视频在线观看| 亚洲欧美另类日本| aaa亚洲精品| 美女一区二区三区视频| 欧美日韩亚洲一区| 日韩视频精品| 亚洲伊人影院| 国产精品久久久久aaaa九色| 青草在线视频| 一区二区三区四区视频| 懂色av成人一区二区三区| 在线国产亚洲欧美| 日韩成人在线免费视频| 成人免费在线视频观看| 老司机福利av| 国产成人99久久亚洲综合精品| av免费网站观看| 黄色工厂这里只有精品| 亚洲欧洲一二三| 日韩影视在线观看| 91在线短视频| 欧美性aaa| 欧美一级高清免费播放| 色呦呦呦在线观看| 日韩亚洲在线观看| 精品无人乱码| 亚洲国产精品专区久久| av网站免费播放| 欧美色爱综合网| www.久久久久久久| 大伊人狠狠躁夜夜躁av一区| 欧美成人精品一区二区免费看片| 欧美韩国一区二区| 中文幕无线码中文字蜜桃| 成人一区二区三区在线观看 | 久久国产视频播放| 一区二区欧美视频| 欧美做爰爽爽爽爽爽爽| 国产精品成人一区二区艾草| 中文字幕av网址| 久久一日本道色综合| 人妻换人妻a片爽麻豆| 国产乱对白刺激视频不卡| 亚洲国产日韩欧美在线观看| 久久亚洲电影| 日本三级免费观看| 国产精品腿扒开做爽爽爽挤奶网站| 每日在线观看av| 激情久久中文字幕| 国产91沈先生在线播放| 国产精品久久| 亚洲乱码日产精品bd在线观看| 亚洲最新av| 在线观看三级网站| 欧美一区二区三区免费看| 三年中国中文在线观看免费播放 | 欧美午夜小视频| 在线精品在线| 国产黄色一级网站| 久久久精品性| 少妇黄色一级片| 全部av―极品视觉盛宴亚洲| 中文字幕有码av| 老鸭窝一区二区久久精品| 污视频网址在线观看| 国内精品久久久久影院色 | fc2成人免费人成在线观看播放| 亚洲精品国产成人av在线| 99久久久精品| 中文字幕被公侵犯的漂亮人妻| 久久久av毛片精品| 免费成人深夜蜜桃视频| 亚洲欧洲一区二区三区| 男人与禽猛交狂配| 午夜精品久久久久| 99热在线观看免费精品| 色激情天天射综合网| 中文字幕人妻精品一区| 51精品国自产在线| 黄色三级网站在线观看| 亚洲精品网址在线观看| 在线免费观看的av网站| 九九精品在线视频| 国产污视频在线播放| 国产精品极品在线| 精品国产18久久久久久二百| 国产精品久久久久久久久久久久午夜片| 日韩精选在线| 一本久久a久久精品vr综合| 欧美久久视频| 久草精品在线播放| 国产在线乱码一区二区三区| 久久久久国产免费| 国产校园另类小说区| 欧美激情图片小说| 91久久线看在观草草青青| 国产美女精品视频国产| 日韩电影第一页| 婷婷视频在线| 91av成人在线| 亚洲一区导航| 欧美日韩在线高清| 欧美激情 亚洲a∨综合| 成人小视频在线看| 国产不卡视频在线观看| 人妻一区二区视频| 亚洲高清三级视频| 中文字幕在线网址| 亚洲国产精品99久久| 麻豆传媒视频在线观看| 欧美与欧洲交xxxx免费观看| 久久伊人久久| 天天综合色天天综合色hd| 精品91在线| 五月婷婷深爱五月| av电影在线观看一区| 亚洲综合久久av一区二区三区| 午夜精品一区在线观看| 国产精品吴梦梦| a视频在线观看| 国产精品va在线| 久久这里只有精品一区二区| 国产四区在线观看| 日韩av二区在线播放| 污污内射在线观看一区二区少妇 | 亚洲国产天堂久久综合| 国内精品久久久久国产| 国产精品扒开腿做爽爽爽的视频| 果冻天美麻豆一区二区国产| 欧美aaa在线观看| 日本午夜精品一区二区三区电影 | 欧美激情综合在线| 国产毛片aaa| 精品国产乱码久久久久久牛牛 | 91av在线看| 视频一区在线| 日韩视频在线观看视频| 久久99精品久久久久婷婷| 国产成人福利在线| 色综合一个色综合| 性xxxfllreexxx少妇| 久久久噜噜噜久久久| 亚洲精品福利| 成年女人18级毛片毛片免费| 国产精品中文欧美| 日韩a级片在线观看| 欧美精品在线观看播放| 欧美r级在线| 91久久久久久久久| 欧美国产一区二区三区激情无套| 一道本在线免费视频| 国产精品每日更新在线播放网址| 中文字幕 国产精品| 国产午夜一区二区| 久久亚洲精品人成综合网| 亚洲成人午夜在线| 免费不卡在线观看| 久久久久久久久久97| 欧美一区二区三区公司| 羞羞的视频在线看| 国产高清不卡av| 一本色道久久综合一区| 亚洲一区二区三区四区五区六区| 婷婷夜色潮精品综合在线| 深夜福利在线观看直播| 日韩av电影国产| 欧美手机在线| 亚洲高清视频免费| 亚洲图片欧美综合| 视频在线不卡| 国产精品视频自在线| 午夜日韩电影| 中国极品少妇videossexhd| 欧美性猛交xxxx乱大交3| 国际av在线| 亚洲xxxxx性| 日韩午夜在线电影| 成年人在线免费看片| 欧美精品色一区二区三区| 国产丝袜在线播放| 欧美亚洲精品日韩| 狠狠色狠狠色合久久伊人| 免费在线观看黄视频| 日韩电影视频免费| 小说区图片区亚洲| 免费看欧美一级片| 国产无人区一区二区三区| 国产精品玖玖玖| 午夜精品一区二区三区在线视 | 欧美性www| 国产曰肥老太婆无遮挡| 久久久亚洲精品石原莉奈| 在线视频你懂得| 久久久久久久久久久免费精品| 免费精品国产| 欧美性受xxxx黒人xyx性爽| 偷拍亚洲欧洲综合| 欧美成人高清在线| 九色91国产| 国产一区二区精品久久99| 午夜精品久久久久久久久久久久久蜜桃| 在线观看欧美www| 91精品久久久久久综合五月天| 亚洲 中文字幕 日韩 无码| 伊人一区二区三区| 国产九色在线| 国产精品日韩二区| 极品少妇一区二区三区精品视频|