Android文件操作、数据库、多线程

SharedPreferences使用:
SharedPreferences sp = getSharedPreferences(" name ",0);//获取SharedPreferences对象
SharedPreferences.Editor edit= sp.edit();//使得其可以编辑
edit.putString(“key”,value);//以键值对key-vlue 的方式存储数据
edit.commit();//最后还必须提交
nnn=sp.getString(“key”,defaultvalue);//若为空,则返回默认的值
遍历文件夹
file.listFiles();//获取目录下所有的文件即目录
list<HashMap<String,Object>>list;// 存放刚刚的list下的文件夹及目录
setAdapter()与setOnItemClickListener();//当点击之后,则判断其是否为isDirectory(),若是,则利用Intent进行此页面的跳转,自己跳自己,并携带自己的路径信息。
SQLite数据库操作:

SQLiteDatabase sql=OpenOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);//数据库名字/模式/游标
 dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,3);//继承SQLiteOpenHelper的类,然后getReadableDatabase()或者getWriteableDatabase()就可以创建数据库了

在SQLiteOpenHelper里有两个构造方法可以重写,参数为四个,第一个参数是Context,第二个是数据库名,第三个参数允许我们在查询数据时返回一个自定义的Cursor,一般都是null,第四个参数就是当前数据库的版本号,用于对数据库的升级,构建实例后再调用getReadableDatabase()或者getWriteableDatabase()就可以创建数据库了。第一次初始化时,会自动调用onCreate()方法,以后根据版本号的不同,调用onUpgrade()方法。
基本操作:

String stu_table="create table username(_id integer primary key autoincrement,sname text,snumber text)"; 

插入数据有两种方法:
①SQLiteDatabase的insert(String table,String nullColumnHack,ContentValues values)方法,
参数1 表名称,
参数2 空列的默认值
参数3 ContentValues类型的一个封装了列名称和列值的Map;
②编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行

ContentValues cValue = new ContentValues(); 
cValue.put("sname","xiaoming"); 
cValue.put("snumber","01005"); 
db.insert("username",null,cValue); 
法二:
String stu_sql="insert into username (sname,snumber)  values ('xiaoming','01005')"; 
db.execSQL(sql); 

删除数据也有两种方法:
①调用SQLiteDatabase的**delete(String table,String whereClause,String[] whereArgs)**方法
参数1 表名称
参数2 删除条件
参数3 删除条件值数组
②编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。

String whereClause = "id=?"; 
String[] whereArgs = {String.valueOf(6)}; 
db.delete("username",whereClause,whereArgs); 
法二:
String sql = "delete from username where _id = 6";   
db.execSQL(sql); 

查询数据库:Cursor cuesor=db.query( String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);//8个参数,
参数table:表名称
参数columns:列名称数组
参数selection:条件字句,相当于where
参数selectionArgs:条件字句,参数数组
参数groupBy:分组列
参数having:分组条件
参数orderBy:排序列;
参数limit:分页查询限制
Cursor cuesor=db.rawQuery(sql,字符串数组)//参数一sql语句;参数二,占位符表示的数值
Service:

1、onCreate():当Service第一次被创建后立即调用该方法,该方法在Service的生命周期里只被调用一次!
2、onDestory():当Service被关闭时调用该方法,该方法只被调用一次!
3、onStartCommand():当Service被调用时,调用该方法。该方法可被重复调用,并且不会创建新的Service对象,而是复用前面产生的Service对象。
4、onBind():这是Service必须实现的方法,该方法会返回一个IBinder对象,APP通过该对象与Service组件进行通信。
5、onUnBind():当该Service绑定的所有客户端都断开时调用该方法。
startService(intent);//开始服务
stopService(intent);//停止服务
bindService(bindIntent,connection,BIND_AUTO_CREATE);//activity绑定服务,服务可与activity进行数据传递
unbindService(connection);//解除绑定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值