- 博客(34)
- 收藏
- 关注
原创 Android换肤初探(一)
android换肤:主要是将资源文件,包括R.drawable.xx,R.mipamap.xx,R.color.xx更换为皮肤包中的资源。Android中对控件的资源设置,如下一个简单例子: btnSettings.setImageDrawable(SkinResources.getInstance().getDrawable(R.drawable.btn_setting_bg));
2017-12-29 10:18:04
311
原创 如何控制线程并发数,如何使用信号池和线程池?
如何控制线程并发数(1)如果我们想要控制同步问题,我们可以有很多种解决办法,最常见的一种是使用synchronized关键字,相当于一个进入之后锁住,然后出来之后解锁。一个一个进出。 (2)如果我们想要控制线程并发数为5,可以有5个线程同时执行该如何做? 在java中我们使用信号池Semaphore 在Android中使用线程池Executor来设定。可以使用android已封装的API,也可
2017-09-18 18:05:54
1400
1
原创 多线程间通信的方法
由于多线程的并发性,没有特定的顺序关系,所以线程间的通信显得复杂和重要。举例说明: 线程A操作成员变量的值,线程B、线程C需要在线程A操作完成之后在执行。 private int count = 0; Thread threadA = new Thread(new Runnable() { @Override public void run() {
2017-09-18 14:47:05
521
原创 handler可能引发内存泄露问题的处理
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // handler拿到消息调用分发消息和处理消息
2017-09-18 13:59:36
454
原创 深入理解handler机制
在Android 中handler的基本用法import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivit
2017-09-15 13:59:55
288
转载 Android多线程机制
问题1)为何需要多线程? 在android中,在主线程中如果耗时太长会出现ANR(android not Responding),也就是看起来很卡; 一些下载图片,下载数据等耗时操作需要在其他线程执行。 一句话:避免应用太卡,需要使用多线程。2)多线程如何实现? 多线程实现方式两种方式: implements Runnable 或 extends Thread3)多线程机制的核心是啥?
2017-09-14 17:55:38
1673
翻译 android studio、git、github之间的关系
关系: android studio作为现阶段android开发的主流开发工具,自带git版本控制工具。github是通过git工具来连接同一研发团队中各组员代码的代码管理平台。(一). 如何使android studio与git建立连接? 下载并安装git,在android studio上配置安装路径并test 注册github账号,在android studio上配置账号密码并test (
2017-09-13 17:42:22
511
原创 新鲜的OkHttp
OkHttp请求分为两种 (1)GET请求 (2)POST请求 (一)OkHttp请求的基本用法 GET请求,实例如下 private void getMsgFromNet() { OkHttpClient client = new OkHttpClient(); try { Request request = new Request.
2016-10-27 13:59:25
364
原创 新接触新探索RecyclerView
(一)RecyclerView基本使用点: (1)设置布局管理器LayoutManager :线性布局,水平或者竖直的 // recycleView.setLayoutManager(new LinearLayoutManager(this)); // recycleView.setLayoutManager(new LinearLayoutManager(this,Li
2016-10-27 13:38:04
496
原创 Scrollview嵌套viewpager时,手动侧滑viewpager出现滑动不够灵敏解决办法
Scrollview嵌套viewpager时,手动侧滑viewpager出现滑动灵敏度不够怎么解决?vp_tabdetail_photo.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {
2016-09-09 14:33:13
321
原创 Scrollview嵌套listView出现listItem.measure(0, 0)报空指针异常原因
Scrollview嵌套listView出现listItem.measure(0, 0)报空指针异常原因解决办法: listItem的条目父布局必须是LinearLayout,如果不是则报此异常。将listItem的父布局改成LinearLayout则一切解决。
2016-07-28 10:53:31
436
原创 小米手机edittext背景框显示为黑色是什么原因?
小米手机edittext背景框显示为黑色是什么原因?问题描述: 一般情况下,我们会将edittext在xml文件中 <EditText android:id="@+id/et_home_search" android:layout_width="0dp" android:layout_height
2016-07-15 21:02:23
3074
原创 动态添加RadioGroup组件的RadioButton出现多选状况解决
动态添加RadioGroup组件的RadioButton出现多选状况解决 (1)使用radiogroup组件时,每个radiobutton必须有一个id,否则会出现多选,不管是xml文件还是动态添加; (2)每一个radiobutton最好不要嵌套任何父布局,父布局直接为radiogroup即可; (3)确保radiobutton的id不会重复,如果是在xml中,则可以直接报错,而在动态添加时
2016-07-14 14:01:35
2706
原创 eclipse打包遇到的manifest文件丢失等问题解决
在打包时,经常遇到的问题如下: (1)manifest文件丢失, (2)打包完成了,可以安装,但是闪退问题 (3)打包不了,出现各种问题。解决思路有三条 1. 在manifest文件中加入这样一句话 android:installLocation="preferExternal"clean一下项目查看project—build automacitical是否勾选,以不勾选的方式打包项目
2016-07-11 15:37:40
1969
原创 当在listview或者viewpager使用adapter填充图片时,使用glide报错问题(tag问题)
当在listview或者viewpager使用adapter填充图片时,使用glide报错问题 为题如下涉及tag问题的报错原代码ImageView iv = new ImageView(mContext);Glide.with(UIUtils.getContext()) .load(DataUrl.imageUrl + topData.get(position))
2016-07-11 15:31:49
1433
原创 scrollerview嵌套listview问题解决
scrollerview嵌套listview问题解决测量listview的高度,解决listview显示不全留白问题自定义listview使用liearLayout代替listviewpackage com.fcuser.utils;import android.view.View;import android.view.ViewGroup;import android.widget.L
2016-07-08 12:56:10
555
原创 String类
String类的特点 1)长度不可改变 2)一个“abd”,是一个对象 3)String s1 = “abc”; String s2 = new String(“abc”); //s1和s2的区别:s1在内存中有一个对象,s2在内存中有两个对象。 4)System.out.println(s1.equals(s2)); 结果为true //String覆写了equals方法,用
2015-11-07 00:39:11
285
原创 Properties类
Properties类 1. 基本认识: 1)是hashTable的子类,具备了map集合的特点; 2)存储的键值对都是字符串,不需要泛型; 3)是集合中和IO技术相结合的集合容器; 4)该对象的特点:可以用于键值对形式的配置文件。设置和获取元素方法 1)setProperty(key,value):设置键和值 2)getProperty(key):根据键,取得相对应的值 3)s
2015-11-07 00:28:06
266
原创 File类
File类基本方法: 1. 创建 boolean createNewFile():在指定位置创建文件,如果该文件存在,则不创建,返回false boolean mkdir():创建文件夹 boolean mkdirs():创建多级文件夹 2. 删除 boolean delete():删除失败返回false,如果文件正在使用,则删除不了返回false void deleteOnExit(
2015-11-07 00:23:00
293
原创 JDK1.5新特性
JDK1.5之后出现的新特性主要从以下三个方法提高: 提高效率、简化书写、提高安全性增强for循环 1)格式:for(数据类型 元素名:被遍历的集合Collection或数组) 2)遍历集合中元素 2.1)for循环对集合进行遍历:只能获取集合元素,不能对集合进行操作 2.2)迭代器除了遍历,还可以进行remove集合中元素的操作;如果用ListIterator,还可以在遍历过程中对集合元
2015-11-07 00:12:16
290
原创 Arrays数组工具类
Arrays类主要作用是什么? 是操作数组的工具类,方法都是静态的 其中:toString():将数组变成字符串形式输出。重要方法有 1. 将数组转化为集合asList() 1)好处: 可以使用集合的思想和方法操作数组中的元素,contains(),get(),indexOf(),subList() 2)注意: 将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的。add
2015-11-07 00:05:42
321
原创 Collections集合工具类
Collections作为集合的工具类,提供了哪些比较好的方法? 下面一一进行介绍 1. 排序方法 1)sort(List list)按照自然顺序排序 2)sort(List list , Comparator)按照指定比较器排序 3)可以对相同元素进行排序,因为序列号不一样。 4)此方法只限定用于List集合,而不用于Set集合,因为Set有TreeSet可以排序示例1:自然排序imp
2015-11-06 23:52:04
344
原创 泛型--
泛型是什么?有什么好处?泛型:JDK1.5以后出现的新特性,用于解决安全问题,是一个类型安全机制 好处: 1)将运行时期出现问题ClassCastException,转移到了编译时期,方便程序员解决问题; 2)避免了强制转型的麻烦。(一)泛型常用于哪些地方? 1.1 集合类中示例1:class GenericDemo1{ public static void main(Stri
2015-11-06 23:35:58
290
原创 黑马程序员-Collection集合
——- android培训、java培训、期待与您交流! ———-问题: 集合用来干什么?和数组有什么区别?1)集合和数组都是装盛一组对象的容器。 2)不同点:集合长度是可变,数组长度是指定的;集合可以装不同类型的对象,数组只可以装同一类型的对象。 集合是可以存储Object类型的任意对象,而数组一般用来装基本数据类型的容器。(一)集合的框架Collection是集合的最大基类。 Collec
2015-10-18 00:48:55
326
原创 黑马程序员-Map集合部分
——- android培训、java培训、期待与您交流! ———-Map集合,与Collection集合的不同?Map集合主要用来存放键-值对的,把键-值这一对映射存放进去。(一)Map集合的常用方法:1)put(key,alue) putAll()添加 添加元素,当添加两个相同的键,后来的将覆盖原有值,并put(key,value)返回被覆盖的值。 2)clear清空集合 remove(k
2015-10-18 00:42:42
353
原创 黑马程序员-网络编程
问题: 集合用来干什么?和数组有什么区别? 1)集合和数组都是装盛一组对象的容器。 2)不同点:集合长度是可变,数组长度是指定的;集合可以装不同类型的对象,数组只可以装同一类型的对象。 集合是可以存储Object类型的任意对象,而数组一般用来装基本数据类型的容器。(一)集合的框架 Collection是集合的最大基类。 Collection有两个常用子类 (1)List:存放有序对
2015-10-15 11:58:03
399
原创 黑马程序员-hashCode()的作用
——- android培训、java培训、期待与您交流! ———-问题:hashCode()在对象比较时很常用,那么它的作用究竟是什么? 1)利用哈希算法,提高了查找效率。 2)hashCode必须在哈希集合中才有用。 3)防止内存泄露。对象不用了,但是他没有被释放掉,一直占用内存。看下面实例1:定义已知类ReflectPointclass ReflectPoint{ private
2015-10-14 22:25:08
564
原创 黑马程序员-反射机制
——- android培训、java培训、期待与您交流! ———-问题1: Class类是什么?有什么作用?Class类是所有类的基类,是每一个类放在内存中的字节码。 通过Class类可以知道,每一个类中的所有组成部分。包括类中属性,该类的构造函数,该类所拥有的方法等内容。问题2:如何获得一个类的Class类的字节码实例对象,三种方法(以Person类为例):1)Class cls1 = Pers
2015-10-14 13:37:06
486
原创 黑马程序员-用IO流复制文本文件、图片文件、歌词文件举例
——- android培训、java培训、期待与您交流! ———-说起IO流,即两大类:字符流和字节流字符流和字节流的区别,二者各用在什么场合? 1)字符流主要是处理文本文件,此类的好处是避免了由于文字编码不同造成的乱码问题,所以一般对于文本文件,大多选择此类流来输入和输出 2)字节流实际上可以用在任何场合,像其他图片、视频、音乐等二进制流文件,用字符流容易出错的,通常使用字节流操作。 3)在
2015-10-13 23:09:24
693
原创 黑马程序员-单例设计模式:“饿汉式”和“懒汉式”
——- android培训、java培训、期待与您交流! ———-为什么要使用单例模式,有什么优点? 单例模式是基于考虑到产生对象太多,会造成内存浪费而实现的一种模式。 根据是否需要延迟加载,又分为“饿汉式”和“懒汉式”。(一)饿汉式class Single{ private static Single instance = new Single(); private Sing
2015-10-13 10:37:01
421
原创 黑马程序员-多线程部分(三.等待唤醒机制)
对于操作同一资源的不同行为,该如何解决? 思路:因为两个线程操作的是同一资源,为避免出现数据安全问题,必须实现同步,且设置的同步锁对象一致,由于是两个线程的两种行为,可以将资源类名.class作为同步锁传入。例子一:一边输入姓名和性别,一边输出。 定义资源类,包括姓名,性别,两个属性。class Resource{ String name; String sex;}输入
2015-10-12 22:32:09
376
原创 黑马程序员-多线程部分(二.线程同步)
我们知道,多线程带来了方便,但同时也出现数据安全问题。 看如下买票的例子:class Test implements Runnable{ private int ticket = 500; public void run() { while(true) { if(ticket>0) {
2015-10-12 18:36:36
555
原创 黑马程序员-多线程部分(一.创建)
学习多线程之前,我们首先需要知道为什么要学习多线程?首先需要明确以下三点内容: 第一点: 什么是进程?什么是线程? 任何一个应用程序开启后都是一个进程,进程是由window/linux系统启动的。线程是进程开启后运行的操作控制单元,或者称为执行路径, 一个进程至少有一个线程。对于任何一个java程序,实际上开启的是两个线程,一个是main顺序执行的顺序线程,一个是系统自带的gc垃圾回收线程。这样
2015-10-11 14:02:41
483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人