Android
PoccTunn
一个小菜鸟
展开
-
android 与 php 联调遇到的 bug
在跟 php 调试一个接口的时候,发现了一个很奇怪的问题,android 请求接口提示验证失败,我找了 ios 的请求参数,比较参数发现没有问题。然后查看了一下 php 的报错日志,发现了 php 获取的参数跟客户端传递的参数不一致。比较了一下 android 提交的参数,发现有一个 + 号变成了空格。检查了一下 android 的传参方法,发现因为某个参数需要 base64 。转换之后的参数...原创 2019-11-21 00:38:24 · 187 阅读 · 0 评论 -
RecyclerView点击事件与长按事件
最近开始使用RecyclerView了。RecyclerView很是强大,不过它不提供点击事件与长按事件,官方只提供ItemTouchListener,这让习惯了Listview点击事件的我很是苦恼。在网上找了一下实现方法,有的说在adapter里添加回调接口来实现点击事件与长按事件。不过经过测试,有时候会产生这样的现象:点击item跳转到下一个页面,再返回回来时,item的点击事件会失效。后来在S原创 2016-05-06 16:03:17 · 7740 阅读 · 2 评论 -
greenDAO学习心得(一)
每次写sqlite都感觉太繁琐,一不小心语句写错了,还要找半天。在网上查了些资料,准备学习使用greenDAO。学习的过程中特意写这个博客,来记录我的心得,本人是研究的不多可能有些方面写的不太好,请见谅。一、greenDAO相关内容1.greenDAO的官网http://greenrobot.org/。2.项目下载地址:github二、使用步骤官方Demo里共有六个工程目录,分别为: (1).Da原创 2016-03-03 15:00:31 · 602 阅读 · 0 评论 -
五年Android开发,让我“刻骨铭心”的那些坑(转载)
从别的地方看到这篇文章,写的很不错。转载过来学习一下。原文地址五年Android开发,让我“刻骨铭心”的那些坑转载 2016-08-30 11:33:03 · 556 阅读 · 0 评论 -
Android 开发中的日常积累(转载)
在github上看到的,整理的非常详细,转载一下,向作者学习Android 开发中的日常积累转载 2016-08-30 11:52:07 · 387 阅读 · 0 评论 -
android.widget.LinearLayout cannot be cast to android.app.Activity处理
android.widget.LinearLayout cannot be cast to android.app.Activity 一个很简单的错误,让我找了半天。总结来说,就是粗心造成的。 从字面意思上看是类型转换错误。先根据log定位到activity,然后根据log,检查xml中有没有哪里写错的地方。比如我这次就是将自定义的view,当做layout用include引入,这种错误仔细检查原创 2017-02-28 23:24:44 · 4950 阅读 · 0 评论 -
一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
源址:http://diycode.cc/topics/122jixiaohua转载 2017-03-20 14:16:34 · 250 阅读 · 0 评论 -
Error:Configuration with name 'default' not found. 解决办法
原文地址 在导入studio工程的时候,进行sync的时候,提示Error:Configuration with name ‘default’ not found.之前由于对gradle不熟悉,所以没有找到原因,其实也是偷懒,没有认真去排查问题,今天又遇到了,就折腾了会,把所有的配置文件都打开看,最终解决问题了,发现尽然是个低级的不能低级的问题,故记录下,警醒自己。打开settings.gradl转载 2017-03-30 22:15:17 · 181 阅读 · 0 评论 -
ListView 中RelativeLayout 布局的 android:layout_above 无效的解决办法
ListView item的布局中RelativeLayout的高度要是一个固定的值 其次:加载 layout文件 创建LayoutInflater对象的时候 要使用:convertView = mInflater.inflate(R.layout.list_item_kind, parent, false); 不能使用 convertView = mInflater.inflate(R.原创 2017-06-03 17:29:36 · 3272 阅读 · 0 评论 -
Listview item.measure(0, 0);报空指针时问题
做了一个截取ListView内容保存为图片的功能,测试的时候发现4.2的模拟器上报错,查看一番之后发现是计算item时候报空指针,查到的解决方案如下:转载地址:解决方案当调用listItem.measure(0, 0);报空指针时问题: 检查Adapter适配时Item的根容器为RelativeLayout, 报错原因: In platform version 17 and lower, Re转载 2017-09-13 10:33:51 · 288 阅读 · 0 评论 -
Android WebView上传文件(转)
作者:张磊BARON 链接:http://www.jianshu.com/p/48e688ce801f 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近公司项目需要在WebView上调用手机系统相册来上传图片,开发过程中发现在很多机器上无法正常唤起系统相册来选择图片。解决问题之前我们先来说说WebView上传文件的逻辑:当我们在Web页面上点击选择文件的控件转载 2017-09-18 11:18:54 · 586 阅读 · 0 评论 -
升级了AndroidStudio3.0之后遇到的奇怪问题
趁着公司新版本还没开始的时候,把as升级到了3.0。升级完成是没发现什么问题,也没发现有什么特别的好处。 没发现问题主要是因为有各种踩坑指南,一路都把坑都填平了,升完级心里还美滋滋的。过了不久,要更新版本了。做好需求之后,打包给测试,这个时候坑就来了: 一、编译release需要选择V1,v2。不然会出现无法安装的情况 二、项目里面用了原生的Json解析,需要在混淆规则中加入-keep ...原创 2018-08-30 23:09:41 · 282 阅读 · 0 评论 -
加快程序装载和执行速度
可以使用对齐对齐的话是使用ADT工具中的zipalign工具,这个最好对齐下,程序装载和执行会快很多,因为是和CPU读取数据有关系,对齐的方式能更好的预判和读取。是个命令行:zipalign -v 4 signed.apk final.apk -v是用来指明按多少字节对齐,貌似大家用4字节对齐比较多,如果没有什么特殊的应用需求的话,就4字节好了。后面的两个参数分别是签名后的ap原创 2016-04-11 23:45:30 · 319 阅读 · 0 评论 -
Unable to find explicit activity class另类的解决方法
最近遇到一个很奇怪的问题。在我自己电脑上运行正常的工程,拷贝到别人电脑上,有时候会有这样的错误:android.content.ActivityNotFoundException: Unable to find explicit activity class {com.myplayer.activity/com.myplayer.activity.MainActivity}; have you de原创 2016-03-21 17:59:42 · 7406 阅读 · 0 评论 -
AlarmManager系统闹钟
AlarmManager介绍AlarmManager这个类提供对系统闹钟服务的访问接口。你可以为你的应用设定一个在未来某个时间唤醒的功能。当闹钟响起,实际上是系统发出了为这个闹钟注册的广播,会自动开启目标应用。注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机和重启后,闹钟将会被清除。在alarm的receiver的onReceive()方法被执行的时候,Alar原创 2016-03-18 23:11:47 · 500 阅读 · 0 评论 -
Tomcat使用心得
自己摸索了一下tomcat的使用方法,为了方便记忆写了这个博客,本人是小白,有错误的地方请见谅!1.首先是去tomcat官网下载压缩包http://tomcat.apache.org/。2.因为我用的JDK版本是7.0的,所以下载了tomcat-7.0的版本,tomcat和JDK的版本是对应的,切记。3.解压到任意磁盘,这里我解压到了C盘根目录下,接下来就是配置tomcat的环境变量。原创 2015-03-03 15:37:04 · 577 阅读 · 0 评论 -
TCP/IP协议与UDP协议的区别
TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送转载 2015-01-05 15:55:39 · 375 阅读 · 0 评论 -
让editText不自动获得焦点
原文地址:http://blog.csdn.net/kangyaping/article/details/7481692在项目中,一进入一个页面, EditText默认就会自动获取焦点。那么如何取消这个默认行为呢?在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为解决之道转载 2014-12-11 11:27:05 · 325 阅读 · 0 评论 -
Android——使用SQLite数据库访问
SQLite SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接原创 2014-09-23 18:31:41 · 665 阅读 · 0 评论 -
Android使用Handler实时更新UI
在Android中,主要通过MessageQueue、Looper和Handler三个类来实现Android应用程序的消息处理。其中,MessageQueue类用来描述消息队列;Looper类用来创建消息队列,以及进入消息循环;Handler类则用来发送消息和接收消息。 本文将主要对Handler进行简要介绍,并以一个简单的实例演示如何使用Handler实时更新UI。 1转载 2014-09-15 17:24:41 · 3786 阅读 · 0 评论 -
Android中自动跳转到系统设置界面
相关的APIandroid.provider.Settings。1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面 Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS); startAc原创 2014-09-04 15:42:53 · 448 阅读 · 0 评论 -
将Android Activity设置成对话框式
将activity设置成对话框样式,只需在activity属性里面增加下面一句代码:?1android:theme="@android:style/Theme.Dialog"然后可以activity左边增加一个小图片,让它更像Dialog,代码如下:?转载 2014-09-02 14:59:51 · 633 阅读 · 0 评论 -
Android 自定义Button按钮显示样式(正常、按下、获取焦点)
现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的。今天学习自定义Button按钮样式。Button样式修改的是Button的背景(Background)属性。首先写一个定义Button样式的XML文件:新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。转载 2014-09-02 12:01:36 · 530 阅读 · 0 评论 -
Android入门:部署时的常见错误
错误:Failure[INSTALL_FAILED_UPDATE_INCOMPATIBLE]原因:因为没有卸载干净。解决:在Android手机上,“设置”-->“应用程序”-->“管理应用程序”,卸载程序即可;错误:failure 【install-failed-already-exists】原因:在Android手机上已经存在该应用。解决:ad转载 2014-09-02 11:44:58 · 368 阅读 · 0 评论 -
RelativeLayout常用属性介绍
下面介绍一下RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical转载 2014-09-01 22:49:39 · 312 阅读 · 0 评论 -
下载APK,检测APK是否安装,检测程序是否运行
通过url下载apk,比较下载文件大小,通过handler更新界面,达到显示下载进度的目的。操作网络需要在子线程中进行Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0:原创 2016-03-18 23:15:13 · 913 阅读 · 0 评论