广播broadcast
//创建一个类继承SQLiteOpenHelper,并重写onCreate,onUpgrade方法
//SharedPerferences存取数据
//mysps:存储的xml文件名,MODE_PRIVATE:当前程序可读
SharedPerferences sps = getSharedPerferences("mysps","MODE_PRIVATE");
//通过edit()方法获得一个编辑器对象
Editor editor = sps.edit();
//用编辑器对象调用putxxx方法存入简单数据key-valus
editor.putInt("age",20);
//最后都需要写个提交才能存储完成
editor.commit();
SystemService 1. 使用LayoutInflater把一个layout转换成view LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.activity_main, null); setContentView(view);
给gestureOverlayView设置监听器: gestureOverlayView.addOnGesturePerformedListener(new OnGesturePerformedListener(){}) 重写方法onGesturePerformed()。 如图,onGesturePerformed()的示例代码,也就是关于手势识别的代码实现。 ArrayList<Prediction>:预测集
当应用程序在安装时,系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库应该都是私有的(位于/data/data/<package name>/files),其他程序无法访问。除非在创建时指定了MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE。 创建的文件保存在/data/data/<package name>/files目录 openFileOutput(fileName,MODE):第一个参数是文件的名字,第二个参数是权限,权限可
代码实现 1. 首先是创建数据库,和上一节课一样: SQLiteDatabase db = openOrCreateDatabase("stu.db",MODE_PRIVATE,null); 2. 然后是创建表格,和上一节一样: db.execSQL("create table if not exists stutb (_id integer primary key autoincrement, name text not null, sex text not null, age integer not null )");
button中设置android:onClick="doClick" String name=pref.getString("username","" ); if (name==null) { checkBox1.setChecked(false); }else { checkBox1.setChecked(true);
广播优先级别 <intent-filter android:priority="1000">//值为-1000~1000 abortBroadcast();//截断广播的方法 /** * 动态注册广播接收器*/
SharedPreferences适合存一些简单的数据,是一种轻量的存储方式
int string bool它的本质是基于xml文件存储key_value键值对的存储
通常用来存储一些简单的配置信息
服务类型:
用于应用内部:本地服务
startservice stopservice stopself stopselfresult
bindservice unbindservice
android系统内部应用程序之间 :远程服务
onBind中通过MyBinder返回当前服务对象
this.getExternalFilesDir()获取外部存储位置跟内置的使用时一样的
https://blog.csdn.net/u013365671/article/details/40678867
this.getFilesDir 当前应用默认的数据存储目录
Broadcast(广播)
BroadcastReceiver-组件(广播接收器)





记住用户名
GestureOverlayView
一种用于手势输入的透明覆盖层,可覆盖在其他控件的上方,也可包含其他控件
存在3个监听器接口
GestureOverlayView.OnGestureListener 手势监听器
GestureOverlayView.OnGesturePerformedListener --手势执行监听器
GestureOverlayView.OnGesturingListener --手势执行中监听器
WifiManager wifiManager = (WifiManager) this.getApplicationContext().getSystemService(WIFI_SERVICE);
if (wifiManager != null) {
// 检测wifi状态
switch (wifiManager.getWifiState()) {
case WifiManager.WIFI_STATE_DISABLED:
// Log.i("info", "wifiinfo_state:WIFI_STATE_DISABLED");
break;
case WifiManager.WIFI_STATE_DISABLING:
Log.i("info", "wifiinfo_state:WIFI_STATE_DISABLING");
break;
case WifiManager.WIFI_STATE_ENABLED:
// Log.i("info", "wifiinfo_state:WIFI_STATE_ENABLED");
break;
case WifiManager.WIFI_STATE_ENABLING:
Log.i("info", "wifiinfo_state:WIFI_STATE_ENABLING");
break;
case WifiManager.WIFI_STATE_UNKNOWN:
Log.i("info", "wifiinfo_state:WIFI_STATE_UNKNOWN");
break;
}
}
db.execSQL(sql) //执行任何SQL语句
db.insert(table,nullColumnHack,values)
db.delete(table,whereClause,whereArgs)
db.update(table,values,whereClause,whereArgs)
db.query(table,columns,selection,selectionArgs,groupBy,having,orderBy)
db.rawQuery(sql,selectionArgs)
SQLiteDatabase:
-提供了一些管理SQLite数据库的类
-提供创建,删除,执行SQL命令。并执行其他常见的数据库管理任务的方法。
-每个程序的数据库名字是唯一的。
关于SQLite的数据类型:SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型
-依次代表:空值、整型值、浮点值、字符串值、二进制对象
动态数据类型(弱引用)
-当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值换成该列的类型,如果不能 转换,则该值将作为本身的类型存储。
关于事务处理的安全性问题:
SQLite 特点
Android的四种数据存储方式:SharedPreferences
-SQLite
-Content Provider
-File
SQLite简介:SQLite 是D.Richard Hipp 用C语言 编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。
-支持高达2TB大小的数据库
-以单个文件的形式存在
-以B-Tree的数据结构形式存储在磁盘
如何理解COntentProvider?
触摸屏幕触发MotionEvent事件-->被onTochListener监听,在其onTouch()中获得MotionEvent对象-->之后 GestureDetector()发送MotionEvent对象给SimpleOnGestureListener()-->SimpleOnGestureListener获得MotionEvent对象,重写其中需要的手势方法