Android学习笔记
文章平均质量分 65
mengweiqi33
专注产品质量的技术:)
展开
-
RecyclerView用notifyDataSetChanged()刷新时候的图片闪烁
1.ListView和RecyclerView的adapter在刷新上方法的不同:notifyItemChanged(int position) 更新列表position位置上的数据 notifyItemInserted(int position)列表position位置添加一条数据,有动画效果 notifyItemRemoved(int position)列表position位置移除一条数据,有动画效果 notifyItemMoved(int from,int to)列表from位置的数据.转载 2021-03-10 21:01:08 · 1415 阅读 · 0 评论 -
Charles 本地抓包 MapLocal
charles有一个反射机制,对于有特殊需求的人来说还是很好用的闲话不多说直接上实例在未添加map机制的时候,访问百度返回的是百度的页面,如下图添加map机制后的呢,如下图返回结果就是我设置的“逗你玩”,是不是很得劲儿。下面来说是如何进行设置的第一步右键要添加map机制的url,找到最后有一个map local备注:如果设置后不生效,则选择文件夹那一级别来进行设置,就应该能行了!!!第二步,选择map locallocal path中就是你要返回的结果,点转载 2020-07-07 19:45:45 · 1184 阅读 · 0 评论 -
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
今天把几年前的老项目导入Android studio3.0后报错,报错截图如下:看了一下报错内容,一时不知哪里出错,后来又点击了一下上图红框处的按钮,查看了一下gradle console。于是把红框处的日志百度了一下,发现解决办法很简单,就是在项目的gradle.properties中添加一行代码就行了。android.enableAapt2=false就添加上面这行代码就行了。但是奇怪的是,我的这个老项目连gradle.properties这个文件都没有,这怎么添加这行代码啊..转载 2020-06-30 14:55:08 · 380 阅读 · 0 评论 -
如何获取当前界面的activity的名称
如何获取当前界面的activity的名称1.首先在cmd窗口输入:adb shell2 接着输入如下命令:dumpsyswindoww|grep\\/|grepname=上述这个两个命令就可以获得手机当前界面的activity的名称。转载 2020-06-28 20:31:27 · 990 阅读 · 0 评论 -
Android MVP模式规范
前言 首先,这篇文章不在讲解什么是mvp模式,如果需要请自行搜索mvp模式文章了解.这个文章里我只记录mvp模式的创建和mvp各自层的界限.另外这个博客属于个人使用mvp模式后一些经验总结与记录.并不是最好思想的mvp.还有以下总结的mvp都是使用最简单的mvp模式说明,不是其他大神那种一个类放M/V/P3个内部类(个人不喜欢这种模式),也不是需要各种继承的mvp模式.MVP ...转载 2020-04-08 18:36:40 · 448 阅读 · 0 评论 -
怎样让一个Service开机自动启动
其实参考一下mms 一类的程序就明白了。仿造一份就OK。但是关键是要知道原理。怎样让一个Service开机自动启动1.首先开机启动 后系统会发出一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED ,这个Action只会发出一次。2. 构造一个BroadcastReceiver类,重构 其转载 2011-11-21 16:46:00 · 2790 阅读 · 0 评论 -
eclipse SVN 插件如何在同步时忽略 bin 和 gen 文件夹
如图所示,右键“bin”文件夹,选择“添加至svn:ignore” 即可。原创 2011-12-08 11:10:47 · 11143 阅读 · 3 评论 -
Android ROM中Odex文件的作用及介绍(转自手机开发网)
细心的网友可能发现 Android的ROM中有很多odex文件,相对于 APK中的dex文件而言这个odex有什么作用呢? Android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bi转载 2011-12-19 15:10:03 · 1317 阅读 · 0 评论 -
Android手机如何删除自带软件
大家一般都会删除自己安装的程序了,最简单的办法就是,设置——应用程序——管理应用程序,找到并卸载。这种办法的话,系统自带的程序是删除不掉的。可是很多人可能有整洁癖,看着自己手机里有自己用不上的程序就闹心,哎呀,这个闹心哪,恨不得用手指甲把这几个程序从手机里面抠出去……别!别闹心!来教你怎么删除系统自带的应用程序吧。先提示:系统程序的文件在删除的时候,请慎重,再慎重,后悔药,世上是没有卖转载 2011-12-19 15:05:17 · 2594 阅读 · 0 评论 -
windows下编译android源码的apk
首先要找到需要的Jar包从网上找的有人说是这个/YOUR_E2_PROJECT/install/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar/YOUR_E2_PROJECT/install/target/common/obj/JAVA_LIBRARIES/framework_interm原创 2011-12-23 15:38:23 · 4492 阅读 · 2 评论 -
如何将android源码 api包加入Eclipse中
使用方法:1.在Eclipse中的项目里找到你引用的Adnroid4.0的jar包,在其上右击,选择Properties。2.在打开的界面中选择左边的“Java Source Attachment”.3.然后在右面出现的面板中找到Location Path,点击其右边的“External File”按钮。4.最后找到你下载Adnroid4.0 API 源代码的zip压缩包,转载 2011-12-23 15:28:40 · 1205 阅读 · 0 评论 -
android1.5 2.1 2.2 android 2.3 源代码api包 下载地址
非精简版 1.1.5_R3: http://rapidshare.com/files/304445926/sources_1.5_r3.zip 2.1.6_R2: http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_1.6.zip 3.2.0 (Master branch): http://rapids转载 2011-12-23 15:30:12 · 2843 阅读 · 1 评论 -
Nexus S 刷机教程注意事项
1. 保证电脑可以安装驱动程序成功教程和下载链接http://www.miui.com/a-45.html,注意选择的驱动目录是drivers\x86\usbwin;其它按照教程即可2. 安装Recovery不要按照上面的小米教程,否则只能报错http://bbs.gfan.com/android-3333222-1-1.html,这个链接下下载一键 unlock reco原创 2011-12-28 14:00:52 · 804 阅读 · 0 评论 -
Android 上 NFC 应用
NFC(Near Field Communication)近距离通信技术NFC是一套短距离的无线通信,通常距离是4厘米或更短。NFC工作频率是13.56M Hz,传输速率是106kbit/s 到848kbit/s. NFC总是在一个发起者和一个被动目标之间发生。发起者发出近场无线电波,这个近场可以给被动目标供电。这些被动的目标包括不需要电源的标签,卡,也可以是有电源的设备。与其他无转载 2012-01-18 15:29:15 · 4617 阅读 · 0 评论 -
ListView中存在ImageButton,无法单击 无法调用onItemClick
工程里面有一个listview,listview的模板上有一个ImageButton(在右端),然后有一个TextView在中间,然后我发现中间的TextView无法被单击了,但是显示变黄,然后onListItemClick也不响应. 我试过在layout文件里面在一个ImageButton里面加上android:focusable="false"并且还设置android:descendant转载 2012-02-21 17:11:37 · 4170 阅读 · 2 评论 -
浅谈android的selector背景选择器
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时转载 2012-02-16 16:50:00 · 731 阅读 · 0 评论 -
px、dip、sp区别和使用方法
一、 概述我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种。px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们转载 2012-02-16 10:21:44 · 839 阅读 · 0 评论 -
在Activity之间传递复杂类型 如NdefMessage
一、实现Parcelable接口 对于Android来说传递复杂类型,主要是将自己的类转换为基础的字节数组,Activity之间传递数据是通过Intent实现的,对于二进制数据,传递的参数为putExtra(String name, Parcelable value) ,比如Bitmap类就实现了Parcelable接口,如果需要在Activity中传递图片,可以直接用Bitmap转载 2012-02-16 10:27:28 · 2568 阅读 · 0 评论 -
如何给Sqlite添加复合主键
如果是想两个字段组成一个复合主键的话可以如下。SQL codesqlite> create table t2 ( ...> id1 int , ...> id2 int, ...> col varchar(20), ...> constraint pk_t2 primary ke原创 2012-02-21 10:45:54 · 21352 阅读 · 2 评论 -
解决Debug certificate expired的问题
使用Eclipse调试Android程序,源代码没有错,但总是提示:Error generating final archive: Debug certificate expired on ****从字面了解,是由于Debug证书过期所致。Android的应用程序必须经过开发者自己的自签名证书进行数字签名之后,才能安装到Android系统上。在开发调试阶段,默认情况下,ADT辅转载 2012-03-01 16:50:32 · 805 阅读 · 0 评论 -
如何将项目的class文件添加为jar包
1. 右键-“Export”-选择java-jar file2. 点选你想要转换为jar文件的.class 文件,选择一个导出位置搞定!ps:选择的class 类中的方法使用public, 直接创建实例调用就行了,或者直接声明为static的也可以。原创 2012-03-07 11:17:39 · 1533 阅读 · 0 评论 -
从Service或者是BroadcastReceiver往Activity跳转时出现的错误
错误提示:ERROR/AndroidRuntime(192): java.lang.RuntimeException: Unable to start receiver com.test.hmenu.HMenuReceiver: android.util.AndroidRuntimeException: Calling startActivity () from outside of an Act转载 2012-03-07 15:53:12 · 2693 阅读 · 1 评论 -
ComponentName的意思
ComponentName是用来打开其他应用程序中的Activity或服务的。用法:Intent i=new Intent();i.setComponent(new ComponentName(String packageName,String activityName ));startActivity(i);原创 2012-03-27 15:00:00 · 11665 阅读 · 0 评论 -
如何通过URL获得网络上的图片
private Drawable loadImage(String url) {try { return Drawable.createFromStream( (InputStream) new URL(url).getContent(), "test");} catch (MalformedURLException e) {Log.e("except原创 2012-03-16 18:14:23 · 1103 阅读 · 0 评论 -
HashMap和Hashtable的区别
1 HashMap不是线程安全的 hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。2 HashTable是线程安全的一个Collection。HashMap是H转载 2012-03-19 16:27:11 · 578 阅读 · 0 评论 -
Collection List/Set/Map 的区别和联系
导读: Map:HashMap、HashTable 如何在它们之间选择 一、Array , Arrays Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。 1、 效率高,但容量固定且无法动态改变。 array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。 2、Jav转载 2012-03-19 17:43:32 · 2231 阅读 · 0 评论 -
Android移除EditText上的输入焦点实例
当我们创建一个带EditText 或 AutoCompleteTextView的视图时,在加载视图时总是会把输入的焦点自动移动到第一个输入框。如下图所示:下面是mail.xml布局文件: linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orie转载 2012-03-19 10:40:29 · 1353 阅读 · 0 评论 -
有来有去 startActivityForResult()
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,还同时返回一些子模块完成的数据交给主Activity处理。用startActivity启动主界面是一个新的Intent实例,而访问的主界面还在activity栈的下面没有调出来,这样做的一个最大的问题是,回不到原界面就不能多个子功能模块共同来给主界面提供数据或服转载 2012-03-21 16:41:10 · 764 阅读 · 0 评论 -
Bitmap调用recycle()回收内存
Bitmap调用recycle? When? Bitmap有一个recycle方法,意思很简单,回收Bitmap的空间。 Q 1: Bitmap是否有调用recycle方法的必要性?A: 嵌入式系统总是格外注重空间的问题,不小心的话就会有OOM。但是应用层使用java的android平台有其天然的优势【java语言有自己的垃圾回收,android平转载 2012-04-27 15:50:02 · 1679 阅读 · 0 评论 -
Android的内存优化方法
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。 那么GC怎么能够确认某一个对象是不是转载 2012-04-27 16:10:17 · 723 阅读 · 0 评论 -
利用convertView优化ListView性能
基本的getView写法 Java代码public View getView(int position, View convertView, ViewGroup parent) { View view = new View(); //通过inflate等找到布局 然后findViewById等 设置各个显示的item return view;} 而转载 2012-04-27 16:26:29 · 606 阅读 · 0 评论 -
在一个Activity中使用多个Dialog
Android Dev-Guide 推荐重写Activity.onCreateDialog()方法来创建Dialog,这样Dialog就归属于这个Activity了。使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示之,便于多个Dialog的统一管理。注意,以后再用Activity.showDialog()显转载 2012-04-28 15:10:38 · 2107 阅读 · 0 评论 -
SharedPreferences 的用法
SharedPreferences存储类效率分析SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存,它是什么样的转载 2012-04-17 16:08:58 · 563 阅读 · 0 评论 -
Handler使用方法
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button, Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如转载 2012-04-23 18:31:03 · 679 阅读 · 0 评论 -
互联网通信-文件下载
在Android 2.3引入了DownloadManager可以处理复杂的文件下载,包括检查用户是否有数据联系(WIFI或者移动数据),当用户从一个有数据连接的地方移动到无连接的地方(例如离开了wifi或者3G data的access point),确保设备在下载过程中保持awake状态。DownloadManager可以处理HTTP URLs,但是不能处理HTTPS(SSL) URLs。转载 2012-06-08 11:12:43 · 949 阅读 · 0 评论 -
android之将图片转化为圆形图片
bitmap = ((BitmapDrawable)imageView1.getDrawable()).getBitmap(); bitmap = getRoundedCornerBitmap(bitmap); imageView1.setImageBitmap(bitmap); public static Bitmap getRoundedCornerBitmap(Bitmap转载 2012-06-07 17:57:32 · 7601 阅读 · 1 评论 -
android 布局问题总结
1. android:padding 是用来标示内部文字与view 的间距,android:layout_margin则是用来标示view 与父layout的间距。2. android:layout_margin写死之后android:layout_marginLeft等标签都将失效,例如android:layout_margin="15dip" android:la原创 2012-06-07 17:59:57 · 841 阅读 · 0 评论 -
android全屏,去掉title栏的办法
1.实现应用中的所有activity都全屏在manifest中直接加入android:theme="@android:style/Theme.NoTitleBar.Fullscreen"2.实现单个activity全屏requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(Wi转载 2012-06-08 10:23:03 · 1603 阅读 · 0 评论 -
【Android控件布局】Layout 水平平分空间、垂直平分空间
今天在论坛看到有人提问,如何让两个按钮平分一行空间。 大概效果如下: 有人说,设置宽度固定大小,这样应该可以达到效果(本人没试),但是如果使用不同分辨率的手机来看,肯定会有问题,影响用户体验。也有人说,设置宽度属性为 fill_parent, 其实这样是不行的。 页面上只会显示一个按钮,要么A ,要么B。(看你布局文件而定) 那么有什转载 2012-05-24 15:58:07 · 19304 阅读 · 4 评论 -
Android的16进制颜色值
Android的颜色值 为8位16进制的颜色值:例如:0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00转载 2012-06-14 13:47:35 · 21319 阅读 · 1 评论