Android中删除文件名显示乱码的文件方法
原意是备份一个hosts文件,然后修改hosts的内容的(作用大家懂的),用RE复制,然后粘贴就出现这个乱码的文件了,用RE删,提示删除成功,但再次进入/etc又会出现这个文件,我删了N次这个文件都阴魂不散,彻底晕倒了。
由于hosts文件在手机rom中,把手机接上电脑只能看到TF卡上的内容,所以只能在手机上想办法了。
最后,解决办法是通过终端(shell)把它OK掉(删掉),估计用USB接到电脑用adb shell也可以,我没试验过。
手机需要装上的软件如下:
Better Terminal Emulator(超级终端)
Root Explorer(简称RE)
超级终端的好处是基本与linux的终端一致,可以用tab键自动补全路径(重点),在超级终端中tab键是 控制键+数字键9 ,我把控制键设为音量放大键,所以是按 音量放大键+9。
自动补全路径:例如路径是/usr/bin/autostart.sh
那么输入/usr/bin/aut 按tab就能补全为 /usr/bin/autostart.sh
这样就能使不能输入的乱码字符自动补上了。
步聚:
1、打开终端后用 ls 命令查看要删除的文件名
ls -a 文件路径
-a 表示显示隐藏文件
eg: ls -a /etc/
2、用 rm 命令删除文件,如果路径存在空格则要用双引号(”")把路径括起来。
rm -f 文件路径
-f 不询问直接删除
eg: rm -f “/etc/hosts -乱码部份”
如果提示 read-only system,则用RE挂载为读写。
以上,折腾完毕。(原文:安卓主题下载网)
在使用java开时,WAC启动Android模拟器时出现“transfer error: Read-only file system”错误,下面我们来看解决办法。然后Widget无法安装和执行!在参考了官方论坛上的相同问题的一个帖子后,也没有实质的解决办法(主要是楼主不厚道,解决了也不说明如何解决)。
最终还是自己摸索解决了,因为我用的是win7,默认启动SDK中的Eclipse不是管理员权限,导致如上错误。
解决的办法是:
1、打开AVD所在的目录(默认是C:Users你的名称.android),将.android目录及其子目录的只读属性去掉;
2、在SDK的Eclipse.exe上右键选择“以管理员身份运行”,然后启动SDK再运行widget;
需要注明的是这个是win7下的解决办法,我是直接用的WAC SDK进行安装测试的。
其它区别总结
1. 出现“Project has no target set. Edit the project properties to set one.”的错误
Eclipse导入步骤:
1. File.../Import.../General/Existing Projects into Workspace
2. 点Browse按钮,选择要导入的项目所在目录,点Finish
3. 如果出现“Project has no target set. Edit the project properties to set one.”的错误,则需要在该项目的属性里选中Project Build Target的Android版本
4. 文件夹中会自动追加一个gen的小目录,里面是自动生成的R.java文件,如果导入的文件中已有R.java,则会报错,此时只要将原来的R.java文件删掉即可。
如果有提示关于AndroidManifest.xml的错误,请选中此项目,并右键选择Android Tools->Fix Project,将会自动帮你修复错
误。
2. Could not find *.apk
1) 选择工程的Properties->Java Build Path->Libraries,去掉默认的Android包;
2) 点击左侧的Android标签,在右边的Project Build Target中选择Android 2.0;
3) 右键单击工程,选择Android Tools->Fix Project Properties.
有时候也可能是jdk版本的问题,改了jdk版本后,重启下eclipse
3、emulator: ERROR: the user data image is used by another emulator. Aborting
没有正常关闭导致的,删除android-sdk-windows/.android/avd/对于版本/下的以.lock结尾的文件夹就行
4. qemu: could not open disk image E:/Android/sdcard.img
创建数据库
Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:
•构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
•onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
•onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。
下面示例代码展示了如何继承 SQLiteOpenHelper 创建数据库:
代码如下 | 复制代码 |
public class DatabaseHelper extends SQLiteOpenHelper { |
接下来讨论具体如何创建表、插入数据、删除表等等。调用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQLiteDatabase 实例,具体调用那个方法,取决于你是否需要改变数据库的内容:
代码如下 | 复制代码 |
db=(new DatabaseHelper(getContext())).getWritableDatabase(); return (db == null) ? false : true; |
上面这段代码会返回一个 SQLiteDatabase 类的实例,使用这个对象,你就可以查询或者修改数据库。
当你完成了对数据库的操作(例如你的 Activity 已经关闭),需要调用 SQLiteDatabase 的 Close() 方法来释放掉数据库连接。
android系统下每个程序的数据存放在 /data/data/(package name)/ 目录下,数据库则是在/dababases/目录下..
所以,你只要用FileInputStream读取原数据库,再用FileOutputStream把读取到的东西写入到那个目录就可以了..
操作方法:
1. 把原数据库包括在项目源码的 res/raw 目录下.
2.创建一个类来控制database..如下:
代码
代码如下 | 复制代码 |
public class DatabaseManager{ private SQLiteDatabase database; DBManager(Context context) { public void openDatabase() { private SQLiteDatabase openDatabase(String dbfile) { |
然后在需要用到数据库的时候,用实例化一个DatabaseManager类,调用其openDatabase方法就可以返回一个
SQLiteDatabase对象了..如下:
代码
代码如下 | 复制代码 |
SQLiteDatabase db = new DBManager(this).openDatabase(); |
这里只是安卓手机开发的一个角
代码:
代码如下 | 复制代码 |
Dialog ad = new Dialog(context); ad.show(); Window window = ad.getWindow(); window.setBackgroundDrawable(new ColorDrawable(0)); window.setContentView(R.layout.cancel_sos_dialog); |
最好的办法是第二种:
代码如下 | 复制代码 |
AlertDialog ad = new AlertDialog.Builder(context).create(); ad.setView(ManagerDialogLayout_.build(context,ad)); ad.show(); Window window = ad.getWindow(); window.setContentView(ManagerDialogLayout_.build(context,ad)); |
在调用show方法前先调用setView(layout),show后再调用window.setContentView(layout),两个Layout布局应该是相同的。
至于原因,暂时不明,但是确实解决了问题,在EditText上点击,可以调出软键盘,输入法了。
需要圆角距形的背景,可是直接用一终圆角的图片,但是因为Android屏幕分辨率太乱,为了能适应所有的分辨率,我们不可能事确定好宽度,虽然可以用draw9patch,但我一直没掌握那工具的用法,做出来的图片最终还是变形,但用下面的方法就永远不会变形,因为没有用图片,是用Android直接绘图.
最终的效果图:
新建一个drawable的xml文件,这里名为server_setting_bg:
代码如下 | 复制代码 |
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 边缘线的宽度和颜色 --> <stroke android:width="1px" android:color="#7d7a7a" /> <!-- 中间的背景色 --> <solid android:color="#e4e4e4"/> <!-- 设置四个角的角度 --> <corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp"/> </shape> |
调用方法:
代码如下 | 复制代码 |
<LinearLayout |
相关文章
- 下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- 这篇文章主要介绍了cmd下过滤文件名称的两种方法,需要的朋友可以参考下...2020-06-30
- 复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 如果我们的项目需要做来电及短信的功能,那么我们就得在Android模拟器开发这些功能,本来就来告诉我们如何在Android模拟器上模拟来电及来短信的功能。 在Android模拟...2016-09-20
- 夜神android模拟器如何设置代理呢?对于这个问题其实操作起来是非常的简单,下面小编来为各位详细介绍夜神android模拟器设置代理的方法,希望例子能够帮助到各位。 app...2016-09-20
- 为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
- 如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
- 深入理解Android中View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的。View是基类,ViewGroup是它的子类。本教程我们深...2016-09-20
- 伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
- 下面我们来看一篇关于Android自定义WebView网络视频播放控件开发例子,这个文章写得非常的不错下面给各位共享一下吧。 因为业务需要,以下代码均以Youtube网站在线视...2016-10-02
- java开发的Android应用,性能一直是一个大问题,,或许是Java语言本身比较消耗内存。本文我们来谈谈Android 性能优化之MemoryFile文件读写。 Android匿名共享内存对外A...2016-09-20
- TextView默认是横着显示了,今天我们一起来看看Android设置TextView竖着显示如何来实现吧,今天我们就一起来看看操作细节,具体的如下所示。 在开发Android程序的时候,...2016-10-02
Centos中彻底删除Mysql(rpm、yum安装的情况)
我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15android.os.BinderProxy cannot be cast to com解决办法
本文章来给大家介绍关于android.os.BinderProxy cannot be cast to com解决办法,希望此文章对各位有帮助呀。 Android在绑定服务的时候出现java.lang.ClassCastExc...2016-09-20- 数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
- 这篇文章主要介绍了Android 实现钉钉自动打卡功能的步骤,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下...2021-03-15
- 下面我们来看一篇关于Android 开发之布局细节对比:RTL模式 ,希望这篇文章对各位同学会带来帮助,具体的细节如下介绍。 前言 讲真,好久没写博客了,2016都过了一半了,赶紧...2016-10-02
- 最近由于项目的需要,需要动态的添加和删除table中的tr,感觉用JS可以实现,但是在网上找了一下,单纯的自己写JS,感觉太麻烦,而且也不好维护。于是想到了最近学的jQuery。这篇文章给大家用实例介绍了jQuery动态添加与删除tr行的方法,有需要的朋友们可以参考借鉴。...2016-10-20