删除android 左滑删除结果?

下次自动登录
现在的位置:
& 综合 & 正文
Android 软件开发之数据的 新建 储存 读取 删除 详解(十四)
Android软件开发之数据的新建 储存 读取 删除
雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客,原文地址:
1.使用SharedPreferences处理数据的 新建 储存 读取 删除
SharedPreferences保存后生成的是XML文件,内容是以节点的形势保存在文件中,SharedPreferences类提供了非常丰富的处理数据的方法下面我向大家介绍一下如何使用SharedPreferences来处理数据。
输入须要保存的内容
输入姓名:雨松MOMO输入号码:
点击保存成功
保存成功以后,数据被保存到了data路径下 /当前包名 (红框内的包名是我的程序包名) /shared_prefs/main.xml中 , 使用EditPlus 打开保存的内容,我们可以清晰的看到内容是以一个节点一个节点的形式存在XML中。
SharedPreferences类中提供了非常方便方法去保存数据与读取数据大家请看下面的代码片段,一个程序中可以存在多个SharedPreferences保存的XML文件 ,代码中只须要根据不同的XML名称就可以通过方法拿到相应的对象,由于它的批量遍历查找,当然这样的作法肯定没有数据库更方便快捷,所以在开发中处理一些比较小的零碎的数据就可以保存在这里,比如说记录软件中用户设置的音量大小,用户输入的查找信息等等都可以存在SharedPreferences中。
public class SPActivity extends Activity {
/**使用SharedPreferences 来储存与读取数据**/
SharedPreferences mShared =
/**程序中可以同时存在多个SharedPreferences数据, 根据SharedPreferences的名称就可以拿到对象**/
public final static String SHARED_MAIN = "main";
/**SharedPreferences中储存数据的Key名称**/
public final static String KEY_NAME = "name";
public final static String KEY_NUMBER = "number";
/**SharedPreferences中储存数据的路径**/
public final static String DATA_URL = "/data/data/";
public final static String SHARED_MAIN_XML = "main.xml";
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.sharedpreferences);
/**拿到名称是SHARED_MAIN 的SharedPreferences对象**/
mShared = getSharedPreferences(SHARED_MAIN, Context.MODE_PRIVATE);
/**拿到SharedPreferences中保存的数值 第二个参数为如果SharedPreferences中没有保存就赋一个默认值**/
String name = mShared.getString(KEY_NAME, "数据库中没有储存姓名");
String number = mShared.getString(KEY_NUMBER, "数据库中没有储存号码");
final EditText editName = (EditText)findViewById(R.id.sp_et0);
final EditText editNumber = (EditText)findViewById(R.id.sp_et1);
editName.setHint("上次输入的姓名为【 " +name+"】");
editNumber.setHint("上次输入的号码为【 " +number+"】");
Button button0 = (Button)findViewById(R.id.sp_button0);
/**监听按钮点击后保存用户输入信息到SharedPreferences中**/
button0.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
/**拿到用户输入的信息**/
String name = editName.getText().toString();
String number = editNumber.getText().toString();
/**开始保存入SharedPreferences**/
Editor editor = mShared.edit();
editor.putString(KEY_NAME, name);
editor.putString(KEY_NUMBER, number);
/**put完毕必需要commit()否则无法保存**/
editor.commit();
ShowDialog("保存SharedPreferences成功");
Button button1 = (Button)findViewById(R.id.sp_button1);
button1.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
/**开始清除SharedPreferences中保存的内容**/
Editor editor = mShared.edit();
editor.remove(KEY_NAME);
editor.remove(KEY_NUMBER);
//editor.clear();
editor.commit();
ShowDialog("清除SharedPreferences数据成功");
Button button2 = (Button)findViewById(R.id.sp_button2);
button2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
/** 删除SharedPreferences文件 **/
File file = new File(DATA_URL + getPackageName().toString()
+ "/shared_prefs", SHARED_MAIN_XML);
if (file.exists()) {
file.delete();
ShowDialog("删除SharedPreferences文件成功");
super.onCreate(savedInstanceState);
public void ShowDialog(String string) {
AlertDialog.Builder builder = new AlertDialog.Builder(SPActivity.this);
builder.setIcon(R.drawable.icon);
builder.setTitle(string);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
builder.show();
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
&ImageView android:id="@+id/sp_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image"
android:layout_gravity="center"
&EditText android:id="@+id/sp_et0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入你的姓名"&
&/EditText&
&EditText android:id="@+id/sp_et1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入你的号码"&
&/EditText&
android:id="@+id/sp_button0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存输入内容shared"&
android:id="@+id/sp_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除shared保存内容"&
android:id="@+id/sp_button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除shared文件"&
&/LinearLayout&
2.在本地data文件下使用自己生成的文件处理数据的 新建 储存 读取 删除
如果说不想把内容存在SharedPreferences中的话,我们可以自己写一个文件保存须要的数据,在这里我将文件保存在系统中的工程路径下。
输入需要保存的内容
保存完毕后红框内呈现之前保存的数据
保存文件以后,文件被保存在了当前工程下 files 文件夹的路径下,这里说一下data文件夹 如果手机没有root 权限 用户是访问不到的,这种储存方式有一个麻烦的地方就是文件中保存的数据须要程序员自己去处理 , 好比文件中保存了很多字符串数据 但是我们只须要其中的一部分数据,这样就须要自己去写代码去从文件中拿需要的数据。
public class FileActivity extends Activity {
public final static String FILE_NAME = "a.txt";
/**File中储存数据的路径**/
public final static String DATA_URL = "/data/data/";
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.file);
/**读取内容**/
String content = loadFile();
if(content == null) {
content ="上次没有输入内容请输入";
String str
= "上次输入保存的内容的姓名为【 " +content + "】";
final EditText editContent = ((EditText)findViewById(R.id.file_et0));
editContent.setHint(str);
Button button0 = (Button)findViewById(R.id.file_button0);
/**监听按钮点击后保存用户输入信息到file中**/
button0.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
/**拿到用户输入的信息**/
String content = editContent.getText().toString();
/**开始保存入file**/
saveFile(content);
ShowDialog("保存File文件成功");
Button button1 = (Button)findViewById(R.id.file_button1);
/**监听按钮点击后清空file中内容**/
button1.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
cleanFile();
ShowDialog("清空File文件成功");
Button button2 = (Button)findViewById(R.id.file_button2);
/**监听按钮点击后删除file文件**/
button2.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
File file = new File(DATA_URL + getPackageName().toString()
+ "/files", FILE_NAME);
if (file.exists()) {
file.delete();
ShowDialog("删除file文件成功");
super.onCreate(savedInstanceState);
* 保存内容
* @param str
public void saveFile(String str) {
FileOutputStream outStream = this.openFileOutput(FILE_NAME,
Context.MODE_WORLD_READABLE);
outStream.write(str.getBytes());
outStream.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
* 因为java删除文件内容只有一种实现方法,就是把整个文件重写,只是把须要删除的那一条记录去除掉
public void cleanFile() {
//如果只须要删除文件中的一部分内容则须要在这里对字符串做一些操作
String cleanStr = "";
FileOutputStream outStream = this.openFileOutput(FILE_NAME,
Context.MODE_WORLD_READABLE);
outStream.write(cleanStr.getBytes());
outStream.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
public String loadFile() {
FileInputStream inStream = this.openFileInput(FILE_NAME);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length = -1;
while ((length = inStream.read(buffer)) != -1) {
stream.write(buffer, 0, length);
stream.close();
inStream.close();
return stream.toString();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
public void ShowDialog(String str) {
AlertDialog.Builder builder = new AlertDialog.Builder(FileActivity.this);
builder.setIcon(R.drawable.icon);
builder.setTitle(str);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
builder.show();
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
&ImageView android:id="@+id/file_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/jay"
android:layout_gravity="center"
&EditText android:id="@+id/file_et0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入需要保存的内容"&
&/EditText&
android:id="@+id/file_button0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存入file"&
android:id="@+id/file_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除file保存内容"&
android:id="@+id/file_button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除file文件"&
&/LinearLayout&
3.在本地程序res/raw中读取数据操作
Android 下提供了专门读取程序res/raw路径下资源的方法,但是没有提供写入raw内容的方法,也就是说只能读不能写,在做软件的时候有时须要读取大量的文字资源,由于这些资源文字在软件中不会改变所以无需去对它的内容重写修改,就可以使用raw来操作数据。
如图所示:在列表中读取.bin文件中的内容分别显示在listView中
如图所示在raw路径下存了一个文件date0.bin ,下面是bin文件中保存的内容,程序中须要对这个.bin文件的内容进行读取并显示在屏幕中。
下面给出代码的实现
public class loadRawActivity extends ListActivity {
private class MyListAdapter extends BaseAdapter {
private int[] colors = new int[] { 0xffxff4f5257 };
public MyListAdapter(Context context) {
mContext =
public int getCount() {
return inpormation.
public boolean areAllItemsEnabled() {
public Object getItem(int position) {
public long getItemId(int position) {
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
tv = (TextView) LayoutInflater.from(mContext).inflate(
android.R.layout.simple_list_item_1, parent, false);
tv = (TextView) convertV
int colorPos = position % colors.
tv.setBackgroundColor(colors[colorPos]);
tv.setText(String.valueOf(position + 1) + ":"
+ inpormation[position]);
private Context mC
String[] inpormation =
ListView listV
protected void onCreate(Bundle savedInstanceState) {
readFile(R.raw.date0);
setListAdapter(new MyListAdapter(this));
listView = getListView();
int[] colors = { 0, 0xFF };
.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
listView.setDividerHeight(10);
super.onCreate(savedInstanceState);
* 从raw中读取数据
* @param ID
public void readFile(int ID) {
InputStream in =
String temp = "";
in = this.getResources().openRawResource(ID);
byte[] buff = new byte[1024];// 缓存
int rd = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ((rd = in.read(buff)) != -1) {
baos.write(buff, 0, rd);
temp = new String(baos.toByteArray(), "UTF-8");
baos.close();
in.close();
inpormation = temp.split("\r\n");
} catch (Exception e) {
Toast.makeText(this, "文件没有找到", 2000).show();
3.在SD卡中处理新建 写入 读取 删除 的操作
可以把数据保存在SD卡中,在SD卡中建立一个文件去保存数据,这里说一下 ,SD卡 用户是可以访问的,也就是说可以把一些可有可无的数据存在SD卡中,即使用户删除了卡中的内容也不会影像软件的使用。
将文件在SD卡中删除
public class loadSDActivity extends Activity {
public final static String FILE_NAME = "b.txt";
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.sdfile);
/**读取内容**/
String content = loadFile();
if(content == null) {
content ="上次没有输入内容请输入";
final EditText editContent = (EditText)findViewById(R.id.sdfile_et0);
editContent.setHint("上次输入SD卡的内容的为【 " +content + "】");
Button button0 = (Button)findViewById(R.id.sdfile_button0);
/**监听按钮点击后保存用户输入信息到SD卡中**/
button0.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
/**拿到用户输入的信息**/
String content = editContent.getText().toString();
/**开始保存入SD卡**/
saveFile(content);
ShowDialog("保存SD卡文件成功");
Button button1 = (Button)findViewById(R.id.sdfile_button1);
/**去清除SD卡保存的内容**/
button1.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
cleanFile();
ShowDialog("清除SD卡文件中的内容成功");
Button button2 = (Button)findViewById(R.id.sdfile_button2);
/**删除SD卡保存的文件**/
button2.setOnClickListener(new
OnClickListener() {
public void onClick(View arg0) {
DeleteSDFile();
super.onCreate(savedInstanceState);
* 保存入SD卡中
* @param str
public void saveFile(String str) {
FileOutputStream fileOutputStream =
File file = new File(Environment.getExternalStorageDirectory(),
FILE_NAME);
fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(str.getBytes());
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
* 读取SD卡的内容
public String loadFile() {
String path = Environment.getExternalStorageDirectory() +"/" + FILE_NAME;
FileInputStream fi = new FileInputStream(path);
BufferedReader br = new BufferedReader(new InputStreamReader(
String readString = new String();
while ((readString = br.readLine()) != null) {
//数据多的话须要在这里处理 readString
return readS
fi.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
* 删除SD卡
public void DeleteSDFile() {
String path = Environment.getExternalStorageDirectory() + "/"
+ FILE_NAME;
File file1 = new File(path);
boolean isdelte = file1.delete();
if(isdelte) {
ShowDialog("删除SD卡成功");
* 因为java删除文件内容只有一种实现方法,就是把整个文件重写,只是把须要删除的那一条记录去除掉
public void cleanFile() {
//如果只须要删除文件中的一部分内容则须要在这里对字符串做一些操作
String cleanStr = "";
FileOutputStream fileOutputStream =
File file = new File(Environment.getExternalStorageDirectory(),
FILE_NAME);
fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(cleanStr.getBytes());
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
public void ShowDialog(String str) {
AlertDialog.Builder builder = new AlertDialog.Builder(loadSDActivity.this);
builder.setIcon(R.drawable.icon);
builder.setTitle(str);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
builder.show();
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
&ImageView android:id="@+id/sdfile_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/g"
android:layout_gravity="center"
&EditText android:id="@+id/sdfile_et0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入需要保存到SD卡的内容"&
&/EditText&
android:id="@+id/sdfile_button0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存输入内容到SD卡"&
android:id="@+id/sdfile_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除SD卡保存文件的内容"&
android:id="@+id/sdfile_button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除SD卡中保存的文件"&
&/LinearLayout&
最近有朋友反映下载资源不够积分,无法下载很着急,从今天开始雨松MOMO更新的任何下载资源不会使用下载积分,欢迎大家下载阅读,还是那句老话每篇文章都会附带源代码的下载地址。
最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习雨松MOMO希望可以和大家一起进步。下载地址:
【上篇】【下篇】平板/笔记本
HiLink生态产品
终端云服务专区
教你彻底删除Android程序,注意是“彻底”
&独步江湖&
来自:浏览器
本帖最后由 旋律2014 于
09:43 编辑
彻底删除某一个程序应用,需要删除三个区域的文件
工具及准备:root状态 RE文件管理器
区域一、系统及预装组件所在目录为system/app,用户自装程序目录为/Data/app
(1)系统预装组件可以看我的帖子了解具体每项的作用
(2)用户自装程序看拼音就可以大致了解具体每项,不知道的可以百度谷歌查询
游客,如果您要查看本帖隐藏内容请
区域三、data/dalvik-cache 里面
想了解每项的可以根据拼音了解或者百度谷歌,最简单的办法是,全部选择删除,重启后系统自动加载,不会有任何影响
助人为乐,您最有爱*~( ̄▽ ̄)~*.
width:100%">
&登堂入室&
来自:浏览器
width:100%">
&登堂入室&
来自:浏览器
width:100%">
&登堂入室&
来自:浏览器
谢谢分享!
width:100%">
&已臻大成&
来自:浏览器
马克,留个脚印。
width:100%">
&登堂入室&
来自:浏览器
bbbbbbbbbbbbbbbbbbbbb
width:100%">
&新学乍练&
来自:浏览器
width:100%">
&登堂入室&
来自:浏览器
看多彻底,谢谢。
width:100%">
&略有小成&
来自:浏览器
这么复杂?,,,,
width:100%">
&登堂入室&
来自:浏览器
教你彻底删除Android程序,注意是“彻底”
width:100%">
申请成为热心花粉,满足热心花粉条件即可获得!http://cn.club.vmall.com/forum.php?mod=viewthread&tid=183642
好基友勋章
花粉好机友,注册时间大于99天
随手拍毕业季(上)P20pro随手拍p10镜头下的小生灵华为P20伴我新疆徒步行3清晨时光
花粉客户端
Make it Possible
Make your device special
华为云空间
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
关注花粉俱乐部
举报邮箱:
|关注花粉俱乐部:
增值电信业务经营许可证:苏B2-号|
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利教你如何从Android内部存储中恢复已删除的照片教你如何从Android内部存储中恢复已删除的照片科技控技能君百家号估计很多人都想知道有没有办法从Android手机中恢复意外删除的照片吧?如果您在Android手机上错误地丢失或删除了一些重要的照片,您可能会感到非常无奈,并想知道如何快速恢复Android上的已删除照片。其实,你不必担心这个!无论您是使用三星,华为,LG,宏达电,摩托罗拉,谷歌,Oneplus,索尼,联想,中兴或其他手机,您都可以按照此说明轻松地从Android中恢复已删除的照片。注意:快速行动。丢失的照片在被新数据覆盖之前都可以从Android中恢复。因此,您最好停止使用Android手机拍摄新照片或视频。方法有2种,具体来看下!第1种:如何在没有备份的情况下从Android恢复已删除的照片第1步。选择专业的Android照片恢复软件建议您使用Gihosoft免费Android数据恢复软件来处理Android照片恢复,因为它是一款功能强大的世界级程序。这个软件可以让你从三星Galaxy Note 8 / S8 / S8 +,华为Mate 10 Pro / P10 Plus,Google Pixel 2/2 XL,LG V 30 / G6 / G5等所有流行的Android设备中检索已删除和丢失的照片。 HTC U 11,Moto Z / X / E,索尼Xperia XZ / L2,OnePlus 5 / 5T等等。第2步。在计算机上运行Android照片恢复应用程序在您的计算机上成功下载并安装Android图片恢复软件后,请双击软件图标启动它。很快,你会看到下面的界面。请选择“多媒体”栏下的“图库”。第3步。将Android手机连接到计算机点击“下一步”,你会被要求将你的Android手机连接到电脑。请启用USB调试,并通过USB电缆将Android连接到PC。(有问题?请参阅:如何将Android连接到PC。)第4步。从Android中扫描已删除的照片和图片准备扫描时,请点击“开始”。该软件将自动扫描来自Android移动设备的图像。该过程需要几分钟,请等待。扫描进度将显示在软件界面的顶部。您可以暂停或停止扫描文件。第5步。预览并从Android中恢复已删除的照片扫描完成后,照片,视频,信息等所有扫描结果将按照Android照片恢复软件主窗口中的文件类型列出。您可以预览它们并选择要从Android恢复的照片,然后单击“恢复”从Android检索已删除的照片。第2种:如何使用备份从Android恢复已删除的照片Gihosoft Phone Transfer提供了一种在Android设备上备份照片,视频,音乐,联系人,短信,通话记录等的简单方法。如果遇到数据丢失,您可以从Android备份会话恢复已删除的照片。在Android上备份照片:启动电话转移并点击“备份您的电话”,然后将您的Android手机连接到电脑。选择您想要保存的“照片”和其他数据,然后点击“开始复制”开始备份。将照片还原到Android:运行移动转移并点击“恢复数据>从电话转移”,然后将Android手机连接到计算机。选择要恢复的备份副本和“照片”,然后单击“开始复制”开始该过程。如果您有之前的备份,您可以通过Gihosoft Phone Transfer从Android恢复已删除的照片。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。科技控技能君百家号最近更新:简介:搜罗最前沿,最给力,最新奇的科技信息作者最新文章相关文章}

我要回帖

更多关于 android测试结果分析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信