- 浏览: 16573 次
最新评论
//本文中代码基本上是Mars老师的代码...--#
1、SQLite基本用法
参考:http://my.oschina.net/cathleencheng/blog/17682
··SQLite是一种轻量级的数据库,时常用于嵌入式开发。
··对于数据库的基本操作有:
1)创建数据库。包括创建表,记录,字段等。
2)打开,关闭数据库。
3)向数据库中插入数据。
4)删除数据库中某些数据。
5)在数据库中查找相应的数据。
··对数据库操作的一般流程:
1)写一个类继承SQLiteOpenHelper类,该类是对数据库创建和打开的帮助类,在该类中必须有构造函数,可以 在该类中重写onCreate()等方法,在数据库创建或更新等操作时被系统回调执行相应代码。
public class DatabaseHelper extends SQLiteOpenHelper { private static final int VERSION = 1; //在SQLiteOepnHelper的子类当中,必须有该构造函数 public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { //必须通过super调用父类当中的构造函数 super(context, name, factory, version); // TODO Auto-generated constructor stub } //该函数是在第一次创建数据库的时候执行,实际上是在第一次得到SQLiteDatabse对象的时候,才会调用这个方法 @Override public void onCreate(SQLiteDatabase db) { //execSQL函数用于执行SQL语句 db.execSQL("create table user(id int,name varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //... ...在数据库更新时执行的代码 } }
2)创建上述类对象,再用其中继承下来的getReadableDatabase()和getWritableDatabase()函数返回 一个SQLiteDatabase数据库类型。
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db"); //只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库 SQLiteDatabase db = dbHelper.getReadableDatabase();
3)插入数据。
ContentValues values = new ContentValues();//该对象可放入键和值。 //想该对象当中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致 values.put("id", 1); values.put("name","zhangsan"); DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2); SQLiteDatabase db = dbHelper.getWritableDatabase(); //调用insert方法,就可以将数据插入到数据库当中 db.insert("user", null, values);//第一个参数是表名
4)查找数据。
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db"); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null);//第一个数表名, while(cursor.moveToNext()){//Cursor对象游走在匹配数据上,当移动到末尾时返回false String name = cursor.getString(cursor.getColumnIndex("name")); System.out.println("query--->" + name); } /* public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) Since: API Level 1 Query the given table, returning a Cursor over the result set. Parameters table The table name to compile the query against. columns A list of which columns to return. Passing null will return all columns, which is discouraged to prevent reading data from storage that isn't going to be used. selection A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given table. selectionArgs You may include ?s in selection, which will be replaced by the values from selectionArgs, in order that they appear in the selection. The values will be bound as Strings. groupBy A filter declaring how to group rows, formatted as an SQL GROUP BY clause (excluding the GROUP BY itself). Passing null will cause the rows to not be grouped. having A filter declare which row groups to include in the cursor, if row grouping is being used, formatted as an SQL HAVING clause (excluding the HAVING itself). Passing null will cause all row groups to be included, and is required when row grouping is not being used. orderBy How to order the rows, formatted as an SQL ORDER BY clause (excluding the ORDER BY itself). Passing null will use the default sort order, which may be unordered */
5)其他操作不是很清楚,等编写具体程序的时候再仔细研究一番...--#
2、Broadcast广播机制。
··Broadcast机制可以想所有程序发送一个广播,某些程序可以接收这些广播进行相应的处理。广播可以由我们自己定义发出,也可以是系统固有的广播。
··如何发出广播。广播的发出和调用另一个Activity很像,都是借助Intent类实现的。
Intent intent = new Intent();//创建一个Intent对象 intent.setAction(Intent.ACTION_EDIT);//为该Intent对象设置动作,实际上用于接收时的过滤 TestActivity.this.sendBroadcast(intent);//广播该Intent对象
··如何接收广播。接收广播分为两种。
1)在AndroidMainifest中注册,类似于Activity的注册。用该方法实现接收广播即使该程序关闭,同样也会 收到广播消息。
//Java文件,继承了BroadcastReceiver类实现广播的接收,每次程序收到正确的广播,就会创建该类的一个对象。 public class TestReceiver extends BroadcastReceiver{ //覆写其中的onReceive()函数。该函数在收到广播时被回调。 @Override public void onReceive(Context context, Intent intent) { System.out.println("onReceive"); } }
<!--AndroidManifest中注册该接收器,并声明需要的action。-->
<receiver android:name=".TestReceiver"> <intent-filter> <action android:name="android.intent.action.PICK" /> </intent-filter> </receiver>
2)在程序中创建一个类继承BroadcastReceiver类,并在程序代码中动态注册该类对象和取消该类对象,用 法灵活方便。
public class SMSReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { //覆写onReceive()方法,表明收到广播时需要做什么 } }
smsReceiver = new SMSReceiver(); //生成一个IntentFilter对象,该对象为接收器绑定过滤器。 IntentFilter filter = new IntentFilter(); //为IntentFilter添加一个Action filter.addAction(SMS_ACTION); //将BroadcastReceiver对象注册到系统当中 TestBC2Activity.this.registerReceiver(smsReceiver, filter); //TestBC2Activity.this.unregisterReceiver(smsReceiver);//取消注册
3、WiFi基础
对于WiFi网卡的操作,Android中用WifiManager类对其封装,只需要调用类对象相应函数以及查看帮助文档明白其中各常量意义即可。
wifiManager = (WifiManager)WifiActivity.this.getSystemService(Context.WIFI_SERVICE);//创建WifiManager对象 wifiManager.setWifiEnabled(true);//打开Wifi System.out.println("wifi state --->" + wifiManager.getWifiState());//查看Wifi状态。
恩,个人觉得Mars老师的教程真心不错,顶一个...--#
发表评论
-
SurfaceView的使用
2012-09-07 18:51 901SurfaceView的使用 先贴上几个地址: ht ... -
传感器的应用开发
2012-09-07 14:55 667传感器的应用开发 先贴几个地址 http://www ... -
Android笔记——NewDay1 AppWidget的一个更新小问题
2012-08-20 19:17 1003之前在写一个AppWidget,需要根据按键显示不同的内容,其 ... -
Android笔记——Day10 *popUpWindow基本使用 *Notification基本使用
2012-07-20 07:40 965前十天去了北京,今天 ... -
Android笔记——Day9 *Android异步操作 *Http操作基础 *ListView使用方法
2012-07-07 18:34 10891、Android异步操作 ··之前说过用Threa ... -
Android笔记——Day8 *Animation的使用 *实现用户定位
2012-07-07 00:21 847反正每天看看Mars老师视频,完了自己在总结一下,感觉挺好的- ... -
Android笔记——Day7 *AppWidget的使用初步 *Android文本输入输出时的中文编码问题
2012-07-05 02:31 9411、AppWidget的使用初步 先贴个地址,这个地址里面 ... -
Android笔记——Day6 *Service初步 *利用序列化在Activity之间交换数据
2012-07-03 18:12 929昨天貌似ITEYE用CSDN的号登不上去,博客没法写了,现在又 ... -
Android笔记——Day4 *Android对SD卡的操作
2012-06-29 23:03 1704前两天去苏州玩了,今天终于又可以学Android写博客了--# ... -
Android笔记——Day3 *异常处理 *Java中的io *匿名内部类
2012-06-27 10:03 10551、异常处理。 ··Java中含有异常处理机制。 ·· ... -
Android笔记——Day2 *Java中类的继承 *多线程Handler
2012-06-25 22:48 9161、Java中类的继承。 ··Java中类的继承所产生的访 ... -
Android笔记——Day1 *Activity生命周期 *Activiity切换效果
2012-06-24 22:37 11061、Android中Activity的生命周期。 http ...
相关推荐
总的来说,"Android源码——数据库SQLite.zip"的内容涵盖了SQLite在Android中的使用、数据库的创建与管理、SQL操作、事务处理、性能优化等方面的知识,对于深入理解Android应用的数据存储机制具有很高的学习价值。
【Android SQLite ORM框架详解】 SQLite是一个轻量级的、开源的、嵌入式的数据库系统,广泛应用于移动设备,尤其是Android平台。在Android应用开发中,SQLite ORM(对象关系映射)框架可以帮助开发者更加便捷地管理...
总结来说,"安卓Android源码——安卓Android轻量级sqlite orm框架.rar"是一个关于如何在Android项目中高效、便捷地使用SQLite数据库的源码示例。通过学习和理解这个框架,开发者可以更好地掌握Android中的数据存储,...
这份"Android源码——SqliteManager 源码.zip"包含了一些关于SqliteManager的源代码分析以及可能的示例图片,帮助开发者深入理解其工作原理。 首先,我们来看一下SQLiteManager的基本架构。通常,它会包含以下几个...
这份名为“安卓笔记——安卓详细笔记汇总”的资源,无疑是安卓开发者或者学习者的重要参考资料。以下将对这个压缩包中可能包含的知识点进行深入解析。 首先,Android系统是基于Linux内核的开源操作系统,广泛应用于...
5. **Google Maps API**: 如果应用显示地图,那么它可能使用了Google Maps Android API来展示定位点和轨迹。 6. **SQLite数据库**: 为了存储历史定位数据,应用可能会使用SQLite数据库,创建数据表来保存经纬度坐标...
这个压缩包文件"安卓Android源码——android相册系统(用Matrix实现).zip"包含了一个使用Matrix类来实现的相册系统源码。Matrix是Android图形库中的一个关键类,它允许开发者对图像进行平移、旋转、缩放等变换操作。...
【标题】"安卓Android源码——数据库SQLite.zip" 提供的内容主要聚焦于Android操作系统中用于数据存储的SQLite数据库。SQLite是一个轻量级的关系型数据库,它被广泛集成在移动设备和嵌入式系统中,包括Android。这个...
本资料包“安卓Android源码——安卓Android学习——数据存储.zip”(实际应为rar文件)包含了关于安卓数据存储的学习资源,旨在帮助开发者深入理解这一核心概念。 1. **Shared Preferences** Shared Preferences是...
在iOS开发中,数据存储是不可或缺的一部分,而SQLite3和FMDB则是常用的数据持久化解决方案。SQLite3是一个轻量级的、嵌入式的关系型数据库,而FMDB是Objective-C的SQLite3封装库,它提供了更简洁易用的API来操作...
在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...
这个压缩包“安卓Android源码——android相册系统(用Matrix实现).rar”显然提供了一个使用Matrix类来实现相册功能的示例代码。Matrix是Android SDK中的一个关键类,用于进行2D图像变换,如旋转、缩放、平移等。接...
本资料包“安卓Android源码——连接SQLite数据库源码.zip”包含了关于如何在Android应用中连接和操作SQLite数据库的具体源代码示例。 首先,我们来看“源码说明.txt”,这应该包含了对源码的详细解释和使用指导。...
**第八章:Android广播事件处理Broadcast Receiver** - **广播接收器注册**:指导如何注册和取消广播接收器。 - **有序与无序广播**:区分两种广播类型的处理顺序和特点。 - **动态与静态广播**:分析两种广播注册...
本压缩包文件"安卓Android源码——安卓Android学习——数据存储.rar"显然是针对安卓数据存储机制的学习资料,其中可能包含了相关的源代码示例和讲解。下面我们将深入探讨安卓中的数据存储方法。 1. **Shared ...
总之,这份"Android开发笔记——模拟器、应用教程"将引导你全面了解Android开发的核心技术和实践方法,无论你是初学者还是经验丰富的开发者,都可以从中受益。通过学习和掌握这些知识点,你将能够创建出高质量、适应...
《安卓Android源码——NotePad便签》 在Android操作系统中,NotePad是经典的示例应用,用于展示基本的数据库操作、UI设计以及事件处理等核心功能。这个压缩包文件包含的就是NotePad应用的源代码,是学习Android开发...
在Android开发中,SQLite数据库是广泛使用的轻量级数据库,它为应用程序提供了存储和检索结构化数据的能力。SQLiteManager是Android系统中用于管理SQLite数据库的一个重要工具,其源码对于理解数据库操作、数据存储...
这篇文档将深入解析《安卓Android源码——CnBeta资讯阅读器源码》的相关知识点,主要涵盖Android开发、源码分析以及资讯应用的构建技术。首先,我们需要理解Android系统是Google主导开发的一种开源移动操作系统,它...
在Android开发中,SQLite是一个至关重要的组件,它是一个轻量级的、自包含的、开源的SQL数据库引擎,被广泛用于存储和管理应用程序中的结构化数据。本文将深入探讨`sqlite3`命令行工具在Android环境下的应用,尤其是...