1.SharedPreferences
数据量比较小的时候,一般就是密码…的保存用SharedPreferences
该文件是在data/data/package name/shared_prefs/aa中后缀.xml自动补上
写数据
//首先获取一个SharedPreferences对象
SharedPreferences settings = getSharedPreferences("aa", 0);
aa表示文件名,0表示模式
settings.edit()
开始编辑
.putString(NAME, fileheight.getText().toString())
NAME相当于标示符,第二个参数就是要保存的数据
.putString(PASSWORD, fileweight.getText().toString())
PASSWORD相当于标示符,第二个参数就是要保存的数据
.commit();
相当于保存起来
取出数据
SharedPreferences settings = getSharedPreferences("aa",0);
//获取一个SharedPreferences对象
String name = settings.getString(NAME, "");
//取出保存的NAME,如果不存在就用后面第二个参数作为返回值
String password = settings.getString(PASSWORD, "");
//取出保存的PASSWORD,如果不存在就用后面第二个参数作为返回值
2.Files文件路径data/data/package name/files/new1
从这是第二种方法,可以在设备本身的存储设备或者外接的存储设备中创建用于保存数据的文件。同样在默认的状态下,文件是不能在不同的程序间共享。
写文件:调用Context.openFileOutput()方法根据指定的路径和文件名来创建文件,这个方法会返回一个FileOutputStream对象。
读取文件:调用Context.openFileInput()方法通过制定的路径和文件名来返回一个标准的Java FileInputStream对象。
is = this.openFileInput("new.txt");
若要使用其他程序目录下的文件,可以指定路径直接用File访问
例如:
String filepath= "//data//data//com.lsb.FileDealWith//files//new.txt";
File file = new File(filepath);
if(!file.exists())
return "error";
FileInputStream fIn = new FileInputStream(file);
另外编译程序之前,在res/raw/filename中保存一个静态文件,这样可以在程序中通过Resources.openRawResource (R.raw. new1)方法同样返回一个InputStream对象,直接读取文件内容。
Resources myResources = getResources();
is = myResources.openRawResource(R.raw.new1);
is.read(buff)的方式读出
3.Databases 路径/data/data/package_name/databases/filename
在Android API中包括了应用SQLite databases的接口,每个程序所创建的数据库都是私有的,换句话说,程序间无法相互访问对方的数据库。很简单,基本上都是数据库语言
package com.lsb.addsqlbyme;
import android.app.Activity;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class addsqlbyme extends Activity {
/** Called when the activity is first created. */
private static final String DATABASE_NAME = "create.db";
private static final String tablename = "lsbnewdb";
private static final String first = "first";
private static final String second = "second";
private String TAG = "Tag";
private Button add;
private Button delete;
lsbdatabase newdb1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(TAG, "create...");
newdb1 = new lsbdatabase(this);
add = (Button)findViewById(R.id.add);
delete = (Button)findViewById(R.id.delete);
add.setOnClickListener(addlisteren);
delete.setOnClickListener(deletelisteren);
}
private static class lsbdatabase extends SQLiteOpenHelper
{
lsbdatabase(Context context)
{//构造函数
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db)
{
String sql = "CREATE TABLE " + tablename + " (" + first+ " text not null, "
+ second + " text not null " + ");";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db,int oldversion, int newversion)
{
}
}
OnClickListener addlisteren = new OnClickListener()
{
public void onClick(View v)
{
SQLiteDatabase db = newdb1.getWritableDatabase();
/*数据库语言插入*/
String sql1 = "insert into " + tablename+" (" + first +", "+ second +")values('1','test');";
String sql2 = "insert into " + tablename+" (" + first +", "+ second +")values('2','test2');";
try
{
db.execSQL(sql1);//执行操作
db.execSQL(sql2);
Toast.makeText(addsqlbyme.this, "添加成功", Toast.LENGTH_SHORT).show();
}
catch(SQLException e)
{
Toast.makeText(addsqlbyme.this, "添加出错", Toast.LENGTH_SHORT).show();
}
}
};
OnClickListener deletelisteren = new OnClickListener()
{//删除指定数据
public void onClick(View v)
{
SQLiteDatabase db = newdb1.getWritableDatabase();
try
{//删除first = 1 的数据
db.delete(tablename, " first = '1'", null);
Toast.makeText(addsqlbyme.this, "删除成功", Toast.LENGTH_SHORT).show();
}
catch(SQLException e)
{
Toast.makeText(addsqlbyme.this, "删除出错", Toast.LENGTH_SHORT).show();
}
}
};
/*OnClickListener deletelisteren = new OnClickListener()
{//重新创建数据库
public void onClick(View v)
{
//负责一个可以写的sqlite数据库,如果没有创建就创建一个,如果已经创建就直接返回一个可写数据库
SQLiteDatabase db = newdb1.getWritableDatabase();
Log.d(TAG, "create");
String sql = "CREATE TABLE " + tablename + " (" + first
+ " text not null, " + second + " text not null " + ");";
try
{
db.execSQL("DROP TABLE IF EXISTS lsbnewdb");
//如果存在该表,就先删除,
db.execSQL(sql);//创建
setTitle("数据表成功重建");
}
catch (SQLException e)
{
setTitle("数据表重建错误");
}
}
};*/
}
分享到:
相关推荐
在Android应用开发中,文件上传和文件选择器是常见的功能需求。用户可能需要从设备存储中选择一个或多个文件,例如图片、文档或音频文件,然后上传到服务器或进行其他操作。本文将深入探讨如何在Android平台上实现...
通过分析这个"文件管理器FileManager"的源代码,开发者能深入了解Android文件操作的原理,提升文件管理功能的开发能力,同时学习到如何处理文件权限、UI更新、后台任务以及数据库集成等问题。这不仅有助于日常开发...
总的来说,“安卓备份文件ab文件解压工具”是Android用户和开发者处理备份数据的重要辅助工具,它简化了对`ab`文件的操作,使数据恢复和分析变得更为便捷。通过掌握这个工具的使用,用户可以更好地管理和保护自己的...
最后,为了在用户界面中正确地处理这些操作,你需要在一个子线程(例如AsyncTask)中执行文件复制和进度更新,因为Android UI操作必须在主线程中进行。 总结起来,Android中的文件复制可以通过Java的I/O流实现,而`...
在本文中,我们将深入探讨如何在Delphi XE10.1.2环境中实现一个Android平台上的文件选择和保存对话框。Delphi是一款强大的RAD(快速应用开发)工具,允许开发者使用Object Pascal语言构建跨平台的应用程序,包括...
"Re安卓文件浏览器"是一款专为Android用户设计的高效文件管理工具,其强大的功能和兼容性使其在同类应用中脱颖而出。这款应用不仅能够帮助用户轻松地浏览、组织和管理手机或平板电脑上的文件,还具备打开和编辑各种...
在Android平台上,开发人员经常需要处理各种类型的数据文件,其中包括Microsoft Excel文件。Excel文件通常用于存储和处理表格数据,而在Android应用中,用户可能需要查看、编辑或创建这些文件。本篇文章将详细介绍...
这个“Android 安卓手机(android)wifi传送文件源码.zip”压缩包提供了一种实现此类功能的源代码示例。通过分析这份源码,我们可以学习如何在Android系统上构建一个简单的WiFi文件传输应用。 1. **WiFi Direct**:...
【安卓Android源码——MIUI文件管理器】 在Android操作系统中,MIUI是小米公司推出的一个深度定制的用户界面,它以其丰富的功能和独特的设计深受用户喜爱。本压缩包文件包含的是MIUI文件管理器的源代码,对于开发者...
在Android应用开发中,文件上传是一项常见的功能,无论是图片、文档还是音频,用户可能需要将本地数据上传到服务器进行存储或处理。本知识点主要聚焦于如何在Android中实现单文件和多文件的上传,以及后台使用`...
在Android平台上,大文件的上传是一项挑战,因为...以上就是关于"android大文件分段上传"的知识点详解,这种技术在Android应用开发中尤其适用于处理大文件的云存储、文件分享等功能,可以显著提高上传效率和用户体验。
本教程将详细讲解如何在uniapp中实现文件上传功能,特别是针对Android和iOS设备,以及如何处理不同类型的文件,如PDF、Word和TXT,并将它们转换为Base64编码。 首先,我们需要了解uniapp的基础。uniapp基于Vue.js,...
【Android应用源码可以按音乐视频图片分类浏览的安卓文件浏览器】 在Android平台上,开发一个文件浏览器是一项常见的任务,尤其当需求是使用户能够按特定类别(如音乐、视频、图片)来浏览文件时,这样的应用程序能...
在Android应用开发中,文件上传是一项常见的功能,例如用户可能需要上传照片、文档或音频到服务器进行存储或分享。为了实现这一功能,开发者通常会利用HTTP协议或者更现代的HTTPS协议,通过网络请求库(如Volley、...
在Android原生API中,尽管提供了Intent来启动系统默认的文件选择器,但这个方法并不总是能够返回完整的文件路径,尤其是在处理非媒体文件时。开发者可能会遇到权限问题或者获取到的路径不符合预期,这在处理如PDF、...
Android系统提供了丰富的API来处理文件操作,如`java.io.File`类用于文件的基本操作,`Intent`则常用于启动文件选择器等交互。在uniAPP中,开发者通常会封装一个文件选择器组件,利用`plus.io`模块的`openFile`或`...
在Android应用开发中,文件上传是一项常见的任务,尤其是在处理大文件或者需要提高用户交互体验时,多线程技术显得尤为重要。本主题聚焦于"Android多线程文件上传",我们将探讨如何利用多线程技术来优化文件上传过程...
标题中的“安卓打开DICOM文件”指的是在Android操作系统上处理DICOM(Digital Imaging and Communications in Medicine)格式的文件。DICOM是一种广泛应用于医疗影像行业的标准,用于存储、传输和打印医学图像,如X...
这个“安卓文件下载存储demo.rar”压缩包提供了一个示例项目,帮助开发者理解如何在Android应用中实现这些功能。尽管无法一一验证每个文件的可用性,但我们可以从整体上探讨一下相关的知识点。 首先,我们来看文件...
在安卓开发中,处理文本文件是常见的任务之一,尤其是当文件包含中文字符时,避免乱码问题显得尤为重要。以下将详细解释如何在Android中读取文本文件并处理中文乱码。 首先,我们需要了解的是,不同的文本文件可能...