Android
文章平均质量分 92
kduo
这个作者很懒,什么都没留下…
展开
-
反编译APK--获取资源文件和java文件
当看到一个你很喜欢的APK,或者想要知道里面的与源代码,最后一条路只能是反编译了。步骤如下1.下载反编译工具包:http://download.csdn.net/detail/kinglong68/9462788 解压后获得三个工具: ①apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件。 ②dex2jar:将APK反编译成Java源码(将classes.dex转化原创 2016-03-16 10:48:36 · 2467 阅读 · 0 评论 -
RadioButton---自定义单选框
一般自带的单选框比较难看,有洁癖的大家估计不好接受,下面谢谢自定义的单选框。1)与Button点击变色的道理一样,首先要建一个selector资源选择器文件如下 文件名称:sele.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android原创 2016-03-22 15:33:00 · 368 阅读 · 0 评论 -
自定义进度条
系统进度条有些难看,无法满足大家需求,可以用动画自定义进度条。 1.逐帧动画1)在res文件夹下创建drawable文件夹,然后新建一个animation-list的文件,amin_pgbar.xml。<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/ap原创 2016-03-22 17:51:41 · 330 阅读 · 0 评论 -
自定义SeekBar(简单点的)
1.SeekBar的基本属性android:max="100" //滑动条的最大值android:progress="60" //滑动条的当前值android:secondaryProgress="70" //二级滑动条的进度android:thumb = "@mipmap/sb_icon" //滑块的drawable2.SeekBar的监听事件setOnSeekBarChangeListen转载 2016-03-23 11:57:46 · 450 阅读 · 0 评论 -
RatingBar(星级评分条)
1.RatingBar相关属性 android:isIndicator:是否用作指示,用户无法更改,默认false android:numStars:显示多少个星星,必须为整数 android:rating:默认评分值,必须为浮点数 android:stepSize: 评分每次增加的值,必须为浮点数 room_ratingbar.setRating(float)2.自定义评分条 1)同s转载 2016-03-23 14:25:30 · 434 阅读 · 0 评论 -
ListView相关属性
1.布局文件中使用的相关属性footerDividersEnabled:是否在footerView(表尾)前绘制一个分隔条,默认为trueheaderDividersEnabled:是否在headerView(表尾)前绘制一个分隔条,默认为truedivider:设置分隔条,可以用颜色分割,也可以用drawable资源分割dividerHeight:设置分隔条的高度cacheColorHin原创 2016-03-23 16:43:09 · 255 阅读 · 0 评论 -
接口参数有中文,乱码怎么办
问题:通过GET方法请求数据,接口里参数带中文,在浏览器中可以请求到数据,在程序里就是得不到数据。环境:网络请求框架用的是Volley原因:浏览器中请求,浏览器会给中文自动编码比如:看房–>%E7%9C%8B%E6%88%BF; 用HttpGet原生的请求方法,试了试也没问题,说明HttpGet也给中文编过码了; 在Volley框架中不行,但是将参数换成%E7%9C%8B%E6%88%BF后,可原创 2016-04-06 15:53:06 · 8008 阅读 · 0 评论 -
Toast的基本使用
1.Toast方法封装public static Toast toast = null; public static void showToast(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_LO转载 2016-03-24 16:45:55 · 299 阅读 · 0 评论 -
自定义Dialog
先看效果图: 1.新建一个类,并extends Dialog。public class MyDialog extends Dialog implements android.view.View.OnClickListener{ private Context context; private String hintTitle,hintDescription;//dialog对话框文字原创 2016-03-24 17:56:02 · 241 阅读 · 0 评论 -
自定义PopupWindow
1.PopupWindow和Dialog的本质区别:AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情;而PopupWindow是阻塞式对话框:PopupWindow弹出时,程序会等待,在PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法的后,PopupWindow退出,程序才会向下执行。2.几个常用的构造方法public PopupW原创 2016-03-25 11:41:04 · 434 阅读 · 0 评论 -
Jar mismatch! Fix your dependencies
最近遇到一个奇怪的事情,手机连接Eclipse好好的,一开logcat能输出信息,后来突然就不输出了,关了Eclipse,重新连接手机也是如此,而且突然又发现控制台总是输出错误信息,如下:原来是不同项目引用的v4包不同导致的。 解决办法是将这两个项目的v4包统一,或者直接删除不需要的项目。 然后,logcat也能正常输出信息了。原创 2016-04-07 19:44:10 · 324 阅读 · 1 评论 -
EditText密码可见与不可见
这里只当做记录,原文请看 http://www.runoob.com/w3cnote/android-tutorial-listener-edittext-change.html1.Java代码package com.jay.demo.edittextdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bu转载 2016-03-28 12:00:21 · 2408 阅读 · 0 评论 -
Android 开发规范
转载自:http://www.cnblogs.com/xiongbo/archive/2011/08/15/2098130.html 发现自己有好多不良的开发习惯,代码不规范,没有人吼过自己,自己也没有注意,转载别人的文章来督促自己,要养成良好的代码编写习惯。一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第转载 2016-04-17 10:49:40 · 261 阅读 · 0 评论 -
四中启动模式和onNewIntent的关系
1.standard 默认启动模式,每次激活Activity时都会创建Activity,并放入任务栈中,永远不会调用onNewIntent()。2.singleTop 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,并调用其onNewIntent(),否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例,而不会调用onNewInte原创 2016-04-21 17:11:34 · 303 阅读 · 0 评论 -
IntentService
在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Act转载 2016-07-12 15:48:31 · 431 阅读 · 0 评论 -
UI Automator Viewer
在做项目过程中,看别人写的代码或许很痛苦,逻辑部分就不说了,有点时候别人写的布局,你也未必能轻松看明白,这时有个工具可能会帮你大忙,就是SDK自带的UI Automator Viewer,使用方法如下。1.连接Android 设备到开发机器,打开被测app 2.运行/tools/目录下的uiautomatorviewer.bat 这时,会自动弹出一个窗口,如图 3.点击uiautomatorv原创 2016-07-14 11:22:55 · 1423 阅读 · 0 评论 -
RadioButton只有图片设置居中
做底部导航栏,用RadioButton,如图现在不要文字,只留图片了,然后怎么设置都会发现,图片居中不了后来看了半天,其实是居中了的,但是是文字和图片一起居中的,文字虽然没有了,但位子的位置大小还在,就导致了看起来不居中。 解决办法,把文字的大小设置为0sp就oK啦原创 2016-06-22 12:49:42 · 3141 阅读 · 0 评论 -
Button和ImageButton的使用
本人平时做项目时,这两个控件使用的较少,一般都用TextView代替,这里重新学习下他们的用法。参考文章 :http://www.runoob.com/w3cnote/android-tutorial-button-imagebutton.html1.点击变色效果StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 < selecotr >转载 2016-03-22 10:48:04 · 1291 阅读 · 0 评论 -
EditText
EditText也是经常用到的控件,可以输入和获取文字,这里写一下自己不熟悉的属性。1.一些属性android:selectAllOnFocus="true"//获得焦点后全选组件内所有文本内容android:textScaleX="1.5" //设置字与字的水平间隔android:textScaleY="1.5" //设置字与字的垂直间隔2.焦点问题如果输入法在窗口上已经显示,则隐藏转载 2016-03-18 14:58:29 · 252 阅读 · 0 评论 -
android 横竖屏切换问题
1.禁止横竖屏转换 在AndroidManifest.xml文件中设置 android:screenOrientation=”portrait”//竖屏 android:screenOrientation=”landscape”//横屏 android:screenOrientation=”sensor”//根据重力感应切换 android:screenOrientation=”nosen转载 2016-03-16 15:47:45 · 437 阅读 · 0 评论 -
startActivityForResult
当一个Activity需要和多个Activity交互,并且后者要传值给前者的话,就要用到startActivityForResult。 方法步骤如下:A.class—>B.class,并且B.class要给A.class回传值1.A.class Intent intent=new Intent(); intent.setClass(A.this,B.class); startActivi转载 2016-03-16 16:48:26 · 275 阅读 · 0 评论 -
android 过场动画如何加载
过场动画就是切换到另外的Activity时加上一些切换动画,动画文件要放在res/anim目录下。方法一:比较简单 A跳转到B—->在 startActivity(intent)后面加上 overridePendingTransition(R.anim.push_up_in,R.anim.push_up_out);B返回A—>要在 finish()后面加上overridePendingTransi原创 2016-03-17 12:02:28 · 631 阅读 · 0 评论 -
Activity获得焦点----onWindowFocusChanged
参考文章:http://blog.csdn.net/yueqinglkong/article/details/44981449是Activity的焦点改变时,系统自动调用的方法。 实验结果: 当启动一个Activity时,运行顺序:onCreate–>onStart–>onResume–>onWindowFocusChanged(获得焦点)跳转到另一个Activity时:onPause–>onW原创 2016-03-17 13:24:57 · 9163 阅读 · 0 评论 -
退出App的几种方法
查阅了些资料,要完全退出App,最常用的方法是:1.将activity放入一个list集合,然后遍历关闭。 具体步骤如下: 1)创建一个activity管理类:ActivityCollector 定义三个共有静态的方法;定义存储activity的list集合。方法如下: ①addActivity:往集合里添加activity对象 ②removeActivity:移除activity对象转载 2016-03-16 17:53:27 · 2097 阅读 · 0 评论 -
Activity的四中启动模式
参考文章:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0520/2897.html有的大牛已经讲的很清楚了,这里写写自己的简单理解。1.standard模式:默认的启动模式,只要启动就创建新的实例,不管之前存在不存在,先来的在下面,后来的在上面。2.singleTop模式:如果一个Activity的实例已经存在于任务栈的栈顶,转载 2016-03-17 16:52:00 · 413 阅读 · 0 评论 -
Service--简单学习
参考文章:http://www.runoob.com/w3cnote/android-tutorial-service-1.html Service是Android提供一个允许长时间留驻后台的一个组件,最常见的 用法就是做轮询操作!或者想在后台做一些事情,比如后台下载更新!Android中使用Service的方式有两种: 1)StartService()启动Service 2)BindServ转载 2016-03-30 11:41:04 · 324 阅读 · 0 评论 -
IntentService
Service的应用场景:在后台只处理一个请求时比较合适IntentService的应用场景:service需要处理多个请求,当然处理多个请求是一个比较危险的多线程的场景1.什么是IntentService简单说,IntentService是继承于Service并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentService的方式和启动传统Servi转载 2016-03-30 15:15:32 · 97 阅读 · 0 评论 -
Android----UI
1.LinearLayout经常使用LinearLayout,但有时候感觉它的属性不管用,例如:在一个LinearLayout布局中,让一个TextView在左面,一个TextView在右面,我想当然的用gravity,一个设置在左,一个设置在右,结果发现不行,然后就改用RelativeLayout。可是为什么不行呢?原因如下当 android:orientation=”vertical” 时, 只转载 2016-03-18 11:32:37 · 254 阅读 · 0 评论 -
TextView加边框
TextView是最熟悉的控件了吧,一开始学安卓就用它,关于它的属性很多,用到的时候百度就行,不用刻意去记忆,下面说一下比较常用的几个用法。1.加边框原始的TextView控件不太美观,我们要可以美化一下,比如加各种形状的边框如下 方法:自己写一个ShapeDrawable的资源文件,放到drawable文件夹下,然后将TextView将blackgroung 设置位这个资源即可。 shapeD原创 2016-03-18 13:31:44 · 956 阅读 · 0 评论 -
Activity与Service通信
参考文章: http://www.runoob.com/w3cnote/android-tutorial-service-2.html http://blog.csdn.net/xiaanming/article/details/9750689假如我们启动的是一个下载 的后台Service,而我们想知道Service中下载任务的进度!那么这肯定是需要Service 与Activity进行通信的,转载 2016-03-30 17:49:59 · 321 阅读 · 0 评论 -
AlarmManager实现后台轮询机制
实际开发中总会遇到定时任务,比如后台轮询,就是每间隔一段时间就请求一次服务器,确认客户端状态或者进行信息更新等,基本方法有以下几种:1.使用Timer和Timer Task实现 缺点:这种方法不适合长期的后台任务,CPU一旦休眠,Timer中的定时任务就无法运行。2.开一个Service服务,在Thread里面以while循环来实现 缺点:Service优先级比较低,当系统觉得当前的资源非常有限原创 2016-03-31 10:38:07 · 1831 阅读 · 0 评论 -
BroadcastReceiver简单学习
1.动态注册广播接受者就是在java中指定IntentFilter,然后添加不同的Action即可,想监听什么广播就写什么Action。要注意的是 动态注册广播,一定要调用unregisterReceiver()。2.静态注册广播接受者动态注册需要程序启动后才能接收广播,静态广播就弥补了这个短板,在AndroidManifest中定制就可以让程序在未启动的情况下接收到广播了。示例代码:MyRece原创 2016-03-31 14:23:45 · 327 阅读 · 0 评论 -
本地广播
Android中给我们提供了本地广播的机制,使用该机制发出的广播只会在APP内部传播,而且 广播接收者也只能收到本应用发出的广播!1.注意事项本地广播无法通过静态注册来接收,相比系统全局广播更加高效!在广播中启动Activity的话需要为intent加入FLAG_ACTIVITY_NEW _TAG的标记,不然会报错。广播中弹出AlertDialog的话,需要设置对话框的类型为TYPE_SYST转载 2016-03-31 16:09:28 · 397 阅读 · 0 评论 -
系统Intent集合
直接贴过来方便查看/===============================================================//1.拨打电话// 给移动客服10086拨打电话Uri uri = Uri.parse("tel:10086");Intent intent = new Intent(Intent.ACTION_DIAL, uri);startActivity转载 2016-03-31 17:11:46 · 489 阅读 · 0 评论 -
Fragment动态加载
项目中用静态加载的时候不多,所以懒得写他了,直接写动态加载的内容。1.是用App包下的Fragment还是v4包下的:首先,Fragment、FragmentManager、FragmentTransaction必须统一,要用App包下的,都用App包下的,要用v4包下的都用v4包下的,否则会出错。Fragment是Android 3.0(API 11)后引入的,如果要求3.0以下手机也能正常运原创 2016-04-01 17:55:45 · 170 阅读 · 0 评论 -
Android Studio集成百度推送遇到的坑
之前做过友盟推送,感觉挺简单的,因此做百度推送的时候也没当回事,结果悲剧了!!! 看过文档之后,也挺失望,现在都用AS了,百度推送官网却还是只针对eclipse集成的文档,因此看了文档之后,又进行了一番度娘,以下进行重点总结: 1.首先需要在百度推送官网创建应用,并启用推送功能,如下图。 2.在配置详情页中,扫描二维码或者点击下载SDK,可以下载对应包名的demo。 3.下载demo后,可以原创 2016-12-07 15:48:26 · 4502 阅读 · 2 评论