android随笔
android_☀
要越来越强大,加油☀
展开
-
安卓开发EditText禁止中文输入
首先在strings.xml 文件加入此字符串<string name="rule_text">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&</string>其次在布局文件里引用即可android:digits=原创 2017-07-31 19:38:16 · 4089 阅读 · 0 评论 -
回顾handler消息机制过程
简单介绍:1、MessageQueue(消息队列):单链表的数据结构来存储消息列表(存储单元) 作用: 插入:enqueueMessage(插入一条消息) 读取:next(读取该消息并从队列中移除该消息)此方法无限循环等新消息来从单链表移除2、Looper(消息循环):无限循环监听是否有新消息,有就处理消息,没有一直等待着3、Thread原创 2018-04-19 11:51:37 · 185 阅读 · 0 评论 -
EventBus替代Intent传递复杂数据
1、很多人都在 onStop里面post过去,可能会影响内存泄漏,那样可能要对导致内存泄漏的对象做处理。 @Override protected void onStop() { super.onStop(); EventBus.getDefault().post(new ReplyDetailEvent()); }2、通过EventB...原创 2018-04-24 11:58:51 · 3540 阅读 · 2 评论 -
galleryfinal框架截取图片旋转或者闪退
安卓开发用galleryfinal框架的小伙伴在跳转截取图片时旋转问题或者闪退,ExifInterface only supports saving attributes on JPEG formats.android.media.ExifInterface.saveAttributes(ExifInterface.java:1788)其实原因出在CropUtil类中异常捕获那里 public原创 2018-04-26 10:51:49 · 666 阅读 · 1 评论 -
安卓开发中线程池ThreadPoolExecutor的总结
线程池的优点: 1、复用线程池中的线程,避免创建销毁的性能开销 2、有效控制线程池的最大并发数 3、能有效的管理线程 4、可定时执行且指定间隔循环执行ThreadPoolExecutor:线程池的真正实现类。谷歌推荐使用 Executors 的工厂方法来创建线程池(下面线程池的分类有说到) ThreadPoolExecu...原创 2018-05-19 15:56:12 · 421 阅读 · 0 评论 -
AsyncTask的简单总结
1、必须在主线程中创建 2、execute方法必须在UI线程调用 3、不要在程序中直接调用onPreExecute()、等 4、一个AsynsTask只能执行一次,即只能调用一次execute方法,否则出现运行时异常 5、AsyncTask < Integer, Integer, Void > :三个泛型的参数分别代表(不使用时可用Void代替):"执行任务输入的参数","后...原创 2018-05-14 16:39:09 · 195 阅读 · 0 评论 -
IntentService的简单实用
1、是Service的子类 2、任务结束时自动停止服务 代码/***服务**/public class MyIntentService extends IntentService { public static final String TAG = &quot;MyIntentService&quot;; public LocalIntentService() { sup...原创 2018-05-16 16:25:18 · 206 阅读 · 0 评论 -
关于安卓开发调试华为手机时有些手机不能看到相关的Log问题
进入拨号:输入 ##2846579## 进入工程菜单—后台设置—-LOG设置—LOG开关 把几个复选框都勾选,这样也可以显示log。原创 2018-06-29 17:00:53 · 428 阅读 · 0 评论 -
安卓开发之android studio的升级Gradle版本相关总结
1、先看自己的gradle版本。如下图是4.8的,如果你们要更新可以去官网看看最新的版本http://services.gradle.org/distributions/ 2、更新完后去看看修改Android Plugin Version,两种方式:1)直接在项目build.gradle查看更改。2)file-&amp;amp;gt;Project Structure-&amp;amp;gt;Project去手动更改。1)...原创 2018-08-09 12:04:49 · 660 阅读 · 0 评论 -
安卓开发之gradle应用(一)
**简单介绍** 1、项目中的build.gradle文件, 根目录的build.gradle文件和各模块下都会有一个build.gradle文件,例如刚创建的项目,根目录自带一个,以及app模块下面分别如下图: 2、由于我习惯是在android菜单下开发,所以切换到android下面是这样的。如下图: **进入正题**1、首先看根目录的build.g...原创 2018-08-11 19:40:59 · 1055 阅读 · 0 评论 -
EditText的setFocusable(false)之后再setFocusable(true)没反应处理
在设置完setFocusable(false)之后又想设置回来则加上以下代码即可; et.setFocusable(true); et.setFocusableInTouchMode(true); et.requestFocus(); //调用软键盘//Utils.openKeybord(et, mContext); InputMethodManager imm = (InputMetho原创 2017-12-19 16:26:36 · 4957 阅读 · 0 评论 -
okhttp网络框架的封装实用
1、封装一个公用的okhttpclient2、封装一个通用的请求创建类CommonRequest3、封装一个通用的响应解析类JsonCommonRequest原创 2017-08-09 11:49:29 · 235 阅读 · 0 评论 -
安卓开发之EventBus的使用分享以及例子源码
开头: 如下图就是最后的效果 在第一个界面,内容什么都没有,点击更换英雄到第二个界面输入要发送的消息数据去更新第一个界面即可。(平时我们开发中更改某个用户的信息返回来要马上更新数据可用到…)例子介绍:1,先添加EventBus依赖,如下图,在builde.gradle 里的dependencies添加compile 'org.greenrobot:eventbus:3.0.0' 之后在Snyc原创 2017-08-10 12:54:39 · 351 阅读 · 0 评论 -
okhttp网络框架的使用get和post请求
首先引入okhttp网络框架,很简单如图:在app项目中的build.gradle里的dependencies 里添加compile ‘com.squareup.okhttp3:okhttp:3.2.0’ 这句代码依赖。 然后点击Sync Now即可使用。Get请求(主要获取数据)//构造request对象 Request request = new Request.Builder().ge原创 2017-08-04 17:52:26 · 510 阅读 · 0 评论 -
文章标题
关于http协议(简单了解)客户端向服务器发送一条http请求,服务器收到请求之后返回数据给客户端,然后对返回的数据进行解析后在做相对应的处理。发送http的方式以前android发送http请求的方式有两种:HttpURLConnection 和 HttpClient ,之后由于HttpClient 的Api数量太多,在Android6.0系统把他完全移除了,代表正式弃用此方法。所以下面只说Ht原创 2017-07-28 10:54:39 · 242 阅读 · 0 评论 -
文章标题
对于 ViewGroup 来说,可重写如下三个方法:// 拦截事件,事件拦截的核心方法(返回true,拦截,调用onTouchEvent方法) @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return super.onInterceptTouchEvent(ev); } // 处理事件(返回fal原创 2017-07-29 10:25:23 · 212 阅读 · 0 评论 -
关于EditText、AutoCompleteTextView类似这类控件的简单输入限制
**要求**:假如你希望在EditText中只能输入数字并且还要有相对应的字符。例如输入:1.2.3 (version_name输入)**处理**//EditText控件需要初始化EditText et_version_name;//我们只需要一行代码(此时EditText只能输入括号里面的字符,即"数字"和".") et_versi原创 2017-09-26 16:46:35 · 421 阅读 · 0 评论 -
安卓开发之简单动态设置TextView大小SP或者DP
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);// 12 sptextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12); //12 dp原创 2017-09-30 11:35:29 · 3404 阅读 · 0 评论 -
android开发之改变TextView部分字体的颜色和大小工具类
本人封装的一个工具类,可对textview中的部分字体修改颜色和大小。希望对大家有所帮助! 有四个构造方法,可以改变字体大小和颜色或者默认TextView本身的颜色大小都可以!! 代码中都写又详细的注释!下面是截图效果: 1、一开始我封装的方法调用是这样的,看起来有点冗余!然后我对他二次封装! /** *直接调用 */ SpannableStringBuilder原创 2017-11-01 17:39:17 · 954 阅读 · 1 评论 -
ScrollView加载里面的数据出现下滑(可能是焦点问题)
在ScrollView中重写 @Override protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) { return 0; }原创 2017-12-21 20:28:36 · 326 阅读 · 0 评论 -
屏幕适配相关基础知识总结
屏幕尺寸手机对角线的物理尺寸单位:英寸(inch),1英寸=2.54cm屏幕分辨率手机在横向、纵向上的像素点数总和单位:px(pixel),1px=1像素点提示:一般描述成屏幕的"宽x高”=AxB:屏幕在横向方向(宽度)上有A个像素点,在纵向方向(高)有B个像素点例子:1080x1920,即宽度方向上有1080个像素点,在高度方向上有1920个像素点屏幕像素密度每英寸的像素点数...原创 2019-07-17 17:36:59 · 194 阅读 · 0 评论