在android设备中什么是internal和external存储区?
默认情况下,app是安装在哪种存储区中?如何改变到其他存储区?
android:installLocation
属性更改internal存储区的目录结构通常是怎样的?
data/data/app_name/
在internal存储区存放文件的时候,通过哪些方法获取内部存储的目录对象?对文件操作及流操作模糊的同学请回到java复习相关知识
getFilesDir() 返回一个代表 internal 目录的 File 对象
getDir(name,mode) 在 internal 目录中创建或者打开一个目录
getCacheDir() 返回一个用于存放你的 app 临时 缓存文件的 internal 目录
File file = new File(getApplicationContext().getFilesDir(), filename);
向internal存储区写文件的代码模板是怎么样的?请理解。
public void save(View view) {
EditText et_input = (EditText) findViewById(R.id.et_input);
String content = et_input.getText().toString();
String filename = "data.txt";
FileOutputStream fos;
try {
fos = openFileOutput(filename, Context.MODE_PRIVATE);
fos.write(content.getBytes());
fos.close();
Toast.makeText(this, getString(R.string.success), Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
从internal存储区读文件的代码模板是怎样的?请理解。
byte[] buffer = new byte[fis.available()]; //测试 byte 数组的大小
fis.read(buffer);
content = new String(buffer);
还有
//按字符读
int ch;
ch = fis.read();
while(ch != -1) {
fileContent += (char)ch;
ch = fis.read();
}
对external存储区进行读写的时候,应该在manifest文件中怎么设置?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在对external存储区进行操作之前应该怎么做?为什么这么做?
在external存储区中能存放的文件分为哪两类?针对这两类文件,在获取存放目录对象的时候,采用什么方法调用?如果刚开始的时候,没有预定义的子目录用于存放你的文件,该怎么做?
当用户在卸载app的时候,哪些内容是系统自动删除的,哪些是程序员需要关照删除的?
什么是SharedPreferences?
如何来创建或者访问一个sharedPreferences?
如何将键值对写入SharedPreferences文件中?注意不是使用SharedPreferences对象直接写入,而是使用SharedPreferences.Editor来写入数据
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
如何从SharedPreferences文件中读取数据?
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
int highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
什么是序列化?xml序列化的操作步骤
File file = new File(Environment.getExternalStorageDirectory(),"Person.xml");
FileOutputStream fos = new FileOutputStream(file);
XmlSerializer serializer = Xml.newSerializer();
什么是bean?bean中的成员变量一般为private的?那这种成员变量的值怎么进行设置与获取?
class
被称为 JavaBean// 读方法:
public Type getXyz()
// 写方法:
public void setXyz(Type value)
有几种xml解析方式?PULL解析过程
如何在命令行中进入sqlite的工作界面
如何让windows的控制台中正常显示sqlite中存放的汉字?
chcp 65001
熟悉sqlite中的常用命令?
.open 数据库名称: 打开数据库,如果该数据库在磁盘中不存在,则创建并打开
.save 数据库名称: 如果 sqlite3 的启动是通过双击 windows 中的 sqlite3.exe 的图标打开的,系统会在内存中创建一个数据库,这个数据库如果需要存放到磁盘,则需要使用本命令进行存放。如果磁盘上如有同名的数据库,会覆盖
.databases: 用于列出数据库
.tables: 用于列出数据库中的数据表
定义contract类有什么用?
定义helper类有什么用?熟悉该类中的常用方法
execSQL、rawQuery、query这三个方法在用于查询时什么区别?为防止sql注入,我们最好选用哪个方法来作查询?
ContentValues是个什么类?怎么用?
public long insert (String table, String nullColumnHack, ContentValues values)
Cursor是什么类?怎么用?
Cursor c = db.query(FeedEntry.TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder);
//cursor 起始位置在 -1 处
cursor.moveToFirst(); //将读取点放在入口位置,read position
long itemId = cursor.getLong(cursor.getColumnIndexOrThrow(FeedEntry._ID));
List itemIds = new ArrayList<>();
while(cursor.moveToNext()) {
long itemId = cursor.getLong(cursor.getColumnIndexOrThrow(FeedEntry._ID));
itemIds.add(itemId);
}
cursor.close();
什么是事务?它的标准处理模式是怎样的?
db.beginTransaction();
try {
...
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
Android中如何开启事务如何关闭事务
简要描述SQLiteOpenHelper的主要作用
简要描述一下SQLite数据库
简要写出Android中创建数据库的步骤.
FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());
SQLiteDatabase db = mDbHelper.getWritableDatabase();
然后用 ContentValues 插入数据
ContentValues values = new ContentValues();
values.put(FeedEntry.COLUMN_NAME_ENTRY_ID, id);
这个方法
public long insert (String table, String nullColumnHack, ContentValues values)
End.