-
sharedPreferences查看全部
-
sharedPreferences查看全部
-
四种数据存储方式查看全部
-
ContentProvider---UriMatcher解释(暂时不知道干什么用)查看全部
-
ContentProvider---查询联系人id和姓名。 1.获取读取联系人权限。 <uses-permission android:name="android.permission.READ_CONTACTS"/> 2.使用Activity提供的getContentResolver获取对象。 ContentResolver contentResolver= this.getContentResolver(); 3.使用该对象做查询。需要的参数分别如下: //由于Contacts被废除,所以使用android.provider.ContactsContract.Contacts代替。 Uri uri=Contacts.CONTENT_URI; //表示通讯录的URI String[] projection=new String[]{Contacts._ID,Contacts.DISPLAY_NAME}; //查询哪些列,本次是查询主键id和名字 String selection=null;//没有查询条件 String[] selectionArgs=null;//没有查询条件参数 String sortOrder=null; //没有排序条件,将采用默认排序 Cursor cursor= contentResolver.query(uri, projection, selection, selectionArgs, sortOrder); 4.接下来遍历游标即可 由于不知道列明。所以使用Contacts下提供的常量即可 int id= cursor.getInt(cursor.getColumnIndex(Contacts._ID)); String name=cursor.getString(cursor.getColumnIndex(Contacts.DISPLAY_NAME));查看全部
-
“ContentProvider”(内容提供者)----自定义内容提供者 1.继承ContentProvider抽象类,实现抽象方法。 其中包括 @Override//根据Uri删除selection指定的条件所匹配的全部记录 public int delete(Uri uri, String selection, String[] selectionArgs) @Override//返回当前uri的MIME类型,如果该URI对应的数据可能包括多条记录 //那么MIME类型字符串 就是以vnd.android.dir/开头 // 如果该URI对应的数据只有一条记录 该MIME类型字符串 就是以vnd.android.cursor.item/开头 public String getType(Uri uri) @Override//根据Uri插入Values对应的数据 public Uri insert(Uri uri, ContentValues values) @Override//在ContetnProvider创建后被调用 public boolean onCreate() @Override//在ContetnProvider创建后被调用 public boolean onCreate() @Override//根据uri修改selection指定的条件所匹配的全部记录 public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) 2.在AndroidManifest.xml中注册。 注:自定义内容提供者一般情况下是用不到的,只需要用到google为我们提供的就足够了,一般是大公司,比如阿里这样,有很多旗下app需要共享数据的时候需要用到内容提供者的数据共享。查看全部
-
Android文件操作---文件读写 1.调用Activity的提供的两个方法, 可以获取“输入流”和“输出流” //public FileOutputStream openFileOutput(String name, int mode) //public FileInputStream openFileInput(String name) 知识拓展: 1.当需要一个文件需要两种模式的时候,可以使用相加的方式,让一个文件具有两种模式。 openFileOutput("filename",MODE_PRIVATE+MODE_APPEND);查看全部
-
Android文件操作----几种获取目录的方法 1、// // /data/data/com.example.filedemo(包名)/files // File file=this.getFilesDir();//获取文件默认路径 2、 // /data/data/com.example.filedemo/cache // File file=this.getCacheDir(); //获取缓存文件默认路径 3、// /data/data/com.example.filedemo/app_imooc // File file=this.getDir("imooc", MODE_PRIVATE);//获取传入的文件名的路径(如果没有会自动创建),第二个参书为模式。查看全部
-
Android文件操作---创建文件(和Java一致) 1.new File()对象,该路径为 File file=new File("/mnt/sdcard/test.txt"); 2.判断如果文件不存在就创建。 if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { Log.i("my", "创建文件失败"); e.printStackTrace(); } } else { Toast.makeText(this, "文件已经存在", Toast.LENGTH_SHORT).show(); } 3.可以通过调用delete()方法,删除文件 file.delete();查看全部
-
SQLite中“SQLOpenHelper” 类的使用 1.自定义基类继承 “SQLOpenHelper” 类 2.其中必须实现带有四个参数的构造方法。 /* * 默认的必须有的构造函数。 * @param name 数据库的名字 * @param factory 游标工厂 * @param version 数据库版本 * */ public MySQLOpenHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } 3.可以自定义构造方法。但是比喻引用父类的这四个参数的构造方法。 public MySQLOpenHelper(Context context) { /* * 引用父类的构造参数, * 默认使用 “userDB”作为数据库名称,不指定游标工厂,版本默认为1 * */ super(context,"myDB",null,1); } 4.重写两个抽象方法。oncreate和onupgrade public void onCreate(SQLiteDatabase db) { //当数据库第一次创建时调用,主要用于建表操作 } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //当数据库版本变动时,将回掉该方法。 } 5.实例化SQLOpenHelper类,通过他的getWritableDatabase();方法,获取一个可以读写的SQLiteDatabase类,用法和之前一样。 SQLiteDatabase sqLiteDatabase= new MySQLOpenHelper(this).getWritableDatabase();查看全部
-
普通广播和有序广播特点查看全部
-
广播接受器查看全部
-
“SQLite”数据库的应用 二 Cursor cursor=sqLiteDatabase.rawQuery("select *from User", null); //查询数据,以游标形式,第二个参数代表条件 if(cursor!=null) { //表示查询成功 while(cursor.moveToNext()) { /* * 1.cursor.getXXX(index)获取数据。 * 2.使用cursor.getColumnIndex(String) 获取某列的索引值 * 1.2配合使用,可以获取某行某列的具体数据 * */ Log.i("my", ""+cursor.getInt(cursor.getColumnIndex("_id"))) ; Log.i("my", ""+cursor.getString(cursor.getColumnIndex("name"))) ; Log.i("my", "-----------------"); } } sqLiteDatabase.close(); //关闭数据库连接。释放资源。查看全部
-
“SQLite”数据库的使用 一 /* * @param myDB.db 数据库的名字,最好以".db"结尾,这样导出到外部的时候不需要再转格式 * @param MODE_PREIVATE 设置模式,有私有(只能改应用程序访问),只读,读写等。 * @param CursorFactory 游标工厂。 暂时不知道干什么的,给空即可。 * */ SQLiteDatabase sqLiteDatabase= openOrCreateDatabase("myDB.db", MODE_PRIVATE, null);//打开或者创建数据库 /* * 执行sql语句 * 创建数据库表,使用 create table if not exists tablename 的形式,判断表是否存在,如果存在,则不创建 * 注意:主键建议使用"_"开头,如"_id",因为在以后的ListView开发中,貌似只能识别"_"开头的主键 * */ sqLiteDatabase.execSQL("create table if not exists User(_id integer primary key autoincrement, name text)");//执行sql语句 /* * 插入数据,必须加into,否则报错 * */ sqLiteDatabase.execSQL("insert into User (name) values('张三')");查看全部
-
SQLite的特点查看全部
举报
0/150
提交
取消